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: <20100820120737.GS31363@ZenIV.linux.org.uk>
Date:	Fri, 20 Aug 2010 13:07:37 +0100
From:	Al Viro <viro@...IV.linux.org.uk>
To:	Andi Kleen <andi@...stfloor.org>
Cc:	Namhyung Kim <namhyung@...il.com>, Arnd Bergmann <arnd@...db.de>,
	linux-arch@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [RFC][PATCH] introduce ptr_diff()

On Thu, Aug 19, 2010 at 02:23:09PM +0200, Andi Kleen wrote:
> Namhyung Kim <namhyung@...il.com> writes:
> 
> > When I compiled allyesconfig'ed kernel with C=1, I got 1519 lines of
> > following message:
> >
> >  include/linux/mm.h:599:16: warning: potentially expensive pointer subtraction
> >
> > which is around 10% of total warnings. this was caused by page_to_pfn() macro
> > so I think it's worth to remove it by calculating pointer subtraction
> > manually.
> 
> IMHO it would be better to simply disable the warning in sparse instead
> of uglying the code just to work around sparse bogosity. It doesnt' seem
> to make much sense. A subtraction followed by a shift is not expensive.

"Bogosity" in question is quite real and proposed "fix" actually makes the
things even worse.  At least gcc bothers to optimize the division in there...

Basically, sparse warns about pointer subtractions that divide by constants
that are not powers of two.  Which _does_ have non-trivial price, even with
optimizations done by gcc.

Posted patch is complete crap, since all it does is
	a) confuse sparse into not noticing the operation
	b) confuse gcc into not trying to optimize the thing, which actually
makes the situation *worse*.

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