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, 28 Sep 2011 21:44:36 +0200
From:	"Rafael J. Wysocki" <rjw@...k.pl>
To:	Bjorn Helgaas <bhelgaas@...gle.com>
Cc:	Jesse Barnes <jbarnes@...tuousgeek.org>,
	LKML <linux-kernel@...r.kernel.org>,
	Linux PM mailing list <linux-pm@...ts.linux-foundation.org>,
	ACPI Devel Mailing List <linux-acpi@...r.kernel.org>,
	linux-pci@...r.kernel.org
Subject: Re: [PATCH] PCI / PM: Remove unnecessary error variable from acpi_dev_run_wake()

On Wednesday, September 28, 2011, Bjorn Helgaas wrote:
> On Tue, Sep 27, 2011 at 4:01 PM, Rafael J. Wysocki <rjw@...k.pl> wrote:
> > From: Rafael J. Wysocki <rjw@...k.pl>
> >
> > The error variable in acpi_dev_run_wake() is not really used, so
> > remove it.
> >
> > Signed-off-by: Rafael J. Wysocki <rjw@...k.pl>
> > ---
> >  drivers/pci/pci-acpi.c |    3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > Index: linux/drivers/pci/pci-acpi.c
> > ===================================================================
> > --- linux.orig/drivers/pci/pci-acpi.c
> > +++ linux/drivers/pci/pci-acpi.c
> > @@ -282,7 +282,6 @@ static int acpi_dev_run_wake(struct devi
> >  {
> >        struct acpi_device *dev;
> >        acpi_handle handle;
> > -       int error = -ENODEV;
> >
> >        if (!device_run_wake(phys_dev))
> >                return -EINVAL;
> > @@ -302,7 +301,7 @@ static int acpi_dev_run_wake(struct devi
> >                acpi_disable_wakeup_device_power(dev);
> >        }
> >
> > -       return error;
> > +       return 0;
> >  }
> >
> >  static void acpi_pci_propagate_run_wake(struct pci_bus *bus, bool enable)
> 
> This looks like the right thing to do, but the current changelog
> suggests that we're just removing unused code.
> 
> But in fact, we'll now return 0 (success) when we used to return
> -ENODEV, so the behavior of the callers will change (probably fixing
> some bugs).  Do you want to mention that in the changelog as well?

Yes, good idea.

> I'm assuming this is for the 3.2 merge window, since it doesn't look
> like a regression fix.

Yes, it's 3.2 material.

Below is an updated patch.

Thanks,
Rafael

---
From: Rafael J. Wysocki <rjw@...k.pl>
Subject: PCI / PM: Return correct result from acpi_dev_run_wake()

The result returned by acpi_dev_run_wake() is always either -EINVAL
or -ENODEV, while obviously it should return 0 on success.  The
problem is that the leftover error variable, that's not really used
in the function, is initialized with -ENODEV and then returned
without modification.

To fix this issue remove the error variable from acpi_dev_run_wake()
and make the function return 0 on success as appropriate.

Signed-off-by: Rafael J. Wysocki <rjw@...k.pl>
---
 drivers/pci/pci-acpi.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Index: linux/drivers/pci/pci-acpi.c
===================================================================
--- linux.orig/drivers/pci/pci-acpi.c
+++ linux/drivers/pci/pci-acpi.c
@@ -282,7 +282,6 @@ static int acpi_dev_run_wake(struct devi
 {
 	struct acpi_device *dev;
 	acpi_handle handle;
-	int error = -ENODEV;
 
 	if (!device_run_wake(phys_dev))
 		return -EINVAL;
@@ -302,7 +301,7 @@ static int acpi_dev_run_wake(struct devi
 		acpi_disable_wakeup_device_power(dev);
 	}
 
-	return error;
+	return 0;
 }
 
 static void acpi_pci_propagate_run_wake(struct pci_bus *bus, bool enable)
--
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