From: Ian Abbott <abbotti@mev.co.uk>
To: Edward Adam Davis <eadavis@qq.com>
Cc: hsweeten@visionengravers.com, linux-kernel@vger.kernel.org,
syzkaller-bugs@googlegroups.com
Subject: Re: [PATCH V2] commdi: pcl726: Prevent invalid irq number
Date: Mon, 7 Jul 2025 13:23:13 +0100 [thread overview]
Message-ID: <35b9fc97-03d9-4e01-a8d6-b8a061f51619@mev.co.uk> (raw)
In-Reply-To: <tencent_BC9915CFE98D8D25B70D9E9272DDDB5D9607@qq.com>
On 07/07/2025 12:43, Edward Adam Davis wrote:
> The reproducer passed in an irq number(0x80008000) that was too large,
> which triggered the oob.
>
> Added an interrupt number check to prevent users from passing in an irq
> number that was too large.
>
> If `it->options[1]` is 31, then `1 << it->options[1]` is still invalid
> because it shifts a 1-bit into the sign bit (which is UB in C).
> Possible solutions include reducing the upper bound on the
> `it->options[1]` value to 30 or lower, or using `1U << it->options[1]`.
>
> The old code would just not attempt to request the IRQ if the
> `options[1]` value were invalid. And it would still configure the
> device without interrupts even if the call to `request_irq` returned an
> error. So it would be better to combine this test with the test below.
>
> Fixes: fff46207245c ("staging: comedi: pcl726: enable the interrupt support code")
> Cc: <stable@vger.kernel.org> # 5.13+
> Reported-by: syzbot+5cd373521edd68bebcb3@syzkaller.appspotmail.com
> Closes: https://syzkaller.appspot.com/bug?extid=5cd373521edd68bebcb3
> Tested-by: syzbot+5cd373521edd68bebcb3@syzkaller.appspotmail.com
> Signed-off-by: Edward Adam Davis <eadavis@qq.com>
> ---
> V1 -> V2: combine test with old test
>
> drivers/comedi/drivers/pcl726.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/comedi/drivers/pcl726.c b/drivers/comedi/drivers/pcl726.c
> index 0430630e6ebb..b542896fa0e4 100644
> --- a/drivers/comedi/drivers/pcl726.c
> +++ b/drivers/comedi/drivers/pcl726.c
> @@ -328,7 +328,8 @@ static int pcl726_attach(struct comedi_device *dev,
> * Hook up the external trigger source interrupt only if the
> * user config option is valid and the board supports interrupts.
> */
> - if (it->options[1] && (board->irq_mask & (1 << it->options[1]))) {
> + if (it->options[1] > 0 && it->options[1] < 16 &&
> + (board->irq_mask & (1U << it->options[1]))) {
> ret = request_irq(it->options[1], pcl726_interrupt, 0,
> dev->board_name, dev);
> if (ret == 0) {
Looks good apart from the subject line that still has the "comedi" tag
misspelled. Please could you fix that?
You can also add my Reviewed-by: line:
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Please also Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> because
I do not have commit access to any pulled git repos.
Thanks!
--
-=( Ian Abbott <abbotti@mev.co.uk> || MEV Ltd. is a company )=-
-=( registered in England & Wales. Regd. number: 02862268. )=-
-=( Regd. addr.: S11 & 12 Building 67, Europa Business Park, )=-
-=( Bird Hall Lane, STOCKPORT, SK3 0XA, UK. || www.mev.co.uk )=-
next prev parent reply other threads:[~2025-07-07 12:31 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-05 11:02 [syzbot] [kernel?] UBSAN: shift-out-of-bounds in pcl726_attach syzbot
2025-07-05 12:47 ` Hillf Danton
2025-07-05 13:06 ` syzbot
2025-07-06 1:51 ` Edward Adam Davis
2025-07-06 2:10 ` syzbot
2025-07-06 2:10 ` [PATCH] commdi: pcl726: Prevent invalid irq number Edward Adam Davis
2025-07-07 9:47 ` Ian Abbott
2025-07-07 10:01 ` Ian Abbott
2025-07-07 11:43 ` [PATCH V2] " Edward Adam Davis
2025-07-07 12:23 ` Ian Abbott [this message]
2025-07-07 12:39 ` [PATCH V3] comedi: " Edward Adam Davis
2025-07-24 11:07 ` [PATCH V3 REPOST] " Ian Abbott
2025-07-24 11:11 ` Ian Abbott
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=35b9fc97-03d9-4e01-a8d6-b8a061f51619@mev.co.uk \
--to=abbotti@mev.co.uk \
--cc=eadavis@qq.com \
--cc=hsweeten@visionengravers.com \
--cc=linux-kernel@vger.kernel.org \
--cc=syzkaller-bugs@googlegroups.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
all inboxes | Powered by JetHome®