2020-11-12 08:53:02

by chenzhou

[permalink] [raw]
Subject: [PATCH] selinux: Fix error return code in sel_ib_pkey_sid_slow()

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.

Fixes: 409dcf31538a ("selinux: Add a cache for quicker retreival of PKey SIDs")
Reported-by: Hulk Robot <[email protected]>
Signed-off-by: Chen Zhou <[email protected]>
---
security/selinux/ibpkey.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/security/selinux/ibpkey.c b/security/selinux/ibpkey.c
index f68a7617cfb9..680b2dd1520f 100644
--- a/security/selinux/ibpkey.c
+++ b/security/selinux/ibpkey.c
@@ -151,8 +151,10 @@ static int sel_ib_pkey_sid_slow(u64 subnet_prefix, u16 pkey_num, u32 *sid)
* is valid, it just won't be added to the cache.
*/
new = kzalloc(sizeof(*new), GFP_ATOMIC);
- if (!new)
+ if (IS_ERR(new)) {
+ ret = PTR_ERR(new);
goto out;
+ }

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


2020-11-12 13:26:54

by chenzhou

[permalink] [raw]
Subject: Re: [PATCH] selinux: Fix error return code in sel_ib_pkey_sid_slow()



On 2020/11/12 16:55, Chen Zhou wrote:
> 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.
>
> Fixes: 409dcf31538a ("selinux: Add a cache for quicker retreival of PKey SIDs")
> Reported-by: Hulk Robot <[email protected]>
> Signed-off-by: Chen Zhou <[email protected]>
> ---
> security/selinux/ibpkey.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/security/selinux/ibpkey.c b/security/selinux/ibpkey.c
> index f68a7617cfb9..680b2dd1520f 100644
> --- a/security/selinux/ibpkey.c
> +++ b/security/selinux/ibpkey.c
> @@ -151,8 +151,10 @@ static int sel_ib_pkey_sid_slow(u64 subnet_prefix, u16 pkey_num, u32 *sid)
> * is valid, it just won't be added to the cache.
> */
> new = kzalloc(sizeof(*new), GFP_ATOMIC);
> - if (!new)
> + if (IS_ERR(new)) {
> + ret = PTR_ERR(new);
> goto out;
> + }
>
> new->psec.subnet_prefix = subnet_prefix;
> new->psec.pkey = pkey_num;
Ignore this, will send v2.