[patch 36/51] CIFS: Fix endian conversion of vcnum field

Greg KH
2009-05-14T22:54:46Z

[-- Attachment #1: cifs-fix-endian-conversion-of-vcnum-field.patch --]
[-- Type: text/plain, Size: 1095 bytes --]

2.6.29-stable review patch. If anyone has any objections, please let us know.

------------------

From: Steve French <sfrench@us.ibm.com>

commit 051a2a0d3242b448281376bb63cfa9385e0b6c68 upstream.

When multiply mounting from the same client to the same server, with
different userids, we create a vcnum which should be unique if
possible (this is not the same as the smb uid, which is the handle
to the security context). We were not endian converting additional
(beyond the first which is zero) vcnum properly.

Acked-by: Shirish Pargaonkar <shirishp@us.ibm.com>
Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
fs/cifs/sess.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/fs/cifs/sess.c
+++ b/fs/cifs/sess.c
@@ -111,7 +111,7 @@ static __le16 get_next_vcnum(struct cifs
get_vc_num_exit:
write_unlock(&cifs_tcp_ses_lock);

- return le16_to_cpu(vcnum);
+ return cpu_to_le16(vcnum);
}

static __u32 cifs_ssetup_hdr(struct cifsSesInfo *ses, SESSION_SETUP_ANDX *pSMB)