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:	Tue, 22 Sep 2015 22:01:33 +0200
From:	Valentin Rothberg <valentinrothberg@...il.com>
To:	Sasha Levin <sasha.levin@...cle.com>
Cc:	broonie@...nsource.wolfsonmicro.com,
	Julia Lawall <julia.lawall@...6.fr>,
	linux-kernel@...r.kernel.org, fengguang.wu@...el.com,
	cbouatmailru@...il.com
Subject: Re: drivers/power/wm831x_power.c:569:7-27: ERROR: Threaded IRQ with
 no primary handler requested without IRQF_ONESHOT

Hi Sasha,

On Sep 22 '15 15:41, Sasha Levin wrote:
> Hi folks,
> 
> I'm slightly confused about the bisection: it points out to a gcc5
> support patch, what does it have to do with wm831x?

I don't know why it points to the gcc patch.  I asked this myself as
well and I couldn't figure out a relation between you and the driver,
but somehow I trusted the report - a machine must know better :)
Sorry for making the noise.

I CCed Anton, who signed with Mark the responsible commit.

Best regards,
 Valentin

> Thanks,
> Sasha
> 
> On 09/22/2015 01:28 PM, Valentin Rothberg wrote:
> > 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
> > 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ