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]
Message-ID: <b73a4a2d-2820-8f44-aff3-07aaae823b00@linaro.org>
Date:   Thu, 12 Oct 2017 14:47:47 +0200
From:   Daniel Lezcano <daniel.lezcano@...aro.org>
To:     David Kozub <zub@...ux.fjfi.cvut.cz>
Cc:     Thomas Gleixner <tglx@...utronix.de>, linux-kernel@...r.kernel.org
Subject: Re: PROBLEM: Kernel BUG in mfgpt_tick (cs5535-clockevt.c) on ALIX 2c3
 - null call

On 11/10/2017 22:48, David Kozub wrote:

[ ... ]

>>
>> +       disable_timer(timer);
>> +       cs5535_mfgpt_write(timer, MFGPT_REG_COUNTER, 0);
>> +
>>        /* Set up the IRQ on the MFGPT side */
>>        if (cs5535_mfgpt_setup_irq(timer, MFGPT_CMP2, &timer_irq)) {
>>                printk(KERN_ERR DRV_NAME ": Could not set up IRQ %d\n",
> 
> I tried that and the handler is still called. So I did some more random
> experiments and I found out that if I call disable_timer(timer) twice,
> then the issue is resolved (the handler is not called before the
> registration is finished.) And I don't have to set MFGPT_REG_COUNTER to 0.

Aha! we are close to a fix.

> I have no idea why do I have to call disable_timer twice.

For testing purpose, can you try by adding mmiowb() and/or wmb() after
disable_timer()?




-- 
 <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ