lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <5afbc89e-dbc4-3f47-4e61-63a77165aaec@prevas.dk>
Date:   Tue, 15 Jun 2021 14:35:27 +0200
From:   Rasmus Villemoes <rasmus.villemoes@...vas.dk>
To:     Song Hui <hui.song_1@....com>,
        Bartosz Golaszewski <bgolaszewski@...libre.com>
Cc:     linux-rt-users@...r.kernel.org,
        LKML <linux-kernel@...r.kernel.org>,
        Linus Walleij <linus.walleij@...aro.org>,
        Vladimir Oltean <vladimir.oltean@....com>,
        "Steven Rostedt (VMware)" <rostedt@...dmis.org>,
        Esben Haabendal <esben@...nix.com>
Subject: commit 3d5bfbd97163 versus -rt

Hi

Booting 5.10.41-rt42 with CONFIG_PREEMPT_RT=y gives this splat:

 ------------[ cut here ]------------
 WARNING: CPU: 0 PID: 29 at kernel/irq/handle.c:159
__handle_irq_event_percpu+0x1ec/0x27c
 irq 66 handler irq_default_primary_handler+0x0/0x1c enabled interrupts
 Modules linked in:
 CPU: 0 PID: 29 Comm: irq/45-gpio-cas Not tainted
5.10.41-rt42-00001-g3ce830134091 #495
 Hardware name: Freescale LS1021A
 Backtrace:
 [<806ad420>] (dump_backtrace) from [<806ad7c4>] (show_stack+0x20/0x24)
  r7:80abad04 r6:60070013 r5:00000000 r4:80abad04
 [<806ad7a4>] (show_stack) from [<806b0a94>] (dump_stack+0x88/0xa4)
 [<806b0a0c>] (dump_stack) from [<8011d424>] (__warn+0xd4/0x100)
  r7:80e3fe14 r6:00000000 r5:00000009 r4:80170c48
 [<8011d350>] (__warn) from [<806ade3c>] (warn_slowpath_fmt+0x88/0xcc)
  r9:ffffe000 r8:807e5943 r7:00000009 r6:80170c48 r5:0000009f r4:807e596a
 [<806addb8>] (warn_slowpath_fmt) from [<80170c48>]
(__handle_irq_event_percpu+0x1ec/0x27c)
  r8:80e3fe80 r7:80fff800 r6:00000042 r5:00000002 r4:80ea2000
 [<80170a5c>] (__handle_irq_event_percpu) from [<80170d38>]
(handle_irq_event_percpu+0x60/0xc0)
  r10:80ae2508 r9:80171c48 r8:80e3e000 r7:80e282e4 r6:00000000 r5:80fff800
  r4:00000000
 [<80170cd8>] (handle_irq_event_percpu) from [<80170e2c>]
(handle_irq_event+0x94/0xb8)
  r7:80e282e4 r6:80fff878 r5:80fff818 r4:80fff800
 [<80170d98>] (handle_irq_event) from [<801761a4>]
(handle_edge_irq+0xec/0x10c)
  r7:80e282e4 r6:80fff878 r5:80fff818 r4:80fff800
 [<801760b8>] (handle_edge_irq) from [<8016fbb8>]
(generic_handle_irq+0x38/0x48)
  r7:80e282e4 r6:ffffe000 r5:80e3a640 r4:0000000c
 [<8016fb80>] (generic_handle_irq) from [<8043e98c>]
(mpc8xxx_gpio_irq_cascade+0xac/0xd0)
 [<8043e8e0>] (mpc8xxx_gpio_irq_cascade) from [<80171c80>]
(irq_forced_thread_fn+0x38/0x8c)
  r5:80e282c0 r4:80deda00
 [<80171c48>] (irq_forced_thread_fn) from [<80171eb4>]
(irq_thread+0x11c/0x238)
  r7:80e282e4 r6:ffffe000 r5:80e282c0 r4:80deda00
 [<80171d98>] (irq_thread) from [<8013d9bc>] (kthread+0x18c/0x19c)
  r10:80e121c0 r9:80e282c0 r8:80171d98 r7:80d15bf4 r6:80e28300 r5:80e3e000
  r4:80e28340
 [<8013d830>] (kthread) from [<80100130>] (ret_from_fork+0x14/0x24)
 Exception stack(0x80e3ffb0 to 0x80e3fff8)
 ffa0:                                     00000000 00000000 00000000
00000000
 ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
 ffe0: 00000000 00000000 00000000 00000000 00000013 00000000
  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:8013d830
  r4:80e28300 r3:80e121c0
 ---[ end trace 0000000000000002 ]---

Reverting commit 3d5bfbd9716318b1ca5c38488aa69f64d38a9aa5 (gpio:
mpc8xxx: change the gpio interrupt flags.) makes it go away, as does
disabling CONFIG_PREEMPT_RT or simply booting a vanilla v5.10.42 (where
that option exists but cannot be selected).

This seems to be the kind of thing where an -rt expert can immediately
see what's wrong and how to fix it. Ideas anyone?

Thanks,
Rasmus

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ