Bug 14569
Summary: | BCC_LE macro in cifspdu.h | ||
---|---|---|---|
Product: | File System | Reporter: | Juro (jurobystricky) |
Component: | CIFS | Assignee: | Jeff Layton (jlayton) |
Status: | RESOLVED DUPLICATE | ||
Severity: | high | CC: | jlayton |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.31 | Subsystem: | |
Regression: | No | Bisected commit-id: |
Description
Juro
2009-11-09 18:16:23 UTC
No objection to fixing it so that it works better on such architectures. Care to offer up a patch or explanation of how you think it should work? (In reply to comment #1) > No objection to fixing it so that it works better on such architectures. Care > to offer up a patch or explanation of how you think it should work? The macro BCC_LE is used in several files, sometimes to read and sometimes to write a 16 bit le value. The best I could come was to split the macro into two macros: #define BCC_LE_GET(smb_var) get_unaligned_le16((char*)smb_var + sizeof(struct smb_hdr)+(2*smb_var->WordCount)) #define BCC_LE_PUT(smb_var) put_unaligned_le16((char*)smb_var + sizeof(struct smb_hdr)+(2*smb_var->WordCount)) and change the files "connect.c","netmisc.c","transport.c" and "sess.c" to use the new macros. It is quite likely there is a better way to do this. If you're still interested in fixing this, could you spin up patches against recent mainline git (or even better, against Steve French's tree). Then please post them to linux-cifs@vger.kernel.org so we can review them. Thanks! |