Re: [PATCHv2 1/2] clone: Support passing tls argument via C rather than pt_regs magic
From: <hidden>
Date: 2015-05-13 00:53:49
Also in:
lkml
On Tue, May 12, 2015 at 02:22:50PM -0700, Andrew Morton wrote:
On Mon, 11 May 2015 12:29:19 -0700 Josh Triplett [off-list ref] wrote:quoted
Introduce a new CONFIG_HAVE_COPY_THREAD_TLS for architectures to opt into, and a new copy_thread_tls that accepts the tls parameter as an additional unsigned long (syscall-argument-sized) argument. Change sys_clone's tls argument to an unsigned long (which does not change the ABI), and pass that down to copy_thread_tls. Architectures that don't opt into copy_thread_tls will continue to ignore the C argument to sys_clone in favor of the pt_regs captured at kernel entry, and thus will be unable to introduce new versions of the clone syscall.What happens quite frequently is that we do something for x86 with the expectation that other architectures will follow along, but this doesn't happen. The arch maintainers simply didn't know about it or nobody nags them. Nothing happens and inconsistencies hang around for years. eg, http://lkml.iu.edu/hypermail/linux/kernel/1504.2/04993.html
In this case, there will be a very clear incentive to switch to CONFIG_HAVE_COPY_THREAD_TLS: if you don't, you can't enable new syscalls. - Josh Triplett