diff mbox series

smackfs: check for allocation failure of kmalloc()

Message ID 20220613062202.29194-1-liqiong@nfschina.com (mailing list archive)
State Handled Elsewhere
Headers show
Series smackfs: check for allocation failure of kmalloc() | expand

Commit Message

Li Qiong June 13, 2022, 6:22 a.m. UTC
As the possible failure of the kmalloc(), it should be better
to check it and print a warning message.

Signed-off-by: Li Qiong <liqiong@nfschina.com>
---
 security/smack/smackfs.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Casey Schaufler June 13, 2022, 2:53 p.m. UTC | #1
On 6/12/2022 11:22 PM, Li Qiong wrote:
> As the possible failure of the kmalloc(), it should be better
> to check it and print a warning message.

The allocation is done with __GFP_NOFAIL, which assures
it will not fail.

>
> Signed-off-by: Li Qiong <liqiong@nfschina.com>
> ---
>   security/smack/smackfs.c | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/security/smack/smackfs.c b/security/smack/smackfs.c
> index 4b58526450d4..0d11ba3cb4cd 100644
> --- a/security/smack/smackfs.c
> +++ b/security/smack/smackfs.c
> @@ -695,6 +695,11 @@ static void smk_cipso_doi(void)
>   		       __func__, __LINE__, rc);
>   
>   	doip = kmalloc(sizeof(struct cipso_v4_doi), GFP_KERNEL | __GFP_NOFAIL);
> +	if (unlikely(!doip)) {
> +		printk(KERN_WARNING "%s:%d failed to allocate a memory for doip\n",
> +		       __func__, __LINE__);
> +		return;
> +	}
>   	doip->map.std = NULL;
>   	doip->doi = smk_cipso_doi_value;
>   	doip->type = CIPSO_V4_MAP_PASS;
Li Qiong June 13, 2022, 3:33 p.m. UTC | #2
在 2022年06月13日 22:53, Casey Schaufler 写道:
> On 6/12/2022 11:22 PM, Li Qiong wrote:
>> As the possible failure of the kmalloc(), it should be better
>> to check it and print a warning message.
>
> The allocation is done with __GFP_NOFAIL, which assures
> it will not fail.

Thanks,  my mistake.
Drop this patch.



>
>>
>> Signed-off-by: Li Qiong <liqiong@nfschina.com>
>> ---
>>   security/smack/smackfs.c | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> diff --git a/security/smack/smackfs.c b/security/smack/smackfs.c
>> index 4b58526450d4..0d11ba3cb4cd 100644
>> --- a/security/smack/smackfs.c
>> +++ b/security/smack/smackfs.c
>> @@ -695,6 +695,11 @@ static void smk_cipso_doi(void)
>>                  __func__, __LINE__, rc);
>>         doip = kmalloc(sizeof(struct cipso_v4_doi), GFP_KERNEL | __GFP_NOFAIL);
>> +    if (unlikely(!doip)) {
>> +        printk(KERN_WARNING "%s:%d failed to allocate a memory for doip\n",
>> +               __func__, __LINE__);
>> +        return;
>> +    }
>>       doip->map.std = NULL;
>>       doip->doi = smk_cipso_doi_value;
>>       doip->type = CIPSO_V4_MAP_PASS;
diff mbox series

Patch

diff --git a/security/smack/smackfs.c b/security/smack/smackfs.c
index 4b58526450d4..0d11ba3cb4cd 100644
--- a/security/smack/smackfs.c
+++ b/security/smack/smackfs.c
@@ -695,6 +695,11 @@  static void smk_cipso_doi(void)
 		       __func__, __LINE__, rc);
 
 	doip = kmalloc(sizeof(struct cipso_v4_doi), GFP_KERNEL | __GFP_NOFAIL);
+	if (unlikely(!doip)) {
+		printk(KERN_WARNING "%s:%d failed to allocate a memory for doip\n",
+		       __func__, __LINE__);
+		return;
+	}
 	doip->map.std = NULL;
 	doip->doi = smk_cipso_doi_value;
 	doip->type = CIPSO_V4_MAP_PASS;