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-next>] [day] [month] [year] [list]
Message-Id: <1217090446.5971.57.camel@brick>
Date:	Sat, 26 Jul 2008 09:40:46 -0700
From:	Harvey Harrison <harvey.harrison@...il.com>
To:	Olaf Hering <olaf@...fle.de>
Cc:	Andrew Morton <akpm@...ux-foundation.org>,
	"H. Peter Anvin" <hpa@...or.com>, Ingo Molnar <mingo@...e.hu>,
	LKML <linux-kernel@...r.kernel.org>
Subject: Re: Fw: asm-x86/byteorder.h, CONFIG_X86_BSWAP leaks to userland

On Sat, 2008-07-26 at 01:39 -0700, Andrew Morton wrote:
> 
> Begin forwarded message:
> 
> Date: Mon, 21 Jul 2008 15:18:46 +0200
> From: Olaf Hering <olaf@...fle.de>
> To: linux-kernel@...r.kernel.org
> Subject: asm-x86/byteorder.h, CONFIG_X86_BSWAP leaks to userland
> What is the purpose of CONFIG_X86_BSWAP in asm-x86/byteorder.h?
> 
> An undefined CONFIG_foo defaults to 0 (I think), so bswap is never used.
> Is this done on purpose, or can the CONFIG_ foo be moved inside
> __KERNEL__ somehow?

I believe it's there to prevent the bswap instruction from being used on
early x86_32 models (i386/i486).  As this will be 0 in userspace it is
effectively never using the bswap instruction for these routines.

I'm not sure if it's time yet to make the bswap ones be exported, as they
would no longer be usable for those early machines.  X86 guys CC:d.

Harvey

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