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]
Message-ID: <1294415045.4895.16.camel@mulgrave.site>
Date:	Fri, 07 Jan 2011 09:44:04 -0600
From:	James Bottomley <James.Bottomley@...e.de>
To:	Geert Uytterhoeven <geert@...ux-m68k.org>
Cc:	Nicholas Bellinger <nab@...ux-iscsi.org>,
	scsi <linux-scsi@...r.kernel.org>,
	Linux-Next <linux-next@...r.kernel.org>,
	linux-kernel@...r.kernel.org
Subject: Re: [-next] ERROR: "strchr" [drivers/target/target_core_mod.ko]
 undefined!

On Fri, 2011-01-07 at 11:57 +0100, Geert Uytterhoeven wrote:
> Since a few days, linux-next shows:
> 
> | ERROR: "strchr" [drivers/target/target_core_mod.ko] undefined!
> 
> in m68k allmodconfig builds
> (http://kisskb.ellerman.id.au/kisskb/buildresult/3754323/).
> 
> I guess this is caused by the following 3 calls to strstr():
> 
> drivers/target/target_core_configfs.c:
> +       ptr = strstr(page, "1");
> 
> +       str = strstr(buf, "_");
> 
> +       str2 = strstr(str+1, "_");
> 
> Some versions of gcc replace calls to strstr() with single-character
> "needle" string parameters by calls to strchr() behind our back.
> This causes linking errors if strchr() is defined as an inline function
> in <asm/string.h> (e.g. on m68k).
> 
> You can prevent this by explicitly calling strchr() instead.
> 
> Cfr. commit 59d309f9c8ef0bd01bf93cc0e758f1d810417bdb
> ("kgdb: Replace strstr() by strchr() for single-character needles).
> 
> Gr{oetje,eeting}s,

Surely the fix for this is not to inline it in m68k? If gcc is growing
the capability to make these types of transformations, it's not going to
stop at single entry string strstr().

If you want to keep the fast inline, there is a way (which I forget) to
drop an external reference as well, just in case.

James


--
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