diff --git a/src/platform/linux/mod.rs b/src/platform/linux/mod.rs
index 0622fc3df963bfa428102ae60122d81e1d5183b4..307edf543fab80c90495e8099f6674ebb9175c0c 100644
--- a/src/platform/linux/mod.rs
+++ b/src/platform/linux/mod.rs
@@ -278,7 +278,7 @@ impl Pal for Sys {
     }
 
     unsafe fn getgroups(size: c_int, list: *mut gid_t) -> c_int {
-        e(unsafe { syscall!(GETGROUPS, size, list) })
+        e(unsafe { syscall!(GETGROUPS, size, list) }) as c_int
     }
 
     fn getpagesize() -> usize {
@@ -513,7 +513,7 @@ impl Pal for Sys {
     }
 
     unsafe fn setgroups(size: size_t, list: *const gid_t) -> c_int {
-        e(unsafe { syscall!(SETGROUPS, size, list) })
+        e(unsafe { syscall!(SETGROUPS, size, list) }) as c_int
     }
 
     fn setpgid(pid: pid_t, pgid: pid_t) -> c_int {