diff options
author | Nikanth Karthikesan <knikanth@novell.com> | 2009-06-10 21:57:06 +0200 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2009-06-10 23:07:15 +0200 |
commit | d9c7d394a8ebacb60097b192939ae9f15235225e (patch) | |
tree | 4fbf9c7677acb03c23d05faba1a4b0bcfb6702b4 /fs/bio.c | |
parent | Add serial number support for virtio_blk, V4a (diff) | |
download | linux-d9c7d394a8ebacb60097b192939ae9f15235225e.tar.xz 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