Re: Patch "LoongArch/smp: Call rcutree_report_cpu_starting() earlier" has been added to the 6.6-stable tree

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

 



Hi, Greg,

6.1.y and 6.6.y please use this one which use rcu_cpu_starting() instead of rcutree_report_cpu_starting()
https://lore.kernel.org/loongarch/20240123024151.1365379-1-chenhuacai@xxxxxxxxxxx/T/#u

Huacai


> -----原始邮件-----
> 发件人: gregkh@xxxxxxxxxxxxxxxxxxx
> 发送时间:2024-01-27 08:41:02 (星期六)
> 收件人: chenhuacai@xxxxxxxxxxx
> 抄送: stable-commits@xxxxxxxxxxxxxxx
> 主题: Patch "LoongArch/smp: Call rcutree_report_cpu_starting() earlier" has been added to the 6.6-stable tree
> 
> 
> This is a note to let you know that I've just added the patch titled
> 
>     LoongArch/smp: Call rcutree_report_cpu_starting() earlier
> 
> to the 6.6-stable tree which can be found at:
>     http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> 
> The filename of the patch is:
>      loongarch-smp-call-rcutree_report_cpu_starting-earlier.patch
> and it can be found in the queue-6.6 subdirectory.
> 
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <stable@xxxxxxxxxxxxxxx> know about it.
> 
> 
> From a2ccf46333d7b2cf9658f0d82ac74097c1542fae Mon Sep 17 00:00:00 2001
> From: Huacai Chen <chenhuacai@xxxxxxxxxxx>
> Date: Wed, 8 Nov 2023 14:12:15 +0800
> Subject: LoongArch/smp: Call rcutree_report_cpu_starting() earlier
> 
> From: Huacai Chen <chenhuacai@xxxxxxxxxxx>
> 
> commit a2ccf46333d7b2cf9658f0d82ac74097c1542fae upstream.
> 
> rcutree_report_cpu_starting() must be called before cpu_probe() to avoid
> the following lockdep splat that triggered by calling __alloc_pages() when
> CONFIG_PROVE_RCU_LIST=y:
> 
>  =============================
>  WARNING: suspicious RCU usage
>  6.6.0+ #980 Not tainted
>  -----------------------------
>  kernel/locking/lockdep.c:3761 RCU-list traversed in non-reader section!!
>  other info that might help us debug this:
>  RCU used illegally from offline CPU!
>  rcu_scheduler_active = 1, debug_locks = 1
>  1 lock held by swapper/1/0:
>   #0: 900000000c82ef98 (&pcp->lock){+.+.}-{2:2}, at: get_page_from_freelist+0x894/0x1790
>  CPU: 1 PID: 0 Comm: swapper/1 Not tainted 6.6.0+ #980
>  Stack : 0000000000000001 9000000004f79508 9000000004893670 9000000100310000
>          90000001003137d0 0000000000000000 90000001003137d8 9000000004f79508
>          0000000000000000 0000000000000001 0000000000000000 90000000048a3384
>          203a656d616e2065 ca43677b3687e616 90000001002c3480 0000000000000008
>          000000000000009d 0000000000000000 0000000000000001 80000000ffffe0b8
>          000000000000000d 0000000000000033 0000000007ec0000 13bbf50562dad831
>          9000000005140748 0000000000000000 9000000004f79508 0000000000000004
>          0000000000000000 9000000005140748 90000001002bad40 0000000000000000
>          90000001002ba400 0000000000000000 9000000003573ec8 0000000000000000
>          00000000000000b0 0000000000000004 0000000000000000 0000000000070000
>          ...
>  Call Trace:
>  [<9000000003573ec8>] show_stack+0x38/0x150
>  [<9000000004893670>] dump_stack_lvl+0x74/0xa8
>  [<900000000360d2bc>] lockdep_rcu_suspicious+0x14c/0x190
>  [<900000000361235c>] __lock_acquire+0xd0c/0x2740
>  [<90000000036146f4>] lock_acquire+0x104/0x2c0
>  [<90000000048a955c>] _raw_spin_lock_irqsave+0x5c/0x90
>  [<900000000381cd5c>] rmqueue_bulk+0x6c/0x950
>  [<900000000381fc0c>] get_page_from_freelist+0xd4c/0x1790
>  [<9000000003821c6c>] __alloc_pages+0x1bc/0x3e0
>  [<9000000003583b40>] tlb_init+0x150/0x2a0
>  [<90000000035742a0>] per_cpu_trap_init+0xf0/0x110
>  [<90000000035712fc>] cpu_probe+0x3dc/0x7a0
>  [<900000000357ed20>] start_secondary+0x40/0xb0
>  [<9000000004897138>] smpboot_entry+0x54/0x58
> 
> raw_smp_processor_id() is required in order to avoid calling into lockdep
> before RCU has declared the CPU to be watched for readers.
> 
> See also commit 29368e093921 ("x86/smpboot: Move rcu_cpu_starting() earlier"),
> commit de5d9dae150c ("s390/smp: move rcu_cpu_starting() earlier") and commit
> 99f070b62322 ("powerpc/smp: Call rcu_cpu_starting() earlier").
> 
> Signed-off-by: Huacai Chen <chenhuacai@xxxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> ---
>  arch/loongarch/kernel/smp.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> --- a/arch/loongarch/kernel/smp.c
> +++ b/arch/loongarch/kernel/smp.c
> @@ -504,8 +504,9 @@ asmlinkage void start_secondary(void)
>  	unsigned int cpu;
>  
>  	sync_counter();
> -	cpu = smp_processor_id();
> +	cpu = raw_smp_processor_id();
>  	set_my_cpu_offset(per_cpu_offset(cpu));
> +	rcutree_report_cpu_starting(cpu);
>  
>  	cpu_probe();
>  	constant_clockevent_init();
> 
> 
> Patches currently in stable-queue which might be from chenhuacai@xxxxxxxxxxx are
> 
> queue-6.6/loongarch-smp-call-rcutree_report_cpu_starting-earlier.patch
> queue-6.6/docs-kernel_feat.py-fix-potential-command-injection.patch


本邮件及其附件含有龙芯中科的商业秘密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制或散发)本邮件及其附件中的信息。如果您错收本邮件,请您立即电话或邮件通知发件人并删除本邮件。 
This email and its attachments contain confidential information from Loongson Technology , which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email immediately and delete it. 




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux