Hide Forgot
Description of problem: xfs_quota allows higher than 32-bit projid to be set simply by overflowing the integer. Version-Release number of selected component (if applicable): xfsprogs-3.1.1-9.el6 How reproducible: Always Steps to Reproduce: 1. Create and mount projid32bit enabled fs mkfs.xfs -i projid32bit=1 /dev/sda2 mount -o pquota /dev/sda2 /media 2. Try setting higher than 32-bit projid with xfs_quota xfs_quota -x -c 'project -s -p /media/file 5123456789' /dev/sda2 3. Check the projid xfs_io -r -c lsproj /media/file Actual results: The xfs_quota command succeeds and xfs_io reports projid to be 828489493 = 5123456789 - 2**32. Expected results: The xfs_quota fails to set the higher than 32-bit projid. Additional info: This is easily reproducible with xfstests test case no. 244 (the last test fails).
This isn't a kernel problem - the ioctl can only pass a 32 bit value. The bug will be in the userspace xfs_quota command, and it looks like it was fixed quite some time ago upstream by commit 272f4db5 ("xfsprogs: validate string -> number conversion"). -Dave.
Ok, the commit dave points at is easily applied & tested, I'm happy to respin it if we do get a blocker approved.
xfsprogs-3.1.1-10.el6 building now w/ this fix.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2013-0481.html