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
| ||
|
Message-ID: <BD3A5F1946F2E540A31AF2CE969BAEEEC28256@MIPSMAIL01.mipstec.com> Date: Tue, 26 Dec 2017 15:12:06 +0000 From: Aleksandar Markovic <Aleksandar.Markovic@...s.com> To: Mathieu Malaterre <malat@...ian.org> CC: Ralf Baechle <ralf@...ux-mips.org>, Miodrag Dinic <Miodrag.Dinic@...s.com>, Goran Ferenc <goran.ferenc@...tec.com>, James Hogan <jhogan@...nel.org>, Douglas Leung <douglas.leung@...tec.com>, "linux-mips@...ux-mips.org" <linux-mips@...ux-mips.org>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org> Subject: RE: [PATCH 2/2] MIPS: math-emu: Declare ys variable as possibly unused > Fix non-fatal warning: > > arch/mips/math-emu/sp_fdp.c: In function ‘ieee754sp_fdp’: > arch/mips/math-emu/ieee754int.h:60:31: warning: variable ‘ys’ set but not used [-Wunused-but-set-variable] > unsigned int ym; int ye; int ys; int yc > ^ > arch/mips/math-emu/sp_fdp.c:37:2: note: in expansion of macro ‘COMPYSP’ > COMPYSP; > ^~~~~~~ > > Signed-off-by: Mathieu Malaterre <malat@...ian.org> > --- > arch/mips/math-emu/ieee754int.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/mips/math-emu/ieee754int.h b/arch/mips/math-emu/ieee754int.h > index 06ac0e2ac7ac..cb8f04cd24bf 100644 > --- a/arch/mips/math-emu/ieee754int.h > +++ b/arch/mips/math-emu/ieee754int.h > @@ -57,7 +57,7 @@ static inline int ieee754_class_nan(int xc) > unsigned int xm; int xe; int xs __maybe_unused; int xc > > #define COMPYSP \ > - unsigned int ym; int ye; int ys; int yc > + unsigned int ym; int ye; int ys __maybe_unused; int yc > > #define COMPZSP \ > unsigned int zm; int ze; int zs; int zc This will silence the warning, but will do it for all future cases of unused ys too - in other words, it may well silence even useful, valid warnings. Also, this introduces an inconsistency among COMPXSP, COMPYSP, and COMPZSP macros. A better solution would be to reduce the scope of ys, so that it is always used, if declared. Instead of this code segment (in arch/mips/math-emu/sp_fdp.c): union ieee754sp ieee754sp_fdp(union ieee754dp x) { union ieee754sp y; u32 rm; COMPXDP; COMPYSP; EXPLODEXDP; ieee754_clearcx(); FLUSHXDP; switch (xc) { case IEEE754_CLASS_SNAN: x = ieee754dp_nanxcpt(x); EXPLODEXDP; /* Fall through. */ case IEEE754_CLASS_QNAN: y = ieee754sp_nan_fdp(xs, xm); if (!ieee754_csr.nan2008) { EXPLODEYSP; if (!ieee754_class_nan(yc)) y = ieee754sp_indef(); } return y; .. should be the following: (COMPYSP is moved to a smaller code block) union ieee754sp ieee754sp_fdp(union ieee754dp x) { union ieee754sp y; u32 rm; COMPXDP; EXPLODEXDP; ieee754_clearcx(); FLUSHXDP; switch (xc) { case IEEE754_CLASS_SNAN: x = ieee754dp_nanxcpt(x); EXPLODEXDP; /* Fall through. */ case IEEE754_CLASS_QNAN: { COMPYSP; y = ieee754sp_nan_fdp(xs, xm); if (!ieee754_csr.nan2008) { EXPLODEYSP; if (!ieee754_class_nan(yc)) y = ieee754sp_indef(); } return y; } Regards, Aleksandar
Powered by blists - more mailing lists