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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87furxgclm.fsf@rasmusvillemoes.dk>
Date:	Wed, 29 Jun 2016 00:41:57 +0200
From:	Rasmus Villemoes <linux@...musvillemoes.dk>
To:	pageexec@...email.hu
Cc:	Emese Revfy <re.emese@...il.com>,
	kernel-hardening@...ts.openwall.com, spender@...ecurity.net,
	mmarek@...e.com, keescook@...omium.org,
	linux-kernel@...r.kernel.org, yamada.masahiro@...ionext.com,
	linux-kbuild@...r.kernel.org, minipli@...linux.so,
	linux@...linux.org.uk, catalin.marinas@....com,
	david.brown@...aro.org, benh@...nel.crashing.org,
	tglx@...utronix.de, akpm@...ux-foundation.org,
	jlayton@...chiereds.net, arnd@...db.de
Subject: Re: [PATCH v1 2/2] Mark functions with the __nocapture attribute

On Tue, Jun 28 2016, "PaX Team" <pageexec@...email.hu> wrote:

> On 28 Jun 2016 at 22:50, Rasmus Villemoes wrote:
>
>> > +extern const char *kstrdup_const(const char *s, gfp_t gfp) __nocapture(1);
>> 
>> OK, so this one is pretty dangerous, and probably wrong. If one does
>> 
>>   foo->bar = kstrdup_const(a-macro-that-might-be-a-string-literal)
>> 
>> in an .init function, foo->bar will very likely become dangling.
>
> doesn't kstrdup_const omit the copy only for arguments that are stored in
> .rodata (which doesn't include .init.rodata* and other init sections)?
>

Ah, right. But that's a little subtle. Also, it kind of defeats the
purpose of kstrdup_const - but it's probably not actually called with a
string literal all that often.

In any case, I think there's still a problem with strchr() and friends.

Rasmus

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ