* Re: [PATCH 09/16] um: use get_personality() [not found] ` <12035064291055-git-send-email-xiyou.wangcong@gmail.com> @ 2008-02-20 16:27 ` Jeff Dike 2008-02-22 12:39 ` WANG Cong 0 siblings, 1 reply; 4+ messages in thread From: Jeff Dike @ 2008-02-20 16:27 UTC (permalink / raw) To: WANG Cong; +Cc: LKML, Andrew Morton On Wed, Feb 20, 2008 at 07:19:13PM +0800, WANG Cong wrote: > Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> Looks good - you should add some sort of changelog though. Jeff -- Work email - jdike at linux dot intel dot com ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 09/16] um: use get_personality() 2008-02-20 16:27 ` [PATCH 09/16] um: use get_personality() Jeff Dike @ 2008-02-22 12:39 ` WANG Cong 2008-02-23 7:47 ` Andrew Morton 0 siblings, 1 reply; 4+ messages in thread From: WANG Cong @ 2008-02-22 12:39 UTC (permalink / raw) To: jdike; +Cc: linux-kernel, akpm From: Jeff Dike <jdike@addtoit.com> Subject: Re: [PATCH 09/16] um: use get_personality() Date: Wed, 20 Feb 2008 11:27:34 -0500 Message-ID: <20080220162734.GC8828@c2.user-mode-linux.org> > On Wed, Feb 20, 2008 at 07:19:13PM +0800, WANG Cong wrote: > > Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> > > Looks good - you should add some sort of changelog though. > Thanks, Jeff. It seems that you're the only one who received this patchset of mine. And I found that lkml.org didn't receive these neither. ;( I don't know if Andrew received all of them, if not, I must resend. Regards. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 09/16] um: use get_personality() 2008-02-22 12:39 ` WANG Cong @ 2008-02-23 7:47 ` Andrew Morton 0 siblings, 0 replies; 4+ messages in thread From: Andrew Morton @ 2008-02-23 7:47 UTC (permalink / raw) To: WANG Cong; +Cc: jdike, linux-kernel On Fri, 22 Feb 2008 20:39:00 +0800 (CST) WANG Cong <xiyou.wangcong@gmail.com> wrote: > From: Jeff Dike <jdike@addtoit.com> > Subject: Re: [PATCH 09/16] um: use get_personality() > Date: Wed, 20 Feb 2008 11:27:34 -0500 > Message-ID: <20080220162734.GC8828@c2.user-mode-linux.org> > > > On Wed, Feb 20, 2008 at 07:19:13PM +0800, WANG Cong wrote: > > > Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> > > > > Looks good - you should add some sort of changelog though. > > > > Thanks, Jeff. > > It seems that you're the only one who received this patchset of mine. > And I found that lkml.org didn't receive these neither. ;( > > I don't know if Andrew received all of them, if not, I must resend. > No, I don't seem to have received them. ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 00/16] (Resend) Use get_personality() @ 2008-02-23 8:14 WANG Cong 2008-02-23 8:14 ` [PATCH 01/16] Make the macro get_personality function-like WANG Cong 0 siblings, 1 reply; 4+ messages in thread From: WANG Cong @ 2008-02-23 8:14 UTC (permalink / raw) To: Andrew Morton; +Cc: LKML, WANG Cong This patchset makes the macro get_personality function alike and teaches code to use get_personality() instead of explicit reference. [I am sorry if you've received multiple copied of this, since my git-send-email doesn't work well. ] Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 01/16] Make the macro get_personality function-like. 2008-02-23 8:14 [PATCH 00/16] (Resend) Use get_personality() WANG Cong @ 2008-02-23 8:14 ` WANG Cong 2008-02-23 8:14 ` [PATCH 02/16] mm: use get_personality() WANG Cong 0 siblings, 1 reply; 4+ messages in thread From: WANG Cong @ 2008-02-23 8:14 UTC (permalink / raw) To: Andrew Morton; +Cc: LKML, WANG Cong, Christoph Hellwig, Bryan Wu, David Howells This patch makes the macro get_personality function-like. Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Bryan Wu <bryan.wu@analog.com> Cc: David Howells <dhowells@redhat.com> --- arch/blackfin/kernel/signal.c | 2 +- arch/frv/kernel/signal.c | 4 ++-- include/linux/personality.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/blackfin/kernel/signal.c b/arch/blackfin/kernel/signal.c index 5564c95..f3ef4ee 100644 --- a/arch/blackfin/kernel/signal.c +++ b/arch/blackfin/kernel/signal.c @@ -224,7 +224,7 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t * info, /* Set up registers for signal handler */ wrusp((unsigned long)frame); - if (get_personality & FDPIC_FUNCPTRS) { + if (get_personality() & FDPIC_FUNCPTRS) { struct fdpic_func_descriptor __user *funcptr = (struct fdpic_func_descriptor *) ka->sa.sa_handler; __get_user(regs->pc, &funcptr->text); diff --git a/arch/frv/kernel/signal.c b/arch/frv/kernel/signal.c index d64bcaf..7e4405d 100644 --- a/arch/frv/kernel/signal.c +++ b/arch/frv/kernel/signal.c @@ -297,7 +297,7 @@ static int setup_frame(int sig, struct k_sigaction *ka, sigset_t *set) __frame->lr = (unsigned long) &frame->retcode; __frame->gr8 = sig; - if (get_personality & FDPIC_FUNCPTRS) { + if (get_personality() & FDPIC_FUNCPTRS) { struct fdpic_func_descriptor __user *funcptr = (struct fdpic_func_descriptor __user *) ka->sa.sa_handler; __get_user(__frame->pc, &funcptr->text); @@ -396,7 +396,7 @@ static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, __frame->gr8 = sig; __frame->gr9 = (unsigned long) &frame->info; - if (get_personality & FDPIC_FUNCPTRS) { + if (get_personality() & FDPIC_FUNCPTRS) { struct fdpic_func_descriptor __user *funcptr = (struct fdpic_func_descriptor __user *) ka->sa.sa_handler; __get_user(__frame->pc, &funcptr->text); diff --git a/include/linux/personality.h b/include/linux/personality.h index 012cd55..1891b31 100644 --- a/include/linux/personality.h +++ b/include/linux/personality.h @@ -108,7 +108,7 @@ struct exec_domain { /* * Personality of the currently running process. */ -#define get_personality (current->personality) +#define get_personality() (current->personality) /* * Change personality of the currently running process. -- 1.5.3.8 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 02/16] mm: use get_personality() 2008-02-23 8:14 ` [PATCH 01/16] Make the macro get_personality function-like WANG Cong @ 2008-02-23 8:14 ` WANG Cong 2008-02-23 8:14 ` [PATCH 03/16] fs: " WANG Cong 0 siblings, 1 reply; 4+ messages in thread From: WANG Cong @ 2008-02-23 8:14 UTC (permalink / raw) To: Andrew Morton; +Cc: LKML, WANG Cong, Christoph Hellwig, Christoph Lameter Use get_personality() macro instead of explicit reference for mm/ code. Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Christoph Lameter <clameter@sgi.com> --- mm/mmap.c | 2 +- mm/mprotect.c | 2 +- mm/nommu.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index a32d28c..42d647f 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -910,7 +910,7 @@ unsigned long do_mmap_pgoff(struct file * file, unsigned long addr, * (the exception is when the underlying filesystem is noexec * mounted, in which case we dont add PROT_EXEC.) */ - if ((prot & PROT_READ) && (current->personality & READ_IMPLIES_EXEC)) + if ((prot & PROT_READ) && (get_personality() & READ_IMPLIES_EXEC)) if (!(file && (file->f_path.mnt->mnt_flags & MNT_NOEXEC))) prot |= PROT_EXEC; diff --git a/mm/mprotect.c b/mm/mprotect.c index 4de5468..620b8db 100644 --- a/mm/mprotect.c +++ b/mm/mprotect.c @@ -237,7 +237,7 @@ sys_mprotect(unsigned long start, size_t len, unsigned long prot) /* * Does the application expect PROT_READ to imply PROT_EXEC: */ - if ((prot & PROT_READ) && (current->personality & READ_IMPLIES_EXEC)) + if ((prot & PROT_READ) && (get_personality() & READ_IMPLIES_EXEC)) prot |= PROT_EXEC; vm_flags = calc_vm_prot_bits(prot); diff --git a/mm/nommu.c b/mm/nommu.c index 5d8ae08..a1c6162 100644 --- a/mm/nommu.c +++ b/mm/nommu.c @@ -665,7 +665,7 @@ static int validate_mmap_request(struct file *file, } else if ((prot & PROT_READ) && !(prot & PROT_EXEC)) { /* handle implication of PROT_EXEC by PROT_READ */ - if (current->personality & READ_IMPLIES_EXEC) { + if (get_personality() & READ_IMPLIES_EXEC) { if (capabilities & BDI_CAP_EXEC_MAP) prot |= PROT_EXEC; } @@ -686,7 +686,7 @@ static int validate_mmap_request(struct file *file, /* handle PROT_EXEC implication by PROT_READ */ if ((prot & PROT_READ) && - (current->personality & READ_IMPLIES_EXEC)) + (get_personality() & READ_IMPLIES_EXEC)) prot |= PROT_EXEC; } -- 1.5.3.8 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 03/16] fs: use get_personality() 2008-02-23 8:14 ` [PATCH 02/16] mm: use get_personality() WANG Cong @ 2008-02-23 8:14 ` WANG Cong 2008-02-23 8:14 ` [PATCH 04/16] powerpc: " WANG Cong 0 siblings, 1 reply; 4+ messages in thread From: WANG Cong @ 2008-02-23 8:14 UTC (permalink / raw) To: Andrew Morton; +Cc: LKML, WANG Cong, Alexander Viro Use get_personality() macro instead of explicit reference. Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> Cc: Alexander Viro <viro@zeniv.linux.org.uk> --- fs/binfmt_elf.c | 6 +++--- fs/compat.c | 6 +++--- fs/select.c | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index 41a958a..1b5803f 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -516,7 +516,7 @@ static unsigned long randomize_stack_top(unsigned long stack_top) unsigned int random_variable = 0; if ((current->flags & PF_RANDOMIZE) && - !(current->personality & ADDR_NO_RANDOMIZE)) { + !(get_personality() & ADDR_NO_RANDOMIZE)) { random_variable = get_random_int() & STACK_RND_MASK; random_variable <<= PAGE_SHIFT; } @@ -744,7 +744,7 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) if (elf_read_implies_exec(loc->elf_ex, executable_stack)) current->personality |= READ_IMPLIES_EXEC; - if (!(current->personality & ADDR_NO_RANDOMIZE) && randomize_va_space) + if (!(get_personality() & ADDR_NO_RANDOMIZE) && randomize_va_space) current->flags |= PF_RANDOMIZE; arch_pick_mmap_layout(current->mm); @@ -969,7 +969,7 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) arch_randomize_brk(current->mm); #endif - if (current->personality & MMAP_PAGE_ZERO) { + if (get_personality() & MMAP_PAGE_ZERO) { /* Why this, you ask??? Well SVr4 maps page 0 as read-only, and some applications "depend" upon this behavior. Since we do not have the power to recompile these, we diff --git a/fs/compat.c b/fs/compat.c index 2ce4456..eefe23b 100644 --- a/fs/compat.c +++ b/fs/compat.c @@ -1610,7 +1610,7 @@ asmlinkage long compat_sys_select(int n, compat_ulong_t __user *inp, if (tvp) { struct compat_timeval rtv; - if (current->personality & STICKY_TIMEOUTS) + if (get_personality() & STICKY_TIMEOUTS) goto sticky; rtv.tv_usec = jiffies_to_usecs(do_div((*(u64*)&timeout), HZ)); rtv.tv_sec = timeout; @@ -1685,7 +1685,7 @@ asmlinkage long compat_sys_pselect7(int n, compat_ulong_t __user *inp, if (tsp) { struct compat_timespec rts; - if (current->personality & STICKY_TIMEOUTS) + if (get_personality() & STICKY_TIMEOUTS) goto sticky; rts.tv_sec = timeout / HZ; @@ -1800,7 +1800,7 @@ asmlinkage long compat_sys_ppoll(struct pollfd __user *ufds, if (tsp && timeout >= 0) { struct compat_timespec rts; - if (current->personality & STICKY_TIMEOUTS) + if (get_personality() & STICKY_TIMEOUTS) goto sticky; /* Yes, we know it's actually an s64, but it's also positive. */ rts.tv_nsec = jiffies_to_usecs(do_div((*(u64*)&timeout), HZ)) * diff --git a/fs/select.c b/fs/select.c index 5633fe9..6041e24 100644 --- a/fs/select.c +++ b/fs/select.c @@ -401,7 +401,7 @@ asmlinkage long sys_select(int n, fd_set __user *inp, fd_set __user *outp, if (tvp) { struct timeval rtv; - if (current->personality & STICKY_TIMEOUTS) + if (get_personality() & STICKY_TIMEOUTS) goto sticky; rtv.tv_usec = jiffies_to_usecs(do_div((*(u64*)&timeout), HZ)); rtv.tv_sec = timeout; @@ -467,7 +467,7 @@ asmlinkage long sys_pselect7(int n, fd_set __user *inp, fd_set __user *outp, if (tsp) { struct timespec rts; - if (current->personality & STICKY_TIMEOUTS) + if (get_personality() & STICKY_TIMEOUTS) goto sticky; rts.tv_nsec = jiffies_to_usecs(do_div((*(u64*)&timeout), HZ)) * 1000; @@ -814,7 +814,7 @@ asmlinkage long sys_ppoll(struct pollfd __user *ufds, unsigned int nfds, if (tsp && timeout >= 0) { struct timespec rts; - if (current->personality & STICKY_TIMEOUTS) + if (get_personality() & STICKY_TIMEOUTS) goto sticky; /* Yes, we know it's actually an s64, but it's also positive. */ rts.tv_nsec = jiffies_to_usecs(do_div((*(u64*)&timeout), HZ)) * -- 1.5.3.8 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 04/16] powerpc: use get_personality() 2008-02-23 8:14 ` [PATCH 03/16] fs: " WANG Cong @ 2008-02-23 8:14 ` WANG Cong 2008-02-23 8:14 ` [PATCH 05/16] parisc: " WANG Cong 0 siblings, 1 reply; 4+ messages in thread From: WANG Cong @ 2008-02-23 8:14 UTC (permalink / raw) To: Andrew Morton; +Cc: LKML, WANG Cong, Christoph Hellwig, Paul Mackerras Use get_personality() macro instead of explicit reference for powerpc code. Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Paul Mackerras <paulus@samba.org> --- arch/powerpc/kernel/syscalls.c | 4 ++-- arch/powerpc/mm/mmap.c | 2 +- include/asm-powerpc/elf.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/kernel/syscalls.c b/arch/powerpc/kernel/syscalls.c index 3b1d5dd..4b910b8 100644 --- a/arch/powerpc/kernel/syscalls.c +++ b/arch/powerpc/kernel/syscalls.c @@ -228,7 +228,7 @@ long ppc64_personality(unsigned long personality) { long ret; - if (personality(current->personality) == PER_LINUX32 + if (personality(get_personality()) == PER_LINUX32 && personality == PER_LINUX) personality = PER_LINUX32; ret = sys_personality(personality); @@ -239,7 +239,7 @@ long ppc64_personality(unsigned long personality) #endif #ifdef CONFIG_PPC64 -#define OVERRIDE_MACHINE (personality(current->personality) == PER_LINUX32) +#define OVERRIDE_MACHINE (personality(get_personality()) == PER_LINUX32) #else #define OVERRIDE_MACHINE 0 #endif diff --git a/arch/powerpc/mm/mmap.c b/arch/powerpc/mm/mmap.c index 86010fc..92a9e45 100644 --- a/arch/powerpc/mm/mmap.c +++ b/arch/powerpc/mm/mmap.c @@ -54,7 +54,7 @@ static inline int mmap_is_legacy(void) if (!test_thread_flag(TIF_32BIT)) return 1; - if (current->personality & ADDR_COMPAT_LAYOUT) + if (get_personality() & ADDR_COMPAT_LAYOUT) return 1; if (current->signal->rlim[RLIMIT_STACK].rlim_cur == RLIM_INFINITY) diff --git a/include/asm-powerpc/elf.h b/include/asm-powerpc/elf.h index 9080d85..d9e7bff 100644 --- a/include/asm-powerpc/elf.h +++ b/include/asm-powerpc/elf.h @@ -256,7 +256,7 @@ do { \ set_thread_flag(TIF_ABI_PENDING); \ else \ clear_thread_flag(TIF_ABI_PENDING); \ - if (personality(current->personality) != PER_LINUX32) \ + if (personality(get_personality()) != PER_LINUX32) \ set_personality(PER_LINUX); \ } while (0) /* -- 1.5.3.8 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 05/16] parisc: use get_personality() 2008-02-23 8:14 ` [PATCH 04/16] powerpc: " WANG Cong @ 2008-02-23 8:14 ` WANG Cong 2008-02-23 8:14 ` [PATCH 06/16] sparc(64): " WANG Cong 0 siblings, 1 reply; 4+ messages in thread From: WANG Cong @ 2008-02-23 8:14 UTC (permalink / raw) To: Andrew Morton; +Cc: LKML, WANG Cong, Kyle McMartin, Matthew Wilcox Use get_personality() macro instead of explicit reference for parisc code. Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> Cc: Kyle McMartin <kyle@parisc-linux.org> Cc: Matthew Wilcox <matthew@wil.cx> --- arch/parisc/kernel/sys_parisc.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/parisc/kernel/sys_parisc.c b/arch/parisc/kernel/sys_parisc.c index 4f58921..1515ced 100644 --- a/arch/parisc/kernel/sys_parisc.c +++ b/arch/parisc/kernel/sys_parisc.c @@ -259,7 +259,7 @@ long parisc_personality(unsigned long personality) { long err; - if (personality(current->personality) == PER_LINUX32 + if (personality(get_personality()) == PER_LINUX32 && personality == PER_LINUX) personality = PER_LINUX32; @@ -275,7 +275,7 @@ long parisc_newuname(struct new_utsname __user *name) int err = sys_newuname(name); #ifdef CONFIG_COMPAT - if (!err && personality(current->personality) == PER_LINUX32) { + if (!err && personality(get_personality()) == PER_LINUX32) { if (__put_user(0, name->machine + 6) || __put_user(0, name->machine + 7)) err = -EFAULT; -- 1.5.3.8 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 06/16] sparc(64): use get_personality() 2008-02-23 8:14 ` [PATCH 05/16] parisc: " WANG Cong @ 2008-02-23 8:14 ` WANG Cong 2008-02-23 8:14 ` [PATCH 07/16] arm: " WANG Cong 0 siblings, 1 reply; 4+ messages in thread From: WANG Cong @ 2008-02-23 8:14 UTC (permalink / raw) To: Andrew Morton; +Cc: LKML, WANG Cong, David Miller, William L. Irwin, sparclinux Use get_personality() macro and other two tiny improvements. Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> Cc: David Miller <davem@davemloft.net> Cc: William L. Irwin <wli@holomorphy.com> Cc: sparclinux@vger.kernel.org --- arch/sparc/kernel/signal.c | 2 +- arch/sparc64/kernel/signal32.c | 2 +- arch/sparc64/kernel/sys_sparc.c | 6 +++--- include/asm-sparc/namei.h | 2 +- include/asm-sparc64/elf.h | 2 +- include/asm-sparc64/namei.h | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/sparc/kernel/signal.c b/arch/sparc/kernel/signal.c index 9994cac..0464874 100644 --- a/arch/sparc/kernel/signal.c +++ b/arch/sparc/kernel/signal.c @@ -1010,7 +1010,7 @@ asmlinkage void do_signal(struct pt_regs * regs, unsigned long orig_i0, int rest #ifdef SVR4_SIGNAL_BROKEN int svr4_signal = 0; #else - int svr4_signal = current->personality == PER_SVR4; + int svr4_signal = (get_personality() == PER_SVR4); #endif cookie.restart_syscall = restart_syscall; diff --git a/arch/sparc64/kernel/signal32.c b/arch/sparc64/kernel/signal32.c index 8c1c121..e3bc993 100644 --- a/arch/sparc64/kernel/signal32.c +++ b/arch/sparc64/kernel/signal32.c @@ -1270,7 +1270,7 @@ void do_signal32(sigset_t *oldset, struct pt_regs * regs, struct signal_deliver_cookie cookie; struct k_sigaction ka; int signr; - int svr4_signal = current->personality == PER_SVR4; + int svr4_signal = (get_personality() == PER_SVR4); cookie.restart_syscall = restart_syscall; cookie.orig_i0 = orig_i0; diff --git a/arch/sparc64/kernel/sys_sparc.c b/arch/sparc64/kernel/sys_sparc.c index 134d801..3813ec7 100644 --- a/arch/sparc64/kernel/sys_sparc.c +++ b/arch/sparc64/kernel/sys_sparc.c @@ -372,7 +372,7 @@ void arch_pick_mmap_layout(struct mm_struct *mm) * bit is set, or if the expected stack growth is unlimited: */ if (!test_thread_flag(TIF_32BIT) || - (current->personality & ADDR_COMPAT_LAYOUT) || + (get_personality() & ADDR_COMPAT_LAYOUT) || current->signal->rlim[RLIMIT_STACK].rlim_cur == RLIM_INFINITY || sysctl_legacy_va_layout) { mm->mmap_base = TASK_UNMAPPED_BASE + random_factor; @@ -518,7 +518,7 @@ asmlinkage long sparc64_newuname(struct new_utsname __user *name) { int ret = sys_newuname(name); - if (current->personality == PER_LINUX32 && !ret) { + if (get_personality() == PER_LINUX32 && !ret) { ret = (copy_to_user(name->machine, "sparc\0\0", 8) ? -EFAULT : 0); } @@ -529,7 +529,7 @@ asmlinkage long sparc64_personality(unsigned long personality) { int ret; - if (current->personality == PER_LINUX32 && + if (get_personality() == PER_LINUX32 && personality == PER_LINUX) personality = PER_LINUX32; ret = sys_personality(personality); diff --git a/include/asm-sparc/namei.h b/include/asm-sparc/namei.h index f2461e8..b87f621 100644 --- a/include/asm-sparc/namei.h +++ b/include/asm-sparc/namei.h @@ -13,7 +13,7 @@ static inline char * __emul_prefix(void) { - switch (current->personality) { + switch (get_personality()) { case PER_SUNOS: return SPARC_BSD_EMUL; case PER_SVR4: diff --git a/include/asm-sparc64/elf.h b/include/asm-sparc64/elf.h index 11c8e68..2140dbe 100644 --- a/include/asm-sparc64/elf.h +++ b/include/asm-sparc64/elf.h @@ -211,7 +211,7 @@ do { unsigned long new_flags = current_thread_info()->flags; \ /* flush_thread will update pgd cache */ \ if (ibcs2) \ set_personality(PER_SVR4); \ - else if (current->personality != PER_LINUX32) \ + else if (get_personality() != PER_LINUX32) \ set_personality(PER_LINUX); \ } while (0) diff --git a/include/asm-sparc64/namei.h b/include/asm-sparc64/namei.h index ccda19e..e6a1dd9 100644 --- a/include/asm-sparc64/namei.h +++ b/include/asm-sparc64/namei.h @@ -13,7 +13,7 @@ static inline char * __emul_prefix(void) { - switch (current->personality) { + switch (get_personality()) { case PER_SUNOS: return SPARC_BSD_EMUL; case PER_SVR4: -- 1.5.3.8 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 07/16] arm: use get_personality() 2008-02-23 8:14 ` [PATCH 06/16] sparc(64): " WANG Cong @ 2008-02-23 8:14 ` WANG Cong 2008-02-23 8:14 ` [PATCH 08/16] x86: " WANG Cong 0 siblings, 1 reply; 4+ messages in thread From: WANG Cong @ 2008-02-23 8:14 UTC (permalink / raw) To: Andrew Morton; +Cc: LKML, WANG Cong, Russell King Use get_personality() macro instead of explicit reference for arm code. Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> Cc: Russell King <rmk@arm.linux.org.uk> --- arch/arm/kernel/traps.c | 4 ++-- include/asm-arm/namei.h | 2 +- include/asm-arm/processor.h | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index 5595fdd..975faaf 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c @@ -381,8 +381,8 @@ static int bad_syscall(int n, struct pt_regs *regs) struct thread_info *thread = current_thread_info(); siginfo_t info; - if (current->personality != PER_LINUX && - current->personality != PER_LINUX_32BIT && + if (get_personality() != PER_LINUX && + get_personality() != PER_LINUX_32BIT && thread->exec_domain->handler) { thread->exec_domain->handler(n, regs); return regs->ARM_r0; diff --git a/include/asm-arm/namei.h b/include/asm-arm/namei.h index a402d3b..c55dc87 100644 --- a/include/asm-arm/namei.h +++ b/include/asm-arm/namei.h @@ -14,7 +14,7 @@ static inline char *__emul_prefix(void) { - switch (current->personality) { + switch (get_personality()) { case PER_BSD: return ARM_BSD_EMUL; default: diff --git a/include/asm-arm/processor.h b/include/asm-arm/processor.h index bd8029e..7f040b4 100644 --- a/include/asm-arm/processor.h +++ b/include/asm-arm/processor.h @@ -23,7 +23,7 @@ #include <asm/types.h> #ifdef __KERNEL__ -#define STACK_TOP ((current->personality == PER_LINUX_32BIT) ? \ +#define STACK_TOP ((get_personality() == PER_LINUX_32BIT) ? \ TASK_SIZE : TASK_SIZE_26) #define STACK_TOP_MAX TASK_SIZE #endif @@ -65,7 +65,7 @@ struct thread_struct { unsigned long *stack = (unsigned long *)sp; \ set_fs(USER_DS); \ memzero(regs->uregs, sizeof(regs->uregs)); \ - if (current->personality & ADDR_LIMIT_32BIT) \ + if (get_personality() & ADDR_LIMIT_32BIT) \ regs->ARM_cpsr = USR_MODE; \ else \ regs->ARM_cpsr = USR26_MODE; \ -- 1.5.3.8 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 08/16] x86: use get_personality() 2008-02-23 8:14 ` [PATCH 07/16] arm: " WANG Cong @ 2008-02-23 8:14 ` WANG Cong 2008-02-23 8:14 ` [PATCH 09/16] um: " WANG Cong 0 siblings, 1 reply; 4+ messages in thread From: WANG Cong @ 2008-02-23 8:14 UTC (permalink / raw) To: Andrew Morton; +Cc: LKML, WANG Cong, Ingo Molnar Use get_personality() macro instead of explicit reference for x86 code. Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> Cc: Ingo Molnar <mingo@redhat.com> --- arch/x86/ia32/sys_ia32.c | 6 +++--- arch/x86/kernel/process_32.c | 2 +- arch/x86/kernel/process_64.c | 2 +- arch/x86/kernel/sys_x86_64.c | 2 +- arch/x86/mm/mmap.c | 2 +- include/asm-x86/page.h | 2 +- include/asm-x86/processor.h | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/arch/x86/ia32/sys_ia32.c b/arch/x86/ia32/sys_ia32.c index abf71d2..80e7431 100644 --- a/arch/x86/ia32/sys_ia32.c +++ b/arch/x86/ia32/sys_ia32.c @@ -666,7 +666,7 @@ asmlinkage long sys32_personality(unsigned long personality) { int ret; - if (personality(current->personality) == PER_LINUX32 && + if (personality(get_personality()) == PER_LINUX32 && personality == PER_LINUX) personality = PER_LINUX32; ret = sys_personality(personality); @@ -744,7 +744,7 @@ asmlinkage long sys32_olduname(struct oldold_utsname __user *name) __OLD_UTS_LEN); err |= __put_user(0, name->version+__OLD_UTS_LEN); - if (personality(current->personality) == PER_LINUX32) + if (personality(get_personality()) == PER_LINUX32) arch = "i686"; err |= __copy_to_user(&name->machine, arch, strlen(arch) + 1); @@ -765,7 +765,7 @@ long sys32_uname(struct old_utsname __user *name) down_read(&uts_sem); err = copy_to_user(name, utsname(), sizeof(*name)); up_read(&uts_sem); - if (personality(current->personality) == PER_LINUX32) + if (personality(get_personality()) == PER_LINUX32) err |= copy_to_user(&name->machine, "i686", 5); return err ? -EFAULT : 0; diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c index a7d50a5..c4992fc 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c @@ -837,7 +837,7 @@ unsigned long get_wchan(struct task_struct *p) unsigned long arch_align_stack(unsigned long sp) { - if (!(current->personality & ADDR_NO_RANDOMIZE) && randomize_va_space) + if (!(get_personality() & ADDR_NO_RANDOMIZE) && randomize_va_space) sp -= get_random_int() % 8192; return sp & ~0xf; } diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index b0cc8f0..8223f3f 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c @@ -915,7 +915,7 @@ long sys_arch_prctl(int code, unsigned long addr) unsigned long arch_align_stack(unsigned long sp) { - if (!(current->personality & ADDR_NO_RANDOMIZE) && randomize_va_space) + if (!(get_personality() & ADDR_NO_RANDOMIZE) && randomize_va_space) sp -= get_random_int() % 8192; return sp & ~0xf; } diff --git a/arch/x86/kernel/sys_x86_64.c b/arch/x86/kernel/sys_x86_64.c index bd802a5..0b7548b 100644 --- a/arch/x86/kernel/sys_x86_64.c +++ b/arch/x86/kernel/sys_x86_64.c @@ -247,7 +247,7 @@ asmlinkage long sys_uname(struct new_utsname __user * name) down_read(&uts_sem); err = copy_to_user(name, utsname(), sizeof (*name)); up_read(&uts_sem); - if (personality(current->personality) == PER_LINUX32) + if (personality(get_personality()) == PER_LINUX32) err |= copy_to_user(&name->machine, "i686", 5); return err ? -EFAULT : 0; } diff --git a/arch/x86/mm/mmap.c b/arch/x86/mm/mmap.c index 56fe712..f299d64 100644 --- a/arch/x86/mm/mmap.c +++ b/arch/x86/mm/mmap.c @@ -55,7 +55,7 @@ static int mmap_is_ia32(void) static int mmap_is_legacy(void) { - if (current->personality & ADDR_COMPAT_LAYOUT) + if (get_personality() & ADDR_COMPAT_LAYOUT) return 1; if (current->signal->rlim[RLIMIT_STACK].rlim_cur == RLIM_INFINITY) diff --git a/include/asm-x86/page.h b/include/asm-x86/page.h index 1cb7c51..fd90c7a 100644 --- a/include/asm-x86/page.h +++ b/include/asm-x86/page.h @@ -42,7 +42,7 @@ #define PAGE_OFFSET ((unsigned long)__PAGE_OFFSET) #define VM_DATA_DEFAULT_FLAGS \ - (((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0 ) | \ + (((get_personality() & READ_IMPLIES_EXEC) ? VM_EXEC : 0 ) | \ VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) diff --git a/include/asm-x86/processor.h b/include/asm-x86/processor.h index 45a2f0a..c426dc1 100644 --- a/include/asm-x86/processor.h +++ b/include/asm-x86/processor.h @@ -791,7 +791,7 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk); /* This decides where the kernel will search for a free chunk of vm * space during mmap's. */ -#define IA32_PAGE_OFFSET ((current->personality & ADDR_LIMIT_3GB) ? \ +#define IA32_PAGE_OFFSET ((get_personality() & ADDR_LIMIT_3GB) ? \ 0xc0000000 : 0xFFFFe000) #define TASK_SIZE (test_thread_flag(TIF_IA32) ? \ -- 1.5.3.8 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 09/16] um: use get_personality() 2008-02-23 8:14 ` [PATCH 08/16] x86: " WANG Cong @ 2008-02-23 8:14 ` WANG Cong 0 siblings, 0 replies; 4+ messages in thread From: WANG Cong @ 2008-02-23 8:14 UTC (permalink / raw) To: Andrew Morton; +Cc: LKML, WANG Cong, Jeff Dike Use get_personality() macro instead of explicit reference for uml code. Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> Cc: Jeff Dike <jdike@addtoit.com> --- arch/um/kernel/process.c | 2 +- arch/um/sys-x86_64/syscalls.c | 2 +- include/asm-um/vm-flags-i386.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c index fc50d2f..91e0a84 100644 --- a/arch/um/kernel/process.c +++ b/arch/um/kernel/process.c @@ -405,7 +405,7 @@ int singlestepping(void * t) #ifndef arch_align_stack unsigned long arch_align_stack(unsigned long sp) { - if (!(current->personality & ADDR_NO_RANDOMIZE) && randomize_va_space) + if (!(get_personality() & ADDR_NO_RANDOMIZE) && randomize_va_space) sp -= get_random_int() % 8192; return sp & ~0xf; } diff --git a/arch/um/sys-x86_64/syscalls.c b/arch/um/sys-x86_64/syscalls.c index f1199fd..cf7b61e 100644 --- a/arch/um/sys-x86_64/syscalls.c +++ b/arch/um/sys-x86_64/syscalls.c @@ -20,7 +20,7 @@ asmlinkage long sys_uname64(struct new_utsname __user * name) err = copy_to_user(name, utsname(), sizeof (*name)); up_read(&uts_sem); - if (personality(current->personality) == PER_LINUX32) + if (personality(get_personality()) == PER_LINUX32) err |= copy_to_user(&name->machine, "i686", 5); return err ? -EFAULT : 0; diff --git a/include/asm-um/vm-flags-i386.h b/include/asm-um/vm-flags-i386.h index e0d24c5..c30e0f6 100644 --- a/include/asm-um/vm-flags-i386.h +++ b/include/asm-um/vm-flags-i386.h @@ -8,7 +8,7 @@ #define VM_DATA_DEFAULT_FLAGS \ (VM_READ | VM_WRITE | \ - ((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0 ) | \ + ((get_personality() & READ_IMPLIES_EXEC) ? VM_EXEC : 0 ) | \ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) #endif -- 1.5.3.8 ^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-02-23 8:33 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <12035063603797-git-send-email-xiyou.wangcong@gmail.com>
[not found] ` <12035063653559-git-send-email-xiyou.wangcong@gmail.com>
[not found] ` <12035063741135-git-send-email-xiyou.wangcong@gmail.com>
[not found] ` <12035063851778-git-send-email-xiyou.wangcong@gmail.com>
[not found] ` <1203506389520-git-send-email-xiyou.wangcong@gmail.com>
[not found] ` <12035063951960-git-send-email-xiyou.wangcong@gmail.com>
[not found] ` <12035064031754-git-send-email-xiyou.wangcong@gmail.com>
[not found] ` <12035064112844-git-send-email-xiyou.wangcong@gmail.com>
[not found] ` <12035064241213-git-send-email-xiyou.wangcong@gmail.com>
[not found] ` <12035064291055-git-send-email-xiyou.wangcong@gmail.com>
2008-02-20 16:27 ` [PATCH 09/16] um: use get_personality() Jeff Dike
2008-02-22 12:39 ` WANG Cong
2008-02-23 7:47 ` Andrew Morton
2008-02-23 8:14 [PATCH 00/16] (Resend) Use get_personality() WANG Cong
2008-02-23 8:14 ` [PATCH 01/16] Make the macro get_personality function-like WANG Cong
2008-02-23 8:14 ` [PATCH 02/16] mm: use get_personality() WANG Cong
2008-02-23 8:14 ` [PATCH 03/16] fs: " WANG Cong
2008-02-23 8:14 ` [PATCH 04/16] powerpc: " WANG Cong
2008-02-23 8:14 ` [PATCH 05/16] parisc: " WANG Cong
2008-02-23 8:14 ` [PATCH 06/16] sparc(64): " WANG Cong
2008-02-23 8:14 ` [PATCH 07/16] arm: " WANG Cong
2008-02-23 8:14 ` [PATCH 08/16] x86: " WANG Cong
2008-02-23 8:14 ` [PATCH 09/16] um: " WANG Cong
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox