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]
Message-ID: <575D5ECC.4030000@huawei.com>
Date:	Sun, 12 Jun 2016 21:08:28 +0800
From:	"Zhangjian (Bamvor)" <bamvor.zhangjian@...wei.com>
To:	Yury Norov <ynorov@...iumnetworks.com>, <arnd@...db.de>,
	<catalin.marinas@....com>, <linux-arm-kernel@...ts.infradead.org>,
	<linux-kernel@...r.kernel.org>, <linux-doc@...r.kernel.org>,
	<linux-arch@...r.kernel.org>, <linux-s390@...r.kernel.org>,
	<libc-alpha@...rceware.org>
CC:	<schwidefsky@...ibm.com>, <heiko.carstens@...ibm.com>,
	<pinskia@...il.com>, <broonie@...nel.org>,
	<joseph@...esourcery.com>,
	<christoph.muellner@...obroma-systems.com>,
	<szabolcs.nagy@....com>, <klimov.linux@...il.com>,
	<Nathan_Lynch@...tor.com>, <agraf@...e.de>,
	<Prasun.Kapoor@...iumnetworks.com>, <kilobyte@...band.pl>,
	<geert@...ux-m68k.org>, <philipp.tomsich@...obroma-systems.com>,
	"Andrew Pinski" <Andrew.Pinski@...iumnetworks.com>,
	Hanjun Guo <guohanjun@...wei.com>,
	"Zhangjian (Bamvor)" <bamvor.zhangjian@...wei.com>
Subject: Re: [PATCH 13/23] arm64: introduce is_a32_task and is_a32_thread (for
 AArch32 compat)



On 2016/6/12 20:21, Zhangjian (Bamvor) wrote:
> Hi, Yury
>
> On 2016/5/24 8:04, Yury Norov wrote:
>> Based on patch of Andrew Pinski.
>>
>> This patch introduces is_a32_compat_task and is_a32_thread so it is
>> easier to say this is a a32 specific thread or a generic compat thread/task.
>> Corresponding functions are located in <asm/is_compat.h> to avoid mess in
>> headers.
>>
>> Some files include both <linux/compat.h> and <asm/compat.h>,
>> and this is wrong because <linux/compat.h> has <asm/compat.h> already
>> included. It was fixed too.
>>
>> Signed-off-by: Yury Norov <ynorov@...iumnetworks.com>
>> Signed-off-by: Philipp Tomsich <philipp.tomsich@...obroma-systems.com>
>> Signed-off-by: Christoph Muellner <christoph.muellner@...obroma-systems.com>
>> Signed-off-by: Andrew Pinski <Andrew.Pinski@...iumnetworks.com>
>> Reviewed-by: David Daney <ddaney@...iumnetworks.com>
>> ---
>>   arch/arm64/include/asm/compat.h      | 19 ++----------
>>   arch/arm64/include/asm/elf.h         | 10 +++----
>>   arch/arm64/include/asm/ftrace.h      |  2 +-
>>   arch/arm64/include/asm/is_compat.h   | 58 ++++++++++++++++++++++++++++++++++++
>>   arch/arm64/include/asm/memory.h      |  3 +-
>>   arch/arm64/include/asm/processor.h   |  5 ++--
>>   arch/arm64/include/asm/syscall.h     |  2 +-
>>   arch/arm64/include/asm/thread_info.h |  2 +-
>>   arch/arm64/kernel/hw_breakpoint.c    | 10 +++----
>>   arch/arm64/kernel/perf_regs.c        |  2 +-
>>   arch/arm64/kernel/process.c          |  7 ++---
>>   arch/arm64/kernel/ptrace.c           | 11 ++++---
>>   arch/arm64/kernel/signal.c           |  4 +--
>>   arch/arm64/kernel/traps.c            |  3 +-
>>   14 files changed, 91 insertions(+), 47 deletions(-)
>>   create mode 100644 arch/arm64/include/asm/is_compat.h
>>
> [...]
>> diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h
>> index 12f8a00..a66a0f7 100644
>> --- a/arch/arm64/include/asm/memory.h
>> +++ b/arch/arm64/include/asm/memory.h
>> @@ -26,6 +26,7 @@
>>   #include <linux/types.h>
>>   #include <asm/bug.h>
>>   #include <asm/sizes.h>
>> +#include <asm/is_compat.h>
>>
>>   /*
>>    * Allow for constants defined here to be used from assembly code
>> @@ -61,7 +62,7 @@
>>
>>   #ifdef CONFIG_COMPAT
>>   #define TASK_SIZE_32        UL(0x100000000)
>> -#define TASK_SIZE        (test_thread_flag(TIF_32BIT) ? \
>> +#define TASK_SIZE        (is_compat_task() ?        \
>>                   TASK_SIZE_32 : TASK_SIZE_64)
>>   #define TASK_SIZE_OF(tsk)    (test_tsk_thread_flag(tsk, TIF_32BIT) ? \
>>                   TASK_SIZE_32 : TASK_SIZE_64)
> Should we update or delete this macro?
>   #define TASK_SIZE_OF(tsk) (is_compat_task() ? \
> TASK_SIZE_32 : TASK_SIZE_64)
Sorry it should be:
#define TASK_SIZE_OF(tsk)       ((is_a32_compat_thread(task_thread_info(tsk)) \
                                   || is_ilp32_compat_thread(task_thread_info(tsk))) ? \
                                 TASK_SIZE_32 : TASK_SIZE_64)

> x86, sparc, mips, ppc, parisc, s390 define its own version. But
> "include/linux/sched.h" will define it if
> TASK_SIZE_OF does not exist:
> #ifndef TASK_SIZE_OF
> #define TASK_SIZE_OF(tsk)       TASK_SIZE
> #endif
>
>
> Regards
>
> Bamvor
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ