linux-hardened/fs/quota
Jan Kara 7e08da50cf quota: Fix maximum quota limit settings
Currently quota format that supports 64-bit usage sets maximum quota
limit as 2^64-1. However quota core code uses signed numbers to track
usage and even limits themselves are stored in long long. Checking of
maximum allowable limits worked by luck until commit 14bf61ffe6
(quota: Switch ->get_dqblk() and ->set_dqblk() to use bytes as space
units) because variable we compared with was unsigned. After that commit
the type we compared against changed to signed and thus checks for
maximum limits with the newest VFS quota format started to refuse any
non-negative value. Later the problem was inadvertedly fixed by commit
b10a08194c (quota: Store maximum space limit in bytes) because we
started to compare against unsigned type as well.

Fix possible future problems of this kind by setting maximum limits to
2^63-1 to avoid overflow issues.

Reported-by: Carlos Carvalho <carlos@fisica.ufpr.br>
Signed-off-by: Jan Kara <jack@suse.cz>
2015-03-04 16:42:46 +01:00
..
compat.c quota: split out compat_sys_quotactl support from quota.c 2010-03-05 00:20:25 +01:00
dquot.c quota: optimize i_dquot access 2015-03-04 16:42:44 +01:00
Kconfig rcu: Make SRCU optional by using CONFIG_SRCU 2015-01-06 11:04:29 -08:00
kqid.c fs/quota: kernel-doc warning fixes 2014-07-15 22:40:23 +02:00
Makefile userns: Implement struct kqid 2012-09-18 01:01:38 -07:00
netlink.c fs/quota: kernel-doc warning fixes 2014-07-15 22:40:23 +02:00
quota.c quota: Remove quota_on_meta callback 2015-01-30 12:51:10 +01:00
quota_tree.c quota: paranoia: check quota tree root 2015-03-04 16:42:45 +01:00
quota_tree.h quota: Change quota error message to print out disk and function name 2010-07-21 16:05:58 +02:00
quota_v1.c quota: Store maximum space limit in bytes 2015-01-30 12:51:21 +01:00
quota_v2.c quota: Fix maximum quota limit settings 2015-03-04 16:42:46 +01:00
quotaio_v1.h
quotaio_v2.h quota: Implement quota format with 64-bit space and inode limits 2009-12-10 15:02:54 +01:00