summaryrefslogtreecommitdiffstats
path: root/arch/sh/Kconfig
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2011-01-25 17:34:28 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2011-01-25 23:58:20 +0100
commitceb73c12047b8d543570b23353e7848eb7c540a1 (patch)
treea637dc88d418be1b705a66bea375af955bd14e22 /arch/sh/Kconfig
parentintel_scu_ipcutils: Fix the license tag (diff)
downloadlinux-ceb73c12047b8d543570b23353e7848eb7c540a1.tar.xz
linux-ceb73c12047b8d543570b23353e7848eb7c540a1.zip
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 'arch/sh/Kconfig')
0 files changed, 0 insertions, 0 deletions