From: Helge Deller <deller@gmx.de>
To: Rolf Eike Beer <eike-kernel@sf-tec.de>,
Li zeming <zeming@nfschina.com>,
James.Bottomley@hansenpartnership.com
Cc: linux-parisc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] parisc: Increase the usage check of kmalloc allocated object a
Date: Wed, 14 Sep 2022 11:04:33 +0200 [thread overview]
Message-ID: <3a72852c-2f28-2916-f02c-b52cb06efd7d@gmx.de> (raw)
In-Reply-To: <1668528.WaZXzWfjLs@eto.sf-tec.de>
On 9/14/22 08:43, Rolf Eike Beer wrote:
> Am Mittwoch, 14. September 2022, 08:18:19 CEST schrieb Helge Deller:
>> On 9/14/22 08:04, Li zeming wrote:
>>> In the case of memory allocation failure, no alignment operation is
>>> required.
>>>
>>> Signed-off-by: Li zeming <zeming@nfschina.com>
>>> ---
>>>
>>> drivers/parisc/iosapic.c | 4 +++-
>>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/parisc/iosapic.c b/drivers/parisc/iosapic.c
>>> index 3a8c98615634..33de438916d3 100644
>>> --- a/drivers/parisc/iosapic.c
>>> +++ b/drivers/parisc/iosapic.c
>>> @@ -229,7 +229,9 @@ static struct irt_entry *iosapic_alloc_irt(int
>>> num_entries)>
>>> * 4-byte alignment on 32-bit kernels
>>> */
>>>
>>> a = (unsigned long)kmalloc(sizeof(struct irt_entry) * num_entries
> + 8,
>>> GFP_KERNEL);>
>>> - a = (a + 7UL) & ~7UL;
>>> + if (a)
>>> + a = (a + 7UL) & ~7UL;
>>> +
>>
>> As you said, the adjustment isn't required, but it's still ok.
>> So I think the additional "if" isn't necessary and so I'm not
>> applying your patch.
>>
>> Anyway, thanks for your help to try to improve the code!
>
> I was about to say the same, but from looking at the code I don't think what
> is in there is correct either. The comment seems outdated, because
> __assume_kmalloc_alignment, which is __alignof__(unsigned long long). This
> code is untouched for the entire git history, so maybe we can just change the
> whole thing to
>
> return kcalloc(num_entries, sizeof(struct irt_entry))
>
> now?
Yes, your proposal is good.
Anyone want to send a patch (with a small comment that kcalloc() will return
at least the required 8-byte alignment)?
> And these functions end up propagating an allocation error in this file and it
> will never reach kernel/setup.c, which seems bad.
That part I don't understand.
The return value of iosapic_alloc_irt() is checked afterwards, but you probably
meant something else?
> But I guess the only point where this really can go wrong if the PDC
> returns an absurdly large number of entries.
Helge
next prev parent reply other threads:[~2022-09-14 9:15 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-14 6:04 [PATCH] parisc: Increase the usage check of kmalloc allocated object a Li zeming
2022-09-14 6:18 ` Helge Deller
2022-09-14 6:43 ` Rolf Eike Beer
2022-09-14 9:04 ` Helge Deller [this message]
2022-09-14 14:25 ` Rolf Eike Beer
2022-09-15 5:44 ` Helge Deller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3a72852c-2f28-2916-f02c-b52cb06efd7d@gmx.de \
--to=deller@gmx.de \
--cc=James.Bottomley@hansenpartnership.com \
--cc=eike-kernel@sf-tec.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=zeming@nfschina.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).