From: Nikanth Karthikesan Date: Wed, 10 Jun 2009 19:57:06 +0000 (-0700) Subject: block: prevent possible io_context->refcount overflow X-Git-Tag: v2.6.31-rc1~389^2~4 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d9c7d394a8ebacb60097b192939ae9f15235225e;p=pandora-kernel.git 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 Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe --- Reading git-diff-tree failed