summaryrefslogtreecommitdiffstats
path: root/fs/bio.c
diff options
context:
space:
mode:
authorNikanth Karthikesan <knikanth@novell.com>2009-06-10 12:57:06 -0700
committerJens Axboe <jens.axboe@oracle.com>2009-06-10 23:07:15 +0200
commitd9c7d394a8ebacb60097b192939ae9f15235225e (patch)
tree4fbf9c7677acb03c23d05faba1a4b0bcfb6702b4 /fs/bio.c
parent1d589bb16b825b3a7b4edd34d997f1f1f953033d (diff)
downloadlinux-d9c7d394a8ebacb60097b192939ae9f15235225e.tar.gz
linux-d9c7d394a8ebacb60097b192939ae9f15235225e.tar.bz2
linux-d9c7d394a8ebacb60097b192939ae9f15235225e.zip
block: prevent possible io_context->refcount overflow
Currently io_context has an atomic_t(32-bit) as refcount. In the case of cfq, for each device against whcih a task does I/O, a reference to the io_context would be taken. And when there are multiple process sharing io_contexts(CLONE_IO) would also have a reference to the same io_context. Theoretically the possible maximum number of processes sharing the same io_context + the number of disks/cfq_data referring to the same io_context can overflow the 32-bit counter on a very high-end machine. Even though it is an improbable case, let us make it atomic_long_t. Signed-off-by: Nikanth Karthikesan <knikanth@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'fs/bio.c')
0 files changed, 0 insertions, 0 deletions