cifs: redefine NUM_SUBAUTH constant from 5 to 15
According to several places on the Internet and the samba winbind code, this is hard limited to 15 in windows, not 5. This does balloon out the allocation of each by 40 bytes, but I don't see any alternative. Also, rename it to SID_MAX_SUB_AUTHORITIES to match the alleged name of this constant in the windows header files Finally, rename SIDLEN to SID_STRING_MAX, fix the value to reflect the change to SID_MAX_SUB_AUTHORITIES and document how it was determined. Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com> Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <smfrench@gmail.com>
Bu işleme şunda yer alıyor:

işlemeyi yapan:
Steve French

ebeveyn
36f87ee70f
işleme
30c9d6cca5
@@ -280,7 +280,7 @@ cifs_copy_sid(struct cifs_sid *dst, const struct cifs_sid *src)
|
||||
int i;
|
||||
|
||||
dst->revision = src->revision;
|
||||
dst->num_subauth = min_t(u8, src->num_subauth, NUM_SUBAUTHS);
|
||||
dst->num_subauth = min_t(u8, src->num_subauth, SID_MAX_SUB_AUTHORITIES);
|
||||
for (i = 0; i < NUM_AUTHS; ++i)
|
||||
dst->authority[i] = src->authority[i];
|
||||
for (i = 0; i < dst->num_subauth; ++i)
|
||||
@@ -383,7 +383,7 @@ id_to_sid(unsigned long cid, uint sidtype, struct cifs_sid *ssid)
|
||||
if (!npsidid)
|
||||
return -ENOMEM;
|
||||
|
||||
npsidid->sidstr = kmalloc(SIDLEN, GFP_KERNEL);
|
||||
npsidid->sidstr = kmalloc(SID_STRING_MAX, GFP_KERNEL);
|
||||
if (!npsidid->sidstr) {
|
||||
kfree(npsidid);
|
||||
return -ENOMEM;
|
||||
@@ -500,7 +500,7 @@ sid_to_id(struct cifs_sb_info *cifs_sb, struct cifs_sid *psid,
|
||||
if (!npsidid)
|
||||
return -ENOMEM;
|
||||
|
||||
npsidid->sidstr = kmalloc(SIDLEN, GFP_KERNEL);
|
||||
npsidid->sidstr = kmalloc(SID_STRING_MAX, GFP_KERNEL);
|
||||
if (!npsidid->sidstr) {
|
||||
kfree(npsidid);
|
||||
return -ENOMEM;
|
||||
|
Yeni konuda referans
Bir kullanıcı engelle