summaryrefslogtreecommitdiff
path: root/init/Kconfig
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2011-01-25 19:34:28 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2011-01-26 01:58:20 +0300
commitceb73c12047b8d543570b23353e7848eb7c540a1 (patch)
treea637dc88d418be1b705a66bea375af955bd14e22 /init/Kconfig
parentf5c66d70ac2a9016a7ad481bd37e39afd7dd7369 (diff)
downloadlinux-ceb73c12047b8d543570b23353e7848eb7c540a1.tar.xz
KEYS: Fix __key_link_end() quota fixup on error
Fix __key_link_end()'s attempt to fix up the quota if an error occurs. There are two erroneous cases: Firstly, we always decrease the quota if the preallocated replacement keyring needs cleaning up, irrespective of whether or not we should (we may have replaced a pointer rather than adding another pointer). Secondly, we never clean up the quota if we added a pointer without the keyring storage being extended (we allocate multiple pointers at a time, even if we're not going to use them all immediately). We handle this by setting the bottom bit of the preallocation pointer in __key_link_begin() to indicate that the quota needs fixing up, which is then passed to __key_link() (which clears the whole thing) and __key_link_end(). Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'init/Kconfig')
0 files changed, 0 insertions, 0 deletions