drivers/block/brd.c: fix brd_lookup_page() race
authorBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 24 May 2013 22:55:28 +0000 (15:55 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 24 May 2013 23:22:52 +0000 (16:22 -0700)
commitdfd20b2b174d3a9b258ea3b7a35ead33576587b1
treeafa033d613e8eca4bdaf6f9be2b990318a886b36
parente5ee7305ae03e43dbe2b0e346232975f793ad0eb
drivers/block/brd.c: fix brd_lookup_page() race

The index on the page must be set before it is inserted in the radix
tree.  Otherwise there is a small race which can occur during lookup
where the page can be found with the incorrect index.  This will trigger
the BUG_ON() in brd_lookup_page().

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reported-by: Chris Wedgwood <cw@f00f.org>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/block/brd.c