diff options
-rw-r--r-- | include/linux/compat.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/compat.h b/include/linux/compat.h index d30e4dbd4be2..06e77473f175 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h | |||
@@ -488,8 +488,11 @@ put_compat_sigset(compat_sigset_t __user *compat, const sigset_t *set, | |||
488 | compat_sigset_t v; | 488 | compat_sigset_t v; |
489 | switch (_NSIG_WORDS) { | 489 | switch (_NSIG_WORDS) { |
490 | case 4: v.sig[7] = (set->sig[3] >> 32); v.sig[6] = set->sig[3]; | 490 | case 4: v.sig[7] = (set->sig[3] >> 32); v.sig[6] = set->sig[3]; |
491 | /* fall through */ | ||
491 | case 3: v.sig[5] = (set->sig[2] >> 32); v.sig[4] = set->sig[2]; | 492 | case 3: v.sig[5] = (set->sig[2] >> 32); v.sig[4] = set->sig[2]; |
493 | /* fall through */ | ||
492 | case 2: v.sig[3] = (set->sig[1] >> 32); v.sig[2] = set->sig[1]; | 494 | case 2: v.sig[3] = (set->sig[1] >> 32); v.sig[2] = set->sig[1]; |
495 | /* fall through */ | ||
493 | case 1: v.sig[1] = (set->sig[0] >> 32); v.sig[0] = set->sig[0]; | 496 | case 1: v.sig[1] = (set->sig[0] >> 32); v.sig[0] = set->sig[0]; |
494 | } | 497 | } |
495 | return copy_to_user(compat, &v, size) ? -EFAULT : 0; | 498 | return copy_to_user(compat, &v, size) ? -EFAULT : 0; |