[linux-cifs-client] Re: cifs on ARM?
Steve French
smfltc at us.ibm.com
Fri Oct 21 20:40:36 GMT 2005
Looking at the smb dumped in your log it looks like endian or alignment
problems but not one that shows up on other big endian architectures.
Are you running arm bigendian or little endian (apparently they can be
configured either way)?
Please turn on smb tracing (or send a binary tcpdump or ethereal trace
file):
echo 1 > /proc/fs/cifs/traceSMB
so I can see what I sent on the wire in the negotiate protocol request
(the response you show from the server looks like it rejected the
offerred dialects - as it might if the server were pre-NT4 - such as
OS/2 or DOS server). Assuming that your server is more recent than
1995, then I expect that what was sent from the client in the SMB
negotiate protocol request (the first SMB) is what we need to look at -
which is why I would like you to turn on the traceSMB setting.
In addition, it would be helpful to reenable the length check (roughly
line 424 of fs/cifs/misc.c) and make it log all the time (cERROR) rather
than only when debug messages (/proc/fs/cifs/cifsFYI) are enabled by
changing the line from:
cFYI(0,
("Entering checkSMB with Length: %x, smb_buf_length: %x ",
length, len));
to
cERROR(1,
("Entering checkSMB with Length: %x, smb_buf_length: %x ",
length, len));
It would not hurt to turn on cifs debugging ("echo 7 >
/proc/fs/cifs/cifsFYI)") before the mount (which will allow more
information to be dumped).
More information about the linux-cifs-client
mailing list