[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150922172823.GA13598@ubuntu-vm>
Date: Tue, 22 Sep 2015 19:28:23 +0200
From: Valentin Rothberg <valentinrothberg@...il.com>
To: sasha.levin@...cle.com
Cc: broonie@...nsource.wolfsonmicro.com,
Julia Lawall <julia.lawall@...6.fr>,
linux-kernel@...r.kernel.org, fengguang.wu@...el.com
Subject: Re: drivers/power/wm831x_power.c:569:7-27: ERROR: Threaded IRQ with
no primary handler requested without IRQF_ONESHOT
Hi Sasha,
Julia forwarded the report (see below) to me. Unless
IRQCHIP_ONESHOT_SAFE is set, requesting a threaded IRQ will always fail
when the primary handler is set to NULL. In some cases there's a
potential to run into stack overflows.
I attached a patch that fixes the issue.
Kind regards,
Valentin
---------- Forwarded message ----------
Date: Tue, 22 Sep 2015 21:42:18 +0800
From: kbuild test robot <fengguang.wu@...el.com>
To: kbuild@...org
Cc: Julia Lawall <julia.lawall@...6.fr>
Subject: drivers/power/wm831x_power.c:569:7-27: ERROR: Threaded IRQ with no
primary handler requested without IRQF_ONESHOT
TO: Sasha Levin <sasha.levin@...cle.com>
CC: kbuild-all@...org
CC: Andrew Morton <akpm@...ux-foundation.org>
CC: Linux Memory Management List <linux-mm@...ck.org>
Hi Sasha,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: bcee19f424a0d8c26ecf2607b73c690802658b29
commit: 71458cfc782eafe4b27656e078d379a34e472adf kernel: add support for gcc 5
date: 11 months ago
:::::: branch date: 12 hours ago
:::::: commit date: 11 months ago
>> drivers/power/wm831x_power.c:569:7-27: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT
drivers/power/wm831x_power.c:579:7-27: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT
drivers/power/wm831x_power.c:592:8-28: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT
--
>> drivers/power/88pm860x_battery.c:243:1-4: WARNING: end returns can be simpified if negative or 0 value
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout 71458cfc782eafe4b27656e078d379a34e472adf
vim +569 drivers/power/wm831x_power.c
35c3ae5e Mark Brown 2011-08-16 553 if (ret < 0)
35c3ae5e Mark Brown 2011-08-16 554 goto err_wall;
35c3ae5e Mark Brown 2011-08-16 555 power->have_battery = ret & WM831X_CHG_ENA;
35c3ae5e Mark Brown 2011-08-16 556
35c3ae5e Mark Brown 2011-08-16 557 if (power->have_battery) {
35c3ae5e Mark Brown 2011-08-16 558 battery->name = power->battery_name;
35c3ae5e Mark Brown 2011-08-16 559 battery->properties = wm831x_bat_props;
35c3ae5e Mark Brown 2011-08-16 560 battery->num_properties = ARRAY_SIZE(wm831x_bat_props);
35c3ae5e Mark Brown 2011-08-16 561 battery->get_property = wm831x_bat_get_prop;
35c3ae5e Mark Brown 2011-08-16 562 battery->use_for_apm = 1;
35c3ae5e Mark Brown 2011-08-16 563 ret = power_supply_register(&pdev->dev, battery);
35c3ae5e Mark Brown 2011-08-16 564 if (ret)
35c3ae5e Mark Brown 2011-08-16 565 goto err_usb;
35c3ae5e Mark Brown 2011-08-16 566 }
3961f7c3 Mark Brown 2009-08-10 567
cd99758b Mark Brown 2012-05-14 568 irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "SYSLO"));
b5874f33 Mark Brown 2010-03-10 @569 ret = request_threaded_irq(irq, NULL, wm831x_syslo_irq,
b5874f33 Mark Brown 2010-03-10 570 IRQF_TRIGGER_RISING, "System power low",
3961f7c3 Mark Brown 2009-08-10 571 power);
3961f7c3 Mark Brown 2009-08-10 572 if (ret != 0) {
3961f7c3 Mark Brown 2009-08-10 573 dev_err(&pdev->dev, "Failed to request SYSLO IRQ %d: %d\n",
3961f7c3 Mark Brown 2009-08-10 574 irq, ret);
35c3ae5e Mark Brown 2011-08-16 575 goto err_battery;
3961f7c3 Mark Brown 2009-08-10 576 }
3961f7c3 Mark Brown 2009-08-10 577
:::::: The code at line 569 was first introduced by commit
:::::: b5874f33bbaf00586d05de37706491ee37057e11 wm831x_power: Use genirq
:::::: TO: Mark Brown <broonie@...nsource.wolfsonmicro.com>
:::::: CC: Anton Vorontsov <cbouatmailru@...il.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
View attachment "0001-wm831x_power-Use-IRQF_ONESHOT-to-request-threaded-IR.patch" of type "text/x-diff" (2068 bytes)
Powered by blists - more mailing lists