veyron/services/mgmt/suidhelper/impl: setgid before uid

In the suidhelper, set the gid before setting uid in case the uid does
not have permissions to change its gid.

Change-Id: I3cfe8d455d85e0854c188690718ccc22839529f4
diff --git a/services/mgmt/suidhelper/impl/system.go b/services/mgmt/suidhelper/impl/system.go
index 52d96b3..3059e30 100644
--- a/services/mgmt/suidhelper/impl/system.go
+++ b/services/mgmt/suidhelper/impl/system.go
@@ -31,15 +31,15 @@
 
 func (hw *WorkParameters) Exec() error {
 	if hw.dryrun {
-		log.Printf("[dryrun] syscall.Setuid(%d)", hw.uid)
 		log.Printf("[dryrun] syscall.Setgid(%d)", hw.gid)
+		log.Printf("[dryrun] syscall.Setuid(%d)", hw.uid)
 	} else {
-		if err := syscall.Setuid(hw.uid); err != nil {
-			return fmt.Errorf("syscall.Setuid(%d) failed: %v", hw.uid, err)
-		}
 		if err := syscall.Setgid(hw.gid); err != nil {
 			return fmt.Errorf("syscall.Setgid(%d) failed: %v", hw.gid, err)
 		}
+		if err := syscall.Setuid(hw.uid); err != nil {
+			return fmt.Errorf("syscall.Setuid(%d) failed: %v", hw.uid, err)
+		}
 	}
 	return syscall.Exec(hw.argv0, hw.argv, hw.envv)
 }