The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: gregkh <gregkh@linuxfoundation.org>
To: 李天宇 <2200013188@stu.pku.edu.cn>
Cc: linux-kernel <linux-kernel@vger.kernel.org>,
	rafael <rafael@kernel.org>, dakr <dakr@kernel.org>,
	abbotti <abbotti@mev.co.uk>,
	hsweeten <hsweeten@visionengravers.com>,
	xujiakai2025 <xujiakai2025@iscas.ac.cn>,
	"zhaoruilin22@mails.ucas.ac.cn" <zhaoruilin22@mails.ucas.ac.cn>
Subject: Re: [BUG] WARN "Unexpected driver unregister!" when configuring c6xdigio via COMEDI_DEVCONFIG
Date: Thu, 4 Dec 2025 16:35:22 +0100	[thread overview]
Message-ID: <2025120427-elves-stinging-843d@gregkh> (raw)
In-Reply-To: <APEAtwCVJmT2dVCe9a0nWKoX.1.1764860451110.Hmail.2200013188@stu.pku.edu.cn>

On Thu, Dec 04, 2025 at 11:00:51PM +0800, 李天宇 wrote:
> Hello maintainers,
> 
> I encountered a WARN in driver_unregister (drivers/base/driver.c:273) when configuring the c6xdigio COMEDI driver via ioctl(COMEDI_DEVCONFIG). This issue is first found on Linux 6.18-rc6 via a fuzzing framework and later confirmed reproducible on Linux v6.18.
> 
> Based on the call trace and source review, the path appears to be:
> 
>     - drivers/comedi/drivers.c:207: dev-&gt;driver-&gt;detach(dev) (detach is set as c6xdigio_detach in c6xdigio.c:290)
>     - drivers/comedi/drivers/c6xdigio.c:283: pnp_unregister_driver()
>     - drivers/pnp/driver.c:286: driver_unregister()
>     - drivers/base/driver.c:273: WARN triggered
> 
> The WARN occurs because driver_unregister() finds drv-&gt;p == NULL and prints:
>     WARN(1, "Unexpected driver unregister!\n");
> 
> It seems the attach process fails early (e.g. due to a request-region conflict), but the detach path still calls pnp_unregister_driver() unconditionally. If pnp_register_driver() was never successful, calling unregister on an unregistered driver results in driver_unregister() being invoked with drv-&gt;p == NULL, which leads to the warning.
> 
> Related information is listed below:
> 
>     Kernel source: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.18.tar.xz
>     Kernel configuration: https://github.com/j1akai/KConfigFuzz_bug/raw/refs/heads/main/x86/mainline-config
>     Kernel log: https://github.com/Wxm-233/KConfigFuzz_crashes/raw/refs/heads/main/b42a57a980ac99dba76418f8daaa80e2a90831a1/report0
>     Reproduction C code: https://github.com/Wxm-233/KConfigFuzz_crashes/raw/refs/heads/main/b42a57a980ac99dba76418f8daaa80e2a90831a1/repro.cprog
>     Syscall sequence for reproduction (more precise): https://github.com/Wxm-233/KConfigFuzz_crashes/raw/refs/heads/main/b42a57a980ac99dba76418f8daaa80e2a90831a1/repro.prog
>     GCC info: https://github.com/Wxm-233/KConfigFuzz_crashes/raw/refs/heads/main/b42a57a980ac99dba76418f8daaa80e2a90831a1/gccinfo
> 
> I hope this report helps in identifying and resolving the issue. Thanks for your time and attention.

Can you make up a patch that properly checks the return value of
pnp_register_driver() and handles it and submit it to resolve this
issue?  As you have a reproducer, that's the best way to get this
resolved, and you get full credit for fixing the issue.

Also, do you really have any pnp hardware?  That's some really old
stuff, or is this just fuzzing testing?

thanks,

greg k-h

  reply	other threads:[~2025-12-04 15:35 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-04 15:00 [BUG] WARN "Unexpected driver unregister!" when configuring c6xdigio via COMEDI_DEVCONFIG 李天宇
2025-12-04 15:35 ` gregkh [this message]
2025-12-04 16:39 ` 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=2025120427-elves-stinging-843d@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=2200013188@stu.pku.edu.cn \
    --cc=abbotti@mev.co.uk \
    --cc=dakr@kernel.org \
    --cc=hsweeten@visionengravers.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=xujiakai2025@iscas.ac.cn \
    --cc=zhaoruilin22@mails.ucas.ac.cn \
    /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