staging: lustre: validate size in lustre_posix_acl_xattr_filter()
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 22 Oct 2014 08:11:39 +0000 (11:11 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Oct 2014 08:33:11 +0000 (16:33 +0800)
commit85bcfab46955e6f4bcfd08ffb989f941e003da2a
treed7f0a4de0d323ebb6860f6e03dcc20af92b725c4
parent31e7213ab21e2c251a61a13fca4c9548f1f875fd
staging: lustre: validate size in lustre_posix_acl_xattr_filter()

This is mostly to silence static checker complaints.

In theory the problem here is that if size is in the 1-3 range then we
don't allocate enough memory for the posix_acl_xattr_header struct and
it results in memory corruption.  But in reality kmalloc() return values
are aligned at sizeof(long) so corrupting this small amount of data is
not harmful.

The "size" variable should be type size_t.  The value of size is checked
in setxattr() so we know it is a number between "0 - XATTR_SIZE_MAX".
There is no need to check for negative sizes.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/lustre/lustre/include/lustre_eacl.h
drivers/staging/lustre/lustre/obdclass/acl.c