Re: [PATCH] cifs: fix bad fids sent over wire

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/20/2022 10:13 PM, ronnie sahlberg wrote:
On Sun, Mar 20, 2022 at 7:24 PM Steve French <smfrench@xxxxxxxxx> wrote:

They probably should be always 'u64' everywhere (not le64) and change
the code back in fs/smbfs_common/smb2pdu.h (was this due to ksmbd
using the file and converting these fields in fs/smbfs_common) rather
than the ones you changed

I agree, they should not be le64 as that implies there is a byteorder
for this field, so u64 seems better.

(Technically, it should probably not even be an integer and instead be
unsigned char[8]
but that seems like overkill.)

So that was my original suggestion. The FID is not an integer at all.
I don't think it's overkill personally.

Tom.

On Sat, Mar 19, 2022 at 11:01 AM Paulo Alcantara <pc@xxxxxx> wrote:

Yes, I agreed. Why not simply store them as le64 and avoid the byteswapping altogether?

On 19 March 2022 09:06:55 GMT-03:00, Tom Talpey <tom@xxxxxxxxxx> wrote:


On 3/19/2022 12:23 AM, Steve French wrote:

Any comments on Paulo's patch? It fixes an endian conversion problem
that can affect file ids used on big endian archs.  I will add cc:
stable

https://git.cjr.nz/linux.git/commit/?h=cifs-bad-fid-fixes&id=a857bb6b15646a7946fafb281878ddf498107dc3


It seems a bad idea to be storing opaque fields in le64 integers, then
byteswapping them when they go back on the wire. Wouldn't it be better
to make them u8[8] arrays and just use memcpy/memcmp?

Tom.



--
Thanks,

Steve




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux