> All the users of siginmask() must ensure that sig < SIGRTMIN. sig_fatal()
> doesn't and this is wrong:
> 
>       [  211.406327] UBSAN: Undefined behaviour in kernel/signal.c:911:6
>       [  211.406365] shift exponent 32 is too large for 32-bit type 'long 
> unsigned int'
> 
> the patch doesn't add the neccesary check to sig_fatal(), it moves the
> check into siginmask() and updates other callers.
> 
> Reported-by: Meelis Roos <mr...@linux.ee>
> Signed-off-by: Oleg Nesterov <o...@redhat.com>

Tested on the same AthlonMP, on HP Proliant DL360G3 and PowerMac G4, 
successfully - system still works, warnings are gone.

-- 
Meelis Roos (mr...@linux.ee)

Reply via email to