Re: Linux 6.5: Interrupts were enabled early

Page principale

Répondre à ce message
Auteur: Patrice Karatchentzeff
Date:  
À: Edgar Bonet
CC: Liste Guilde
Sujet: Re: Linux 6.5: Interrupts were enabled early
Salut Edgar,

Je ne peux pas trop t'aider sur ton problème, mais pour reporter ton
bogue, c'est là :

https://docs.kernel.org/admin-guide/reporting-issues.html

Ce n'est pas trivial :)

Bon courage,

PK

Le lun. 18 sept. 2023 à 17:52, Edgar Bonet <guilde@???> a écrit :
>
> Bonjour la Guilde !
>
> J'ai un petit problème pour lequel je pense que l'aide d'un guru du
> noyau Linux pourrait m'être utile... Il s'agit d'un warning un peu
> inquiétant que j'ai rencontré en bootant Linux 6.5 sur un système
> embarqué. Le système marche, donc ça n'a pas l'air critique, mais
> j'aimerais savoir si je dois quand-même m'inquiéter et, le cas échéant,
> comment gérer ça.
>
> Pour le contexte, j'ai un SoM Acme Acqua[1] qui marche bien avec
> Buildroot 2023.08[2]. J'ai voulu tester le dernier noyau stable sur
> cette carte et j'ai vu, vers le début du boot, ce message :
>
>     ------------[ cut here ]------------
>     WARNING: CPU: 0 PID: 0 at init/main.c:992 start_kernel+0x458/0x564
>     Interrupts were enabled early
>     CPU: 0 PID: 0 Comm: swapper Not tainted 6.5.2 #1
>     Hardware name: Atmel SAMA5
>      unwind_backtrace from show_stack+0x10/0x14
>      show_stack from dump_stack_lvl+0x24/0x2c
>      dump_stack_lvl from __warn+0x84/0xc4
>      __warn from warn_slowpath_fmt+0x98/0xc8
>      warn_slowpath_fmt from start_kernel+0x458/0x564
>      start_kernel from 0x0
>     ---[ end trace 0000000000000000 ]---

>
> Je trouve ça inquiétant car voir un backtrace au boot n'est pas banal.
> De plus, le commit du noyau qui permet à ce message d'être affiché
> semble impliquer que la situation est à peu près aussi problématique
> qu'un meurtre sanguinaire[3] :
>
>     init: scream bloody murder if interrupts are enabled too early

>
> Le problème ne semble pas spécifique à cette carte: je peux reproduire
> le message avec un système virtuel basé sur qemu :
>
>     wget https://buildroot.org/downloads/buildroot-2023.08.tar.xz
>     tar -xJf buildroot-2023.08.tar.xz
>     cd buildroot-2023.08
>     sed -Ei -e 's/(LINUX_HEADERS_CUSTOM)_6_1=y/\1_6_5=y/' \
>         -e 's/(KERNEL_CUSTOM_VERSION_VALUE)="6.1.26"/\1="6.5.3"/' \
>         -e 's|(KERNEL_INTREE_DTS_NAME)="(versatile-pb)"|\1="arm/\2"|' \
>         configs/qemu_arm_versatile_defconfig
>     make qemu_arm_versatile_defconfig
>     make
>     output/images/start-qemu.sh --serial-only # arrêter avec Ctrl-a x

>
> J'ai essayé un `git bisect` sur le noyau, et ça me dit que le coupable
> est le commit cfeb6ae8bcb9[4], introduit entre v6.5-rc7 et v6.5 :
>
>     maple_tree: disable mas_wr_append() when other readers are possible

>
> Bizarrement, ça ne semble avoir aucun rapport avec les interruptions...
>
> Questions :
>
> 1. Est-ce aussi inquiétant que ça en a l'air ?
> 2. Ai-je découvert un bogue du noyau ?
> 3. Le cas échéant, quel est le canal approprié pour le faire remonter ?
>
> Merci à ceux qui m'ont lu jusqu'ici !
>
> Edgar.
>
> [1] https://www.acmesystems.it/acqua
> [2] https://buildroot.org/
> [3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f91eb62f71b3
> [4] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cfeb6ae8bcb9
>



-- 
      |\      _,,,---,,_           Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:patrice.karatchentzeff@gmail.com
     |,4-  ) )-,_. ,\ (  `'-'
    '---''(_/--'  `-'\_)