All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Vimal Agrawal <avimalin@gmail.com>
Cc: linux-kernel@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>,
	D Scott Phillips <scott@os.amperecomputing.com>,
	Vimal Agrawal <vimal.agrawal@sophos.com>
Subject: Re: misc_deregister() throwing warning in ida_free()
Date: Mon, 7 Oct 2024 10:28:52 +0200	[thread overview]
Message-ID: <2024100732-debtor-panther-4a75@gregkh> (raw)
In-Reply-To: <CALkUMdT_Q9o-NDKhAk=v_ARSe541y6yeg8hacYJ2iZ5PGjjRVw@mail.gmail.com>

On Mon, Sep 16, 2024 at 06:56:18PM +0530, Vimal Agrawal wrote:
> Hi Scott/ Greg and all,
> 
> We recently upgraded kernel from 6.1 to 6.6.49 and started seeing
> following WARNING during misc_deregister():
> 
> ------------[ cut here ]------------
> 
> WARNING: CPU: 0 PID: 159 at lib/idr.c:525 ida_free+0x3e0/0x41f
> ida_free called for id=127 which is not allocated.
> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
> Modules linked in: ust(O-) [last unloaded: fastpath_dummy(O)]
> CPU: 0 PID: 159 Comm: modprobe Tainted: G        W  O     N 6.6.49+ #11
> Stack:
> 818bfb70 6093f8d3 0000020d 61381660
> 61381630 60c1ee6a 00000001 60068c0f
> 818bfbb0 60983ee6 60983e5c 61381680
> Call Trace:
> [<60973831>] ? _printk+0x0/0xc2
> [<6004b2e6>] show_stack+0x35c/0x382
> [<6093f8d3>] ? dump_stack_print_info+0x1af/0x1ec
> [<60068c0f>] ? um_set_signals+0x0/0x43
> [<60983ee6>] dump_stack_lvl+0x8a/0xa9
> [<60983e5c>] ? dump_stack_lvl+0x0/0xa9
> [<60068c0f>] ? um_set_signals+0x0/0x43
> [<60983f32>] dump_stack+0x2d/0x35
> [<60983f05>] ? dump_stack+0x0/0x35
> [<6007aad8>] __warn+0x20c/0x294
> [<60068c0f>] ? um_set_signals+0x0/0x43
> [<60971d98>] warn_slowpath_fmt+0x164/0x189
> [<60222128>] ? __update_cpu_freelist_fast+0x96/0xbc
> [<60971c34>] ? warn_slowpath_fmt+0x0/0x189
> [<6022d2fe>] ? __kmem_cache_free+0x16a/0x1be
> [<60068c4a>] ? um_set_signals+0x3b/0x43
> [<60941eb4>] ida_free+0x3e0/0x41f
> [<605ac993>] misc_minor_free+0x3e/0xbc
> [<605acb82>] misc_deregister+0x171/0x1b3
> [<81aa7af2>] ustdev_exit+0xa8/0xc1 [ust]
> 
> basic code of calling misc_register()/misc_register() is following:
> 
> static struct miscdevice ust_dev = {
>         0,
>         "ustdev",
>         &ustdev_ops,
> };

Nit, use named-identifiers pleaase so we know what is being set and what
isn't.

> int ustdev_init(void)
> {
>         misc_register(&ust_dev);
>         return 0;

This can be just one line, you are ignoring if misc_register() fails :(

> }
> 
> void ustdev_exit(void)
> {
>         misc_deregister(&ust_dev);
> }
> 
> Note that this was working fine without any warning earlier on kernel 6.1.
> 
> I suspect it is due to
> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.51&id=ab760791c0cfbb1d7a668f46a135264f56c8f018.
> It seems misc_register() is not calling any ida_allocxxx() api for
> static minor value of 0 but misc_deregister() for the same is calling
> ida_free() and hence ida_free() is warning in our case.
> 
> Please let me know if I am missing something or some of our
> assumptions are not valid anymore in newer kernel versions.

Can you submit a patch that works for you to resolve this issue?

thanks,

greg k-h

  reply	other threads:[~2024-10-07  8:28 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-16 13:26 misc_deregister() throwing warning in ida_free() Vimal Agrawal
2024-10-07  8:28 ` Greg Kroah-Hartman [this message]
2024-10-14  6:39   ` Vimal Agrawal

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=2024100732-debtor-panther-4a75@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=arnd@arndb.de \
    --cc=avimalin@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=scott@os.amperecomputing.com \
    --cc=vimal.agrawal@sophos.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 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.