summaryrefslogtreecommitdiffstats
path: root/fs/locks.c
diff options
context:
space:
mode:
authorDave Chinner <dchinner@redhat.com>2010-09-03 12:19:33 +1000
committerDave Chinner <david@fromorbit.com>2010-09-03 12:19:33 +1000
commit72656c46f50b8dfe50e15793692982e636e3df20 (patch)
tree8841c80c9cf5873c915a821e98f3ae09746ec9d8 /fs/locks.c
parent9bc08a45fb117c696e4940cfa1208cb1cc7a2f25 (diff)
xfs: prevent 32bit overflow in space reservation
If we attempt to preallocate more than 2^32 blocks of space in a single syscall, the transaction block reservation will overflow leading to a hangs in the superblock block accounting code. This is trivially reproduced with xfs_io. Fix the problem by capping the allocation reservation to the maximum number of blocks a single xfs_bmapi() call can allocate (2^21 blocks). Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/locks.c')
0 files changed, 0 insertions, 0 deletions