http://patches.osdyson.org/patch/series/view/lightdm/1.10.3-3+dyson2/dyson-privileges.patch

Description: cannot reclaim root
  "Thus, a set-user-ID-root program wishing to temporarily drop root
   privileges, assume the identity of an unprivileged user, and then regain
   root privileges afterward cannot use setuid(). You can accomplish this
   with seteuid(2)."
  (http://linux.die.net/man/2/setuid)

  "For portability, it is recommended that new non-privileged applications
   use the seteuid() and setegid() functions instead."
  (http://pubs.opengroup.org/onlinepubs/009695399/functions/setuid.html)
Index: lightdm-1.10.3/common/privileges.c
===================================================================
--- lightdm-1.10.3.orig/common/privileges.c
+++ lightdm-1.10.3/common/privileges.c
@@ -23,13 +23,11 @@ privileges_drop (uid_t uid, gid_t gid)
 #ifdef HAVE_SETRESGID
     g_assert (setresgid (gid, gid, -1) == 0);
 #else
-    g_assert (setgid (gid) == 0);
     g_assert (setegid (gid) == 0);
 #endif
 #ifdef HAVE_SETRESUID
     g_assert (setresuid (uid, uid, -1) == 0);
 #else
-    g_assert (setuid (uid) == 0);
     g_assert (seteuid (uid) == 0);
 #endif
 }
@@ -40,13 +38,11 @@ privileges_reclaim (void)
 #ifdef HAVE_SETRESUID
     g_assert (setresuid (0, 0, -1) == 0);
 #else
-    g_assert (setuid (0) == 0);
     g_assert (seteuid (0) == 0);
 #endif
 #ifdef HAVE_SETRESGID
     g_assert (setresgid (0, 0, -1) == 0);
 #else
-    g_assert (setgid (0) == 0);
     g_assert (setegid (0) == 0);
 #endif
 }