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-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 24 Feb 2021 16:00:14 +0100
From:   Alexandre Belloni <alexandre.belloni@...tlin.com>
To:     Bruno Thomsen <bruno.thomsen@...il.com>
Cc:     Guenter Roeck <linux@...ck-us.net>, linux-watchdog@...r.kernel.org,
        linux-rtc@...r.kernel.org,
        open list <linux-kernel@...r.kernel.org>,
        Lars Alex Pedersen <laa@...strup.com>,
        Bruno Thomsen <bth@...strup.com>,
        NXP Linux Team <linux-imx@....com>
Subject: Re: watchdog: pcf2127: systemd fails on 5.11

Hi,

On 24/02/2021 15:55:00+0100, Bruno Thomsen wrote:
> You could be right about that, I don't think the watchdog feature should
> be available for use if the alarm feature is enabled due to how CTRL2
> register behaves.
> 
> The hardware I am testing on is a custom board, but it's actually
> possible to get a Raspberry Pi module called RasClock that has
> the chip.
> 

I have an eval board for the PCF2127 (and PCF2129), the OM13513.

> I will test some locking around WD_VAL register access as that is used
> in pcf2127_wdt_ping function.
> 
> My initial test shows that spin_lock_irqsave around regmap calls are not
> a good idea as it result in:
> BUG: scheduling while atomic: watchdog/70/0x00000002
> BUG: scheduling while atomic: systemd/1/0x00000002
> 

The issue is not only regmap but the fact that i2C and spi accesses are
allowed to sleep.


-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ