summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--io_jail/src/lib.rs5
-rw-r--r--io_jail/src/libminijail.rs4
-rw-r--r--src/linux.rs2
3 files changed, 6 insertions, 5 deletions
diff --git a/io_jail/src/lib.rs b/io_jail/src/lib.rs
index 59d6887..82034a3 100644
--- a/io_jail/src/lib.rs
+++ b/io_jail/src/lib.rs
@@ -250,9 +250,10 @@ impl Minijail {
     pub fn set_rlimit(
         &mut self,
         kind: libc::c_int,
-        cur: libc::rlim_t,
-        max: libc::rlim_t,
+        cur: libc::rlim64_t,
+        max: libc::rlim64_t,
     ) -> Result<()> {
+        // TODO(chirantan): Switch to minijail_rlimit64 once that lands in libminijail.
         let errno = unsafe { libminijail::minijail_rlimit(self.jail, kind, cur, max) };
         if errno == 0 {
             Ok(())
diff --git a/io_jail/src/libminijail.rs b/io_jail/src/libminijail.rs
index 14175dc..7347f41 100644
--- a/io_jail/src/libminijail.rs
+++ b/io_jail/src/libminijail.rs
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-use libc::{gid_t, pid_t, rlim_t, uid_t};
+use libc::{gid_t, pid_t, uid_t};
 use std::os::raw::{c_char, c_int, c_long, c_ulong};
 
 /// Struct minijail is an opaque type inside libminijail.
@@ -19,7 +19,7 @@ extern "C" {
     pub fn minijail_keep_supplementary_gids(j: *mut minijail);
     pub fn minijail_change_user(j: *mut minijail, user: *const c_char) -> c_int;
     pub fn minijail_change_group(j: *mut minijail, group: *const c_char) -> c_int;
-    pub fn minijail_rlimit(j: *mut minijail, kind: c_int, cur: rlim_t, max: rlim_t) -> c_int;
+    pub fn minijail_rlimit(j: *mut minijail, kind: c_int, cur: u64, max: u64) -> c_int;
     pub fn minijail_use_seccomp(j: *mut minijail);
     pub fn minijail_no_new_privs(j: *mut minijail);
     pub fn minijail_use_seccomp_filter(j: *mut minijail);
diff --git a/src/linux.rs b/src/linux.rs
index bd6ee5c..ffdb829 100644
--- a/src/linux.rs
+++ b/src/linux.rs
@@ -287,7 +287,7 @@ impl AsRawFd for TaggedControlSocket {
     }
 }
 
-fn get_max_open_files() -> Result<libc::rlim_t> {
+fn get_max_open_files() -> Result<libc::rlim64_t> {
     let mut buf = String::with_capacity(32);
     File::open("/proc/sys/fs/file-max")
         .and_then(|mut f| f.read_to_string(&mut buf))