From b07c3d72ff27e1818e3c1a38466d027d04a54e04 Mon Sep 17 00:00:00 2001 From: Jeff Layton Date: Wed, 7 Nov 2012 10:19:16 -0500 Subject: setcifsacl: fix up endianness conversions Don't use htole32 when you really want le32toh. Also, when copying or comparing ACEs, it's incorrect to convert the endianness of these fields. Let's just keep things simple and declare that multibyte fields in all of these structs are always kept in little-endian. Signed-off-by: Jeff Layton --- setcifsacl.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/setcifsacl.c b/setcifsacl.c index 612796b..86dca9d 100644 --- a/setcifsacl.c +++ b/setcifsacl.c @@ -61,9 +61,9 @@ copy_sec_desc(const struct cifs_ntsd *pntsd, struct cifs_ntsd *pnntsd, struct cifs_ctrl_acl *dacl_ptr, *ndacl_ptr; /* copy security descriptor control portion */ - osidsoffset = htole32(pntsd->osidoffset); - gsidsoffset = htole32(pntsd->gsidoffset); - dacloffset = htole32(pntsd->dacloffset); + osidsoffset = le32toh(pntsd->osidoffset); + gsidsoffset = le32toh(pntsd->gsidoffset); + dacloffset = le32toh(pntsd->dacloffset); pnntsd->revision = pntsd->revision; pnntsd->type = pntsd->type; @@ -110,7 +110,7 @@ copy_ace(struct cifs_ace *dace, struct cifs_ace *sace) dace->type = sace->type; dace->flags = sace->flags; - dace->access_req = htole32(sace->access_req); + dace->access_req = sace->access_req; dace->sid.revision = sace->sid.revision; dace->sid.num_subauth = sace->sid.num_subauth; @@ -119,9 +119,9 @@ copy_ace(struct cifs_ace *dace, struct cifs_ace *sace) for (i = 0; i < sace->sid.num_subauth; i++) dace->sid.sub_auth[i] = sace->sid.sub_auth[i]; - dace->size = htole16(sace->size); + dace->size = sace->size; - return dace->size; + return le16toh(dace->size); } static int @@ -155,7 +155,7 @@ compare_aces(struct cifs_ace *sace, struct cifs_ace *dace, int compflags) } if (compflags & COMPMASK) { - if (dace->access_req != htole32(sace->access_req)) + if (dace->access_req != sace->access_req) return 0; } -- cgit v1.2.3