[linux-cifs-client] cifs causes alignment traps on ARM!

Steven Scholz steven.scholz at imc-berlin.de
Fri Jun 23 14:48:16 GMT 2006


Hi,

it seems that cifs is doing missaligned accesses and thus causing alignment
traps on ARM cpus.

Just to remember: since ARM9 is 32bit and cannot easily do unaligned
accesses we introduced the __attribute__((packed)) for structures that are
passed over the network.

But there still seems to be problems.

~ # mount -t cifs //10.0.2.10/test /mnt/intern -o user=foobar
~ # cat /proc/cpu/alignment
User:           0
System:         12
Skipped:        0
Half:           12
Word:           0
Multi:          0
User faults:    0 (ignored)

And BTW when trying to mount a windows share with password I get

 fs/cifs/inode.c: Getting info on
 fs/cifs/transport.c: For smb_command 50
 fs/cifs/transport.c: Sending smb of length 74
 fs/cifs/connect.c: rfc1002 length 0x27)
 fs/cifs/connect.c: invalid transact2 word count
Status code returned 0xc0000022 NT_STATUS_ACCESS_DENIED

Maybe this "invalid transact2 word count" is still a problem of unaligned
data accesses ...

-- 
Steven


More information about the linux-cifs-client mailing list