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] [day] [month] [year] [list]
Message-Id: <20060926144716.5cb606a1.akpm@osdl.org>
Date:	Tue, 26 Sep 2006 14:47:16 -0700
From:	Andrew Morton <akpm@...l.org>
To:	Henne <henne@...htwindheim.de>
Cc:	jirislaby@...il.com, linux-kernel@...r.kernel.org
Subject: Re: droping a patch in mm

On Mon, 25 Sep 2006 12:39:01 +0200
Henne <henne@...htwindheim.de> wrote:

> >Jiri Slaby schrieb:
> 
> >>Henne wrote:
> >>Hi!
> >>Would you please drop:
> >>pci_module_init_conversion-in-scsi-subsys-2nd-try.patch
> >>cause it the moving of libata now it will only produce a lot of errors.
> >>I'll rewrite it today.
> >
> >And this wrong too in that patch:
> >-    /* Translate error or zero return into zero or one */
> >-    return pci_module_init(&aic7xxx_pci_driver) ? 0 : 1;
> >+    return pci_register_driver(&aic7xxx_pci_driver);
> >
> >regards,
> 
> Acked! But I don't think thats good style to __translate__ return values,
> even if this one is ignored.
> I'll keep it the way it was and just change pci_module_init() into pci_register_driver().
> 
> From: Henrik Kretzschmar <henne@...htwindheim.de>
> 
> Changes pci_module_init() to pci_register_driver() in the scsi-subsys
> for drivers which just return the returvalue of that function.
> Signed-off-by: Henrik Kretzschmar <henne@...htwindheim.de>

Your new patch boils down to this:

--- a/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c~pci_module_init-conversion-in-scsi-subsys-2nd-try-update
+++ a/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c
@@ -246,7 +246,8 @@ ahc_linux_pci_dev_probe(struct pci_dev *
 int
 ahc_linux_pci_init(void)
 {
-	return pci_register_driver(&aic7xxx_pci_driver);
+	/* Translate error or zero return into zero or one */
+	return pci_register_driver(&aic7xxx_pci_driver) ? 0 : 1;
 }
 
 void
_


But the earlier verion was better, and ahc_linux_pci_init() has only one
caller which cheerfully ignores the error code anyway.

pci_register_driver() is (or will be) marked __must_check. 
ahc_linux_pci_init() will cunningly suppress that warning, while leaving the
driver in an incorrect state.

An appropriate fix would be to teach the rather optimistic ahc_linux_init()
about failures.
-
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