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]
Date:	Thu, 21 Oct 2010 13:16:10 -0700
From:	Linus Torvalds <torvalds@...ux-foundation.org>
To:	Ingo Molnar <mingo@...e.hu>
Cc:	linux-kernel@...r.kernel.org, "H. Peter Anvin" <hpa@...or.com>,
	Thomas Gleixner <tglx@...utronix.de>,
	Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [GIT PULL] x86/asm changes for v2.6.37

On Thu, Oct 21, 2010 at 6:21 AM, Ingo Molnar <mingo@...e.hu> wrote:
>
> Jan Beulich (1):
>      i386: Make kernel_execve() suitable for stack unwinding
>
>        long __res;
> -       asm volatile ("push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx"
> +       asm volatile ("int $0x80"
>        : "=a" (__res)
> -       : "0" (__NR_execve), "ri" (filename), "c" (argv), "d" (envp) : "memory");
> +       : "0" (__NR_execve), "b" (filename), "c" (argv), "d" (envp) : "memory");
>        return __res;
>  }

I pulled this, but there's a reason we used to do it that way - gcc
has had bugs with inline asm changing %ebx due to some bad interaction
with using it as the GOT base register for position-independent code
or something.

So I hope those are all solved, and I guess we use -fPIC only for some
early boot code. But in case this is ever used in some environment
that is PIC (the vsyscall page?) we need to worry about gcc
interactions.

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