]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commit - fs/xfs/xfs_dquot.c
xfs: don't wrap ID in xfs_dq_get_next_id
authorEric Sandeen <sandeen@redhat.com>
Tue, 17 Jan 2017 19:43:38 +0000 (11:43 -0800)
committerDarrick J. Wong <darrick.wong@oracle.com>
Tue, 17 Jan 2017 19:43:38 +0000 (11:43 -0800)
commit657bdfb7f5e68ca5e2ed009ab473c429b0d6af85
tree29ed1abcffe747d94c6e26959eed1aaf320c5755
parenta324cbf10a3c67aaa10c9f47f7b5801562925bc2
xfs: don't wrap ID in xfs_dq_get_next_id

The GETNEXTQOTA ioctl takes whatever ID is sent in,
and looks for the next active quota for an user
equal or higher to that ID.

But if we are at the maximum ID and then ask for the "next"
one, we may wrap back to zero.  In this case, userspace
may loop forever, because it will start querying again
at zero.

We'll fix this in userspace as well, but for the kernel,
return -ENOENT if we ask for the next quota ID
past UINT_MAX so the caller knows to stop.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/xfs_dquot.c