[PATCH 4.14 52/85] selinux: Fix error return code in sel_ib_pkey_sid_slow()

From: Greg Kroah-Hartman
Date: Tue Nov 17 2020 - 09:00:27 EST


From: Chen Zhou <chenzhou10@xxxxxxxxxx>

commit c350f8bea271782e2733419bd2ab9bf4ec2051ef upstream.

Fix to return a negative error code from the error handling case
instead of 0 in function sel_ib_pkey_sid_slow(), as done elsewhere
in this function.

Cc: stable@xxxxxxxxxxxxxxx
Fixes: 409dcf31538a ("selinux: Add a cache for quicker retreival of PKey SIDs")
Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
Signed-off-by: Chen Zhou <chenzhou10@xxxxxxxxxx>
Signed-off-by: Paul Moore <paul@xxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
security/selinux/ibpkey.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

--- a/security/selinux/ibpkey.c
+++ b/security/selinux/ibpkey.c
@@ -160,8 +160,10 @@ static int sel_ib_pkey_sid_slow(u64 subn
* is valid, it just won't be added to the cache.
*/
new = kzalloc(sizeof(*new), GFP_ATOMIC);
- if (!new)
+ if (!new) {
+ ret = -ENOMEM;
goto out;
+ }

new->psec.subnet_prefix = subnet_prefix;
new->psec.pkey = pkey_num;