RE: [PATCH v8 06/10] mips: sync struct siginfo with general version

From: Ren, Qiaowei
Date: Thu Sep 11 2014 - 22:55:24 EST




On 2014-09-12, Thomas Gleixner wrote:
> On Thu, 11 Sep 2014, Qiaowei Ren wrote:
>
>> Due to new fields about bound violation added into struct siginfo,
>> this patch syncs it with general version to avoid build issue.
>
> You completely fail to explain which build issue is addressed by this
> patch. The code you added to kernel/signal.c which accesses _addr_bnd
> is guarded by
>
> +#ifdef SEGV_BNDERR
>
> which is not defined my MIPS. Also why is this only affecting MIPS and
> not any other architecture which provides its own struct siginfo ?
>
> That patch makes no sense at all, at least not without a proper explanation.
>

For arch=mips, siginfo.h (arch/mips/include/uapi/asm/siginfo.h) will include general siginfo.h, and only replace general stuct siginfo with mips specific struct siginfo. So SEGV_BNDERR will be defined for all archs, and we will get error like "no _lower in struct siginfo" when arch=mips.

In addition, only MIPS arch define its own struct siginfo, so this is only affecting MIPS.

Thanks,
Qiaowei

>
>> Signed-off-by: Qiaowei Ren <qiaowei.ren@xxxxxxxxx>
>> ---
>> arch/mips/include/uapi/asm/siginfo.h | 4 ++++
>> 1 files changed, 4 insertions(+), 0 deletions(-)
>> diff --git a/arch/mips/include/uapi/asm/siginfo.h
>> b/arch/mips/include/uapi/asm/siginfo.h
>> index e811744..d08f83f 100644
>> --- a/arch/mips/include/uapi/asm/siginfo.h
>> +++ b/arch/mips/include/uapi/asm/siginfo.h
>> @@ -92,6 +92,10 @@ typedef struct siginfo {
>> int _trapno; /* TRAP # which caused the signal */
>> #endif
>> short _addr_lsb;
>> + struct {
>> + void __user *_lower;
>> + void __user *_upper;
>> + } _addr_bnd;
>> } _sigfault;
>>
>> /* SIGPOLL, SIGXFSZ (To do ...) */
>> --
>> 1.7.1
>>
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/