[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALm+0cVd=yhCTXm4j+OcqiBQwwC=bf2ja7iQ87ypBb7KD2qbjA@mail.gmail.com>
Date: Tue, 17 Dec 2024 16:11:21 +0800
From: Z qiang <qiang.zhang1211@...il.com>
To: Conor Dooley <conor.dooley@...rochip.com>, Xiangyu Chen <xiangyu.chen@...driver.com>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>, linux-kernel@...r.kernel.org,
akpm@...ux-foundation.org, torvalds@...ux-foundation.org,
stable@...r.kernel.org, lwn@....net, jslaby@...e.cz,
rcu <rcu@...r.kernel.org>
Subject: Re: Linux 6.1.120
>
> On Sat, Dec 14, 2024 at 09:53:13PM +0100, Greg Kroah-Hartman wrote:
> > I'm announcing the release of the 6.1.120 kernel.
> >
> > All users of the 6.1 kernel series must upgrade.
> >
> > The updated 6.1.y git tree can be found at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.1.y
> > and can be browsed at the normal kernel.org git web browser:
> > https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
> >
> > thanks,
> >
> > greg k-h
> >
> > ------------
>
> > Zqiang (1):
> > rcu-tasks: Fix access non-existent percpu rtpcp variable in rcu_tasks_need_gpcb()
>
> I was AFK last week so I missed reporting this, but on riscv this patch
> causes:
> [ 0.145463] BUG: sleeping function called from invalid context at include/linux/sched/mm.h:274
> [ 0.155273] in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 1, name: swapper/0
> [ 0.164160] preempt_count: 1, expected: 0
> [ 0.168716] RCU nest depth: 0, expected: 0
> [ 0.173370] 1 lock held by swapper/0/1:
> [ 0.177726] #0: ffffffff81494d78 (rcu_tasks.cbs_gbl_lock){....}-{2:2}, at: cblist_init_generic+0x2e/0x374
> [ 0.188768] irq event stamp: 718
> [ 0.192439] hardirqs last enabled at (717): [<ffffffff8098df90>] _raw_spin_unlock_irqrestore+0x34/0x5e
> [ 0.203098] hardirqs last disabled at (718): [<ffffffff8098de32>] _raw_spin_lock_irqsave+0x24/0x60
> [ 0.213254] softirqs last enabled at (0): [<ffffffff800105d2>] copy_process+0x50c/0xdac
> [ 0.222445] softirqs last disabled at (0): [<0000000000000000>] 0x0
> [ 0.229551] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.119-00350-g224fd631c41b #1
> [ 0.238330] Hardware name: Microchip PolarFire-SoC Icicle Kit (DT)
> [ 0.245329] Call Trace:
> [ 0.248113] [<ffffffff8000678c>] show_stack+0x2c/0x38
> [ 0.253868] [<ffffffff80984e66>] dump_stack_lvl+0x5e/0x80
> [ 0.260022] [<ffffffff80984e9c>] dump_stack+0x14/0x20
> [ 0.265768] [<ffffffff800499b0>] __might_resched+0x200/0x20a
> [ 0.272217] [<ffffffff80049784>] __might_sleep+0x3c/0x68
> [ 0.278258] [<ffffffff802022aa>] __kmem_cache_alloc_node+0x64/0x240
> [ 0.285385] [<ffffffff801b1760>] __kmalloc+0xc0/0x180
> [ 0.291140] [<ffffffff8008c752>] cblist_init_generic+0x84/0x374
> [ 0.297857] [<ffffffff80a0b212>] rcu_spawn_tasks_kthread+0x1c/0x72
> [ 0.304888] [<ffffffff80a0b0e8>] rcu_init_tasks_generic+0x20/0x12e
> [ 0.311902] [<ffffffff80a00eb8>] kernel_init_freeable+0x56/0xa8
> [ 0.318638] [<ffffffff80985c10>] kernel_init+0x1a/0x18e
> [ 0.324574] [<ffffffff80004124>] ret_from_exception+0x0/0x1a
>
Hello, Xiangyu
For v6.1.x kernels, the cblist_init_generic() is invoke in init task context,
rtp->rtpcp_array is allocated use GFP_KERENL and in the critical section
holding rcu_tasks.cbs_gbl_lock spinlock. so might_resched() trigger warnings.
You should perform the operation of allocating rtpcp_array memory outside
the spinlock.
Are you willing to resend the patch?
Thanks
Zqiang
> Reverting it fixed the problem.
>
> Cheers,
> Conor.
Powered by blists - more mailing lists