On Mon, 29 Jul 2013 09:01:48 +0200 Michal Simek <[email protected]> wrote:
> Fix inadvertent breakage in the clone syscall ABI for Microblaze
> that was introduced in this patch:
> "microblaze: switch to generic fork/vfork/clone"
> (sha1: f3268edbe6fe0ce56e62c6d6b14640aeb04864b7)
>
> The Microblaze syscall ABI for clone takes the parent tid address in
> the 4th argument; the third argument slot is used for the stack size.
> The incorrectly-used CLONE_BACKWARDS type assigned parent tid to the
> 3rd slot.
>
> This commit restores the original ABI so that existing userspace libc
> code will work correctly.
>
> All kernel versions from v3.8-rc1 were affected.
x86_64 allnoconfig generates screenfuls of
In file included from fs/signalfd.c:31:
include/linux/syscalls.h:805:5: warning: "CONFIG_CLONE_BACKWARDS3" is not defined
> --- a/include/linux/syscalls.h
> +++ b/include/linux/syscalls.h
> @@ -802,9 +802,14 @@ asmlinkage long sys_vfork(void);
> asmlinkage long sys_clone(unsigned long, unsigned long, int __user *, int,
> int __user *);
> #else
> +#if CONFIG_CLONE_BACKWARDS3
Presumably ifdef here will fix that. Please redo, retest and resend?
On 07/31/2013 10:10 PM, Andrew Morton wrote:
> On Mon, 29 Jul 2013 09:01:48 +0200 Michal Simek <[email protected]> wrote:
>
>> Fix inadvertent breakage in the clone syscall ABI for Microblaze
>> that was introduced in this patch:
>> "microblaze: switch to generic fork/vfork/clone"
>> (sha1: f3268edbe6fe0ce56e62c6d6b14640aeb04864b7)
>>
>> The Microblaze syscall ABI for clone takes the parent tid address in
>> the 4th argument; the third argument slot is used for the stack size.
>> The incorrectly-used CLONE_BACKWARDS type assigned parent tid to the
>> 3rd slot.
>>
>> This commit restores the original ABI so that existing userspace libc
>> code will work correctly.
>>
>> All kernel versions from v3.8-rc1 were affected.
>
> x86_64 allnoconfig generates screenfuls of
>
> In file included from fs/signalfd.c:31:
> include/linux/syscalls.h:805:5: warning: "CONFIG_CLONE_BACKWARDS3" is not defined
>
>> --- a/include/linux/syscalls.h
>> +++ b/include/linux/syscalls.h
>> @@ -802,9 +802,14 @@ asmlinkage long sys_vfork(void);
>> asmlinkage long sys_clone(unsigned long, unsigned long, int __user *, int,
>> int __user *);
>> #else
>> +#if CONFIG_CLONE_BACKWARDS3
>
> Presumably ifdef here will fix that. Please redo, retest and resend?
Yes,
I have got that email from Zero day testing system too.
Fixed in v4. I have also retest it for Microblaze.
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: http://www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform