On 02/12/2018 06:18 PM, Eric W. Biederman wrote:
> Randy Dunlap <rdun...@infradead.org> writes:
> 
>> From: Randy Dunlap <rdun...@infradead.org>
>>
>> Fix build error in fs/signalfd.c by using same method that is used in
>> kernel/signal.c: separate blocks for different signal si_code values.
>>
>> ./fs/signalfd.c: error: 'BUS_MCEERR_AR' undeclared (first use in this 
>> function)
>>
>> Reported-by: Geert Uytterhoeven <ge...@linux-m68k.org>
>> Signed-off-by: Randy Dunlap <rdun...@infradead.org>
>> Cc: Eric Biederman <ebied...@xmission.com>
>> Cc: Alexander Viro <v...@zeniv.linux.org.uk>
> 
> Acked-by: "Eric W. Biederman" <ebied...@xmission.com>
> 
> Do you want to me to pick this one up?  Or does it have another path
> into mainline?
> 

Just via you or Al. You might as well take it.

Thanks.

> 
>> ---
>>  fs/signalfd.c |   15 ++++++++++++---
>>  1 file changed, 12 insertions(+), 3 deletions(-)
>>
>> Applies to mainline 4.16-rc1.
>>
>> --- linux-next-20180212.orig/fs/signalfd.c
>> +++ linux-next-20180212/fs/signalfd.c
>> @@ -118,13 +118,22 @@ static int signalfd_copyinfo(struct sign
>>              err |= __put_user(kinfo->si_trapno, &uinfo->ssi_trapno);
>>  #endif
>>  #ifdef BUS_MCEERR_AO
>> -            /* 
>> +            /*
>>               * Other callers might not initialize the si_lsb field,
>>               * so check explicitly for the right codes here.
>>               */
>>              if (kinfo->si_signo == SIGBUS &&
>> -                (kinfo->si_code == BUS_MCEERR_AR ||
>> -                 kinfo->si_code == BUS_MCEERR_AO))
>> +                 kinfo->si_code == BUS_MCEERR_AO)
>> +                    err |= __put_user((short) kinfo->si_addr_lsb,
>> +                                      &uinfo->ssi_addr_lsb);
>> +#endif
>> +#ifdef BUS_MCEERR_AR
>> +            /*
>> +             * Other callers might not initialize the si_lsb field,
>> +             * so check explicitly for the right codes here.
>> +             */
>> +            if (kinfo->si_signo == SIGBUS &&
>> +                kinfo->si_code == BUS_MCEERR_AR)
>>                      err |= __put_user((short) kinfo->si_addr_lsb,
>>                                        &uinfo->ssi_addr_lsb);
>>  #endif


-- 
~Randy

Reply via email to