]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - kernel/signal.c
UBUNTU: [Config] updateconfigs after rebase to Ubuntu-4.10.0-17.19
[mirror_ubuntu-zesty-kernel.git] / kernel / signal.c
index 3603d93a19689be7188a004f2b999b27e0ebdf2f..0f99304d39fda46828c6e14522a1646e3309d611 100644 (file)
@@ -3239,10 +3239,17 @@ int compat_restore_altstack(const compat_stack_t __user *uss)
 
 int __compat_save_altstack(compat_stack_t __user *uss, unsigned long sp)
 {
+       int err;
        struct task_struct *t = current;
-       return  __put_user(ptr_to_compat((void __user *)t->sas_ss_sp), &uss->ss_sp) |
-               __put_user(sas_ss_flags(sp), &uss->ss_flags) |
+       err = __put_user(ptr_to_compat((void __user *)t->sas_ss_sp),
+                        &uss->ss_sp) |
+               __put_user(t->sas_ss_flags, &uss->ss_flags) |
                __put_user(t->sas_ss_size, &uss->ss_size);
+       if (err)
+               return err;
+       if (t->sas_ss_flags & SS_AUTODISARM)
+               sas_ss_reset(t);
+       return 0;
 }
 #endif