: eclone() - Remove extra __user and add a comment
PATCH 1/1 : eclone() - Remove extra __user and add a comment
Sorry, I thought I had sent this minor patch out earlier, but I just realized I had not.
---
From: Sukadev Bhattiprolu <[email protected]>
Date: Mon, 3 May 2010 11:38:16 -0700
Subject: [PATCH 1/1] eclone(): Remove extra __user and add a comment
As pointed out by Russel King, '__user' does not make sense on an integer type. Remove it. Also add a comment on why we want 'stack_size' to be 0 on x86 and s390.
--- arch/s390/kernel/process.c | 5 ++++- arch/x86/kernel/process.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-)
arch/s390/kernel/process.c +4 -1
@@ -276,7 +276,7 @@ SYSCALL_DEFINE4(eclone, unsigned int, flags_low, struct clone_args __user *,int __user *parent_tid_ptr;int __user *child_tid_ptr;unsigned long flags; -unsigned long __user child_stack; +unsigned long child_stack;unsigned long stack_size; rc =fetch_clone_args_from_user (uca, args_size, &kca);
@@ -288,6 +288,9 @@ SYSCALL_DEFINE4(eclone, unsigned int, flags_low, struct clone_args __user *, child_tid_ptr = (int __user *) kca.child_tid_ptr; stack_size = (unsigned long ) kca.child_stack_size; +/* +* s390 does not need/use the stack_size. Ensure it is unused. +*/ if (stack_size)return -EINVAL ;
arch/x86/kernel/process.c +4 -1
@@ -268,7 +268,7 @@ sys_eclone(unsigned flags_low, struct clone_args __user *uca,unsigned long flags;int __user *parent_tidp;int __user *child_tidp; -unsigned long __user stack; +unsigned long stack;unsigned long stack_size; rc =fetch_clone_args_from_user (uca, args_size, &kca);
@@ -286,6 +286,9 @@ sys_eclone(unsigned flags_low, struct clone_args __user *uca, parent_tidp = (int *)(unsigned long )kca.parent_tid_ptr; child_tidp = (int *)(unsigned long )kca.child_tid_ptr; +/* +* x86 does not need/use the stack_size. Ensure it is unused. +*/ stack_size = (unsigned long )kca.child_stack_size;if (stack_size)return -EINVAL ;
A message that is not in the archive (sent off-list or not yet received): 20100504020439.GA5098-r/[email protected]
Oren Laadan
AppliedApplied in ckpt-v22-dev (will be pushed soon)
Thanks,
Oren.
Quoted 67 lines · Sukadev Bhattiprolu
Sorry, I thought I had sent this minor patch out earlier, but I just realized I had not.
---From: Sukadev Bhattiprolu <[email protected]>
Date: Mon, 3 May 2010 11:38:16 -0700
Subject: [PATCH 1/1]eclone(): Remove extra__userand add a commentAs pointed out by Russel King, '
__user' does not make sense on an integer type. Remove it. Also add a comment on why we want 'stack_size' to be 0 on x86 and s390.Signed-off-by Sukadev Bhattiprolu <[email protected]>--- arch/s390/kernel/process.c | 5 ++++- arch/x86/kernel/process.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-)arch/s390/kernel/process.c +4
-1@@ -276,7 +276,7 @@ SYSCALL_DEFINE4(eclone, unsigned int, flags_low, struct clone_args __user *,int __user *parent_tid_ptr;int __user *child_tid_ptr;unsigned long flags; -unsigned long __user child_stack; +unsigned long child_stack;unsigned long stack_size; rc =fetch_clone_args_from_user (uca, args_size, &kca);@@ -288,6 +288,9 @@ SYSCALL_DEFINE4(eclone, unsigned int, flags_low, struct clone_args __user *, child_tid_ptr = (int __user *) kca.child_tid_ptr; stack_size = (unsigned long ) kca.child_stack_size; +/* +* s390 does not need/use the stack_size. Ensure it is unused. +*/ if (stack_size)return -EINVAL ;arch/x86/kernel/process.c +4
-1@@ -268,7 +268,7 @@ sys_eclone(unsigned flags_low, struct clone_args __user *uca,unsigned long flags;int __user *parent_tidp;int __user *child_tidp; -unsigned long __user stack; +unsigned long stack;unsigned long stack_size; rc =fetch_clone_args_from_user (uca, args_size, &kca);@@ -286,6 +286,9 @@ sys_eclone(unsigned flags_low, struct clone_args __user *uca, parent_tidp = (int *)(unsigned long )kca.parent_tid_ptr; child_tidp = (int *)(unsigned long )kca.child_tid_ptr; +/* +* x86 does not need/use the stack_size. Ensure it is unused. +*/ stack_size = (unsigned long )kca.child_stack_size;if (stack_size)return -EINVAL ;
A message that is not in the archive (sent off-list or not yet received): [email protected]
Oh, well, Albert pointed out we could make all architectures specify stack as base and offset so applications won't need #ifdefs. I am planning on resending the eclone patchset with that change. So the following change is not needed now.
Sukadev
Oren Laadan [[email protected]] wrote:
| | Applied in ckpt-v22-dev (will be pushed soon) | | Thanks, | | Oren. | | On 05/03/2010 10:04 PM, Sukadev Bhattiprolu wrote: | > | > Sorry, I thought I had sent this minor patch out earlier, but I just | > realized I had not. | > --- | > | > From: Sukadev Bhattiprolu <[email protected]> | > Date: Mon, 3 May 2010 11:38:16 -0700 | > Subject: [PATCH 1/1] eclone(): Remove extra __user and add a comment | > | > As pointed out by Russel King, '__user' does not make sense on an integer | > type. Remove it. Also add a comment on why we want 'stack_size' to be 0 | > on x86 and s390. | > | > Signed-off-by: Sukadev Bhattiprolu <[email protected]> | > --- | > arch/s390/kernel/process.c | 5 ++++- | > arch/x86/kernel/process.c | 5 ++++- | > 2 files changed, 8 insertions(+), 2 deletions(-) | > | > diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c | > index efc7e8a..b00ffad 100644 | > --- a/arch/s390/kernel/process.c | > +++ b/arch/s390/kernel/process.c | > @@ -276,7 +276,7 @@ SYSCALL_DEFINE4(eclone, unsigned int, flags_low, struct clone_args __user *, | > int __user *parent_tid_ptr; | > int __user *child_tid_ptr; | > unsigned long flags; | > - unsigned long __user child_stack; | > + unsigned long child_stack; | > unsigned long stack_size; | > | > rc = fetch_clone_args_from_user(uca, args_size, &kca); | > @@ -288,6 +288,9 @@ SYSCALL_DEFINE4(eclone, unsigned int, flags_low, struct clone_args __user *, | > child_tid_ptr = (int __user *) kca.child_tid_ptr; | > | > stack_size = (unsigned long) kca.child_stack_size; | > + /* | > + * s390 does not need/use the stack_size. Ensure it is unused. | > + */ | > if (stack_size) | > return -EINVAL; | > | > diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c | > index 5abad20..8b1699a 100644 | > --- a/arch/x86/kernel/process.c | > +++ b/arch/x86/kernel/process.c | > @@ -268,7 +268,7 @@ sys_eclone(unsigned flags_low, struct clone_args __user *uca, | > unsigned long flags; | > int __user *parent_tidp; | > int __user *child_tidp; | > - unsigned long __user stack; | > + unsigned long stack; | > unsigned long stack_size; | > | > rc = fetch_clone_args_from_user(uca, args_size, &kca); | > @@ -286,6 +286,9 @@ sys_eclone(unsigned flags_low, struct clone_args __user *uca, | > parent_tidp = (int *)(unsigned long)kca.parent_tid_ptr; | > child_tidp = (int *)(unsigned long)kca.child_tid_ptr; | > | > + /* | > + * x86 does not need/use the stack_size. Ensure it is unused. | > + */ | > stack_size = (unsigned long)kca.child_stack_size; | > if (stack_size) | > return -EINVAL; | > | >
A message that is not in the archive (sent off-list or not yet received): 20100615224353.GA4985-r/[email protected]
Since I haven't pushed this yet, do you want me to un-pull this patch then ?
Quoted 84 lines · Sukadev Bhattiprolu
Oh, well, Albert pointed out we could make all architectures specify stack as base and offset so applications won't need #ifdefs. I am planning on resending the eclone patchset with that change. So the following change is not needed now.
Sukadev
Oren Laadan [[email protected]] wrote:
| | Applied in ckpt-v22-dev (will be pushed soon) | | Thanks, | | Oren. | | On 05/03/2010 10:04 PM, Sukadev Bhattiprolu wrote: | > | > Sorry, I thought I had sent this minor patch out earlier, but I just | > realized I had not. | > --- | > | > From: Sukadev Bhattiprolu <[email protected]> | > Date: Mon, 3 May 2010 11:38:16 -0700 | > Subject: [PATCH 1/1] eclone(): Remove extra __user and add a comment | > | > As pointed out by Russel King, '__user' does not make sense on an integer | > type. Remove it. Also add a comment on why we want 'stack_size' to be 0 | > on x86 and s390. | > | > Signed-off-by: Sukadev Bhattiprolu <[email protected]> | > --- | > arch/s390/kernel/process.c | 5 ++++- | > arch/x86/kernel/process.c | 5 ++++- | > 2 files changed, 8 insertions(+), 2 deletions(-) | > | > diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c | > index efc7e8a..b00ffad 100644 | > --- a/arch/s390/kernel/process.c | > +++ b/arch/s390/kernel/process.c | > @@ -276,7 +276,7 @@ SYSCALL_DEFINE4(eclone, unsigned int, flags_low, struct clone_args __user *, | > int __user *parent_tid_ptr; | > int __user *child_tid_ptr; | > unsigned long flags; | > - unsigned long __user child_stack; | > + unsigned long child_stack; | > unsigned long stack_size; | > | > rc = fetch_clone_args_from_user(uca, args_size, &kca); | > @@ -288,6 +288,9 @@ SYSCALL_DEFINE4(eclone, unsigned int, flags_low, struct clone_args __user *, | > child_tid_ptr = (int __user *) kca.child_tid_ptr; | > | > stack_size = (unsigned long) kca.child_stack_size; | > + /* | > + * s390 does not need/use the stack_size. Ensure it is unused. | > + */ | > if (stack_size) | > return -EINVAL; | > | > diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c | > index 5abad20..8b1699a 100644 | > --- a/arch/x86/kernel/process.c | > +++ b/arch/x86/kernel/process.c | > @@ -268,7 +268,7 @@ sys_eclone(unsigned flags_low, struct clone_args __user *uca, | > unsigned long flags; | > int __user *parent_tidp; | > int __user *child_tidp; | > - unsigned long __user stack; | > + unsigned long stack; | > unsigned long stack_size; | > | > rc = fetch_clone_args_from_user(uca, args_size, &kca); | > @@ -286,6 +286,9 @@ sys_eclone(unsigned flags_low, struct clone_args __user *uca, | > parent_tidp = (int *)(unsigned long)kca.parent_tid_ptr; | > child_tidp = (int *)(unsigned long)kca.child_tid_ptr; | > | > + /* | > + * x86 does not need/use the stack_size. Ensure it is unused. | > + */ | > stack_size = (unsigned long)kca.child_stack_size; | > if (stack_size) | > return -EINVAL; | > | >