From: Benjamin LaHaise Date: Mon, 5 Aug 2013 17:21:43 +0000 (-0400) Subject: aio: fix error handling and rcu usage in "convert the ioctx list to table lookup v3" X-Git-Tag: v3.12-rc1~16^2~6 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=da90382c2ec367aac88ff6aa76afb659ee0e4235;p=pandora-kernel.git aio: fix error handling and rcu usage in "convert the ioctx list to table lookup v3" In the patch "aio: convert the ioctx list to table lookup v3", incorrect handling in the ioctx_alloc() error path was introduced that lead to an ioctx being added via ioctx_add_table() while freed when the ioctx_alloc() call returned -EAGAIN due to hitting the aio_max_nr limit. Fix this by only calling ioctx_add_table() as the last step in ioctx_alloc(). Also, several unnecessary rcu_dereference() calls were added that lead to RCU warnings where the system was already protected by a spin lock for accessing mm->ioctx_table. Signed-off-by: Benjamin LaHaise --- Reading git-diff-tree failed