On Thu, Aug 26, 2010 at 09:02:11AM +0200, Arkadiusz Miśkiewicz wrote: > Currently on-disk structure is able to keep only 16bit project quota id, > so disallow 32bit ones. This fixes a problem where part of kernel > structures holding project quota id uses 32bit variable while part > (on-disk) uses 16bit variable which causes project quota member files > to be inaccessible for some operations (like mv/rm). > > Signed-off-by: Arkadiusz Miśkiewicz <arekm@xxxxxxxx> > --- > > Please queue for upcoming 2.6.36 fixes. > > > fs/xfs/linux-2.6/xfs_ioctl.c | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/fs/xfs/linux-2.6/xfs_ioctl.c b/fs/xfs/linux-2.6/xfs_ioctl.c > index 237f5ff..0166226 100644 > --- a/fs/xfs/linux-2.6/xfs_ioctl.c > +++ b/fs/xfs/linux-2.6/xfs_ioctl.c > @@ -906,6 +906,10 @@ xfs_ioctl_setattr( > if (XFS_FORCED_SHUTDOWN(mp)) > return XFS_ERROR(EIO); > > + /* Disallow 32bit project ids that because on-disk structure is 16bit only */ > + if (fa->fsx_projid > (__uint16_t)-1) > + return XFS_ERROR(EINVAL); > + If think that needs to include a (mask & FSX_PROJID) check first. i.e. only validate the projid if it was set by userspace. Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs