sysctl: Fix XEN_SYSCTL_debug_keys error path.
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 13 Apr 2010 12:40:58 +0000 (13:40 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 13 Apr 2010 12:40:58 +0000 (13:40 +0100)
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/common/sysctl.c

index 1799eb3a94335f174a6b300e0513cb2f1a4bd8e1..ba163532661a57a379b485d216d226e71b13e740 100644 (file)
@@ -169,12 +169,14 @@ long do_sysctl(XEN_GUEST_HANDLE(xen_sysctl_t) u_sysctl)
         if ( ret )
             break;
 
+        ret = -EFAULT;
         for ( i = 0; i < op->u.debug_keys.nr_keys; i++ )
         {
             if ( copy_from_guest_offset(&c, op->u.debug_keys.keys, i, 1) )
-                return -EFAULT;
+                goto out;
             handle_keypress(c, guest_cpu_user_regs());
         }
+        ret = 0;
     }
     break;