Re: Linux 6.1.120

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>
> 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.




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux