[patch 2/2] staging: lustre: validate size in ll_setxattr()
Drokin, Oleg
oleg.drokin at intel.com
Wed Oct 22 13:53:15 UTC 2014
Hello!
On Oct 22, 2014, at 6:32 AM, Dan Carpenter wrote:
>> In that case, size == 0 seems to be the wrong value size for an lov param
>> as well.
> I don't know about this. The code is very clear that size == 0 is
> acceptable inside the if statement. Oleg?
I am not sure what if statement do you mean?
If it's the "if ((strncmp(name, XATTR_TRUSTED_PREFIX," one then size of 0
does seem to be incorrect:
struct lov_user_md *lump = (struct lov_user_md *)value;
// (I hope this is not a user pointer?)
…
if (lump != NULL && lump->lmm_stripe_offset == 0)
lump->lmm_stripe_offset = -1;
// So, if lump is 0, we are already accessing past allowed range
…
int lum_size = (lump->lmm_magic == LOV_USER_MAGIC_V1) ?
and again…
Bye,
Oleg
More information about the devel
mailing list