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]
Date:   Sat, 24 Sep 2022 16:06:15 +0200
From:   Dominik Brodowski <linux@...inikbrodowski.net>
To:     Arnd Bergmann <arnd@...db.de>
Cc:     Souptick Joarder <jrdr.linux@...il.com>,
        Tony Lindgren <tony@...mide.com>, linux-kernel@...r.kernel.org,
        kernel test robot <lkp@...el.com>
Subject: Re: [PATCH] pcmcia: Removed unused variable control.

Am Fri, Sep 23, 2022 at 08:58:47AM +0200 schrieb Arnd Bergmann:
> On Thu, Sep 22, 2022, at 4:39 PM, Dominik Brodowski wrote:
> > Am Mon, Jul 25, 2022 at 06:59:55AM +0530 schrieb Souptick Joarder:
> >> From: "Souptick Joarder (HPE)" <jrdr.linux@...il.com>
> >> 
> >> Kernel test robot throws below warning ->
> >> drivers/pcmcia/omap_cf.c:127:7: warning: variable 'control'
> >> set but not used [-Wunused-but-set-variable]
> >> 
> >> Removed unused variable control.
> >
> > From a code-generation standpoint, this is obiously correct, and probably
> > the compiler removes that omap_readw() already.
> 
> omap_readw() is an 'extern' function, so it does not get removed.
> 
> Even if it was inline, it's still "and volatile" read that gets
> left in because it may (and probably does) have side-effects.
> 
> > But, to be honest, I'm not
> > perfectly sure on what the device expects -- and whether it's required to
> > write back the control register (or parts of it). Does anyone still have the
> > hardware (or specs)? If not, I'm tempted to apply this patch on the basis
> > that the compiler might remove that omap_readw() anyway.
> 
> I think assigning to an unused variable was at some point needed to
> avoid a compiler warning because otherwise omap_readw() was just a
> pointer dereference. The safe way to transform the code should be to
> drop the variable but leave the function call.
> 
> Note that the driver is only used on the 'osk' reference board,
> not on any devices that were in mass-production.

Thanks for the evaluation, Arnd! So here's what I intend to push upstream:

From: "Souptick Joarder (HPE)" <jrdr.linux@...il.com>

Kernel test robot throws below warning ->
drivers/pcmcia/omap_cf.c:127:7: warning: variable 'control'
set but not used [-Wunused-but-set-variable]

Removed unused variable control.

Reported-by: kernel test robot <lkp@...el.com>
Signed-off-by: Souptick Joarder (HPE) <jrdr.linux@...il.com>
[linux@...inikbrodowski.net: retain omap_readw() call, as it might be required]
Signed-off-by: Dominik Brodowski <linux@...inikbrodowski.net>

diff --git a/drivers/pcmcia/omap_cf.c b/drivers/pcmcia/omap_cf.c
index 1972a8f6fa8e..d3f827d4224a 100644
--- a/drivers/pcmcia/omap_cf.c
+++ b/drivers/pcmcia/omap_cf.c
@@ -124,8 +124,6 @@ static int omap_cf_get_status(struct pcmcia_socket *s, u_int *sp)
 static int
 omap_cf_set_socket(struct pcmcia_socket *sock, struct socket_state_t *s)
 {
-	u16		control;
-
 	/* REVISIT some non-OSK boards may support power switching */
 	switch (s->Vcc) {
 	case 0:
@@ -135,7 +133,7 @@ omap_cf_set_socket(struct pcmcia_socket *sock, struct socket_state_t *s)
 		return -EINVAL;
 	}
 
-	control = omap_readw(CF_CONTROL);
+	omap_readw(CF_CONTROL);
 	if (s->flags & SS_RESET)
 		omap_writew(CF_CONTROL_RESET, CF_CONTROL);
 	else

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ