diff options
| author | Takashi Iwai <tiwai@suse.de> | 2014-12-04 18:25:19 +0100 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-01-08 10:00:49 -0800 |
| commit | 26090b176d22a611d8b0e7526f5aafd78b2f77d7 (patch) | |
| tree | 8ad2c340066ca5142c297fed43df7c013fe55f6e /include/linux/string.h | |
| parent | a3d4f59634f38d5236b182b403df74bbceeac7c9 (diff) | |
KEYS: Fix stale key registration at error path
commit b26bdde5bb27f3f900e25a95e33a0c476c8c2c48 upstream.
When loading encrypted-keys module, if the last check of
aes_get_sizes() in init_encrypted() fails, the driver just returns an
error without unregistering its key type. This results in the stale
entry in the list. In addition to memory leaks, this leads to a kernel
crash when registering a new key type later.
This patch fixes the problem by swapping the calls of aes_get_sizes()
and register_key_type(), and releasing resources properly at the error
paths.
Bugzilla: https://bugzilla.opensuse.org/show_bug.cgi?id=908163
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/string.h')
0 files changed, 0 insertions, 0 deletions
