From: sashiko-bot@kernel.org
To: "Hui Peng" <benquike@gmail.com>
Cc: dri-devel@lists.freedesktop.org, linux-pci@vger.kernel.org
Subject: Re: [PATCH] PCI/VGA: fix inverted vga_tryget() return check and clear removed pci_dev
Date: Sat, 19 Sep 2026 22:48:17 +0000 [thread overview]
Message-ID: <20260919224817.C6AB31F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260919222629.3798073-1-benquike@gmail.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] commit message references incorrect functions for vga_tryget() fix
--
commit 341d48fbd447d6890560b76963b8d28bd58bbe29
Author: Hui Peng <benquike@gmail.com>
PCI/VGA: fix inverted vga_tryget() return check and clear removed pci_dev
This commit fixes an inverted return check for vga_tryget() and clears open
references pointing to a removed pci_dev in vga_arbiter_del_pci_device()
to prevent dereferencing a freed pci_dev.
> 1. In vga_arb_device_init() / vga_arbiter_From_pci_dev(), vga_tryget()
> returns 0 on success and a negative errno on failure, so checking if
> (!vga_tryget(...)) is inverted and skips unlocking on success.
[Severity: Medium]
The commit message references incorrect functions for the vga_tryget() fix.
Reading the commit message suggests looking at vga_arb_device_init() or
vga_arbiter_From_pci_dev() for the vga_tryget() fix. However,
vga_arb_device_init() does not call vga_tryget(), and
vga_arbiter_From_pci_dev() does not exist in the codebase.
The actual code modified to fix the inverted return check is in
vga_arb_write().
Could the commit message be updated to accurately reflect the function
where the fix is applied?
> diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c
> index 3de05aee78599..4f13e542505ad 100644
> --- a/drivers/pci/vgaarb.c
> +++ b/drivers/pci/vgaarb.c
[ ... ]
> @@ -1266,12 +1282,12 @@ static ssize_t vga_arb_write(struct file *file, const char __user *buf,
> */
>
> pdev = priv->target;
> - if (priv->target == NULL) {
> + if (priv->target == NULL || priv->target == PCI_INVALID_CARD) {
> ret_val = -ENODEV;
> goto done;
> }
>
> - if (vga_tryget(pdev, io_state)) {
> + if (vga_tryget(pdev, io_state) == 0) {
> /* Update the client's locks lists... */
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260919222629.3798073-1-benquike@gmail.com?part=1
next prev parent reply other threads:[~2026-09-19 22:48 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-19 22:26 [PATCH] PCI/VGA: fix inverted vga_tryget() return check and clear removed pci_dev Hui Peng
2026-09-19 22:48 ` sashiko-bot [this message]
2026-09-21 5:27 ` [PATCH v2 1/2] PCI/VGA: fix inverted vga_tryget() return check in vga_arb_write() Hui Peng
2026-09-21 5:27 ` [PATCH v2 2/2] PCI/VGA: invalidate open user references in vga_arbiter_del_pci_device() Hui Peng
2026-09-21 5:38 ` sashiko-bot
2026-09-21 5:36 ` [PATCH v2 1/2] PCI/VGA: fix inverted vga_tryget() return check in vga_arb_write() sashiko-bot
2026-09-21 10:39 ` [PATCH] PCI/VGA: fix inverted vga_tryget() return check and clear removed pci_dev Jani Nikula
2026-09-21 15:09 ` krzk
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=20260919224817.C6AB31F000FF@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=benquike@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-pci@vger.kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.