From f79570d42fa74ada8fc912c8c835cccc40f92813 Mon Sep 17 00:00:00 2001
From: Jeremy Soller <jackpot51@gmail.com>
Date: Wed, 28 Sep 2016 10:29:17 -0600
Subject: [PATCH] Fix kernel user scheme fpath

---
 scheme/user.rs | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/scheme/user.rs b/scheme/user.rs
index a02b2b7b..e91fb097 100644
--- a/scheme/user.rs
+++ b/scheme/user.rs
@@ -247,6 +247,14 @@ impl Scheme for UserScheme {
         inner.call(SYS_FEVENT, file, flags, 0)
     }
 
+    fn fpath(&self, file: usize, buf: &mut [u8]) -> Result<usize> {
+        let inner = self.inner.upgrade().ok_or(Error::new(ENODEV))?;
+        let address = inner.capture_mut(buf)?;
+        let result = inner.call(SYS_FPATH, file, address, buf.len());
+        let _ = inner.release(address);
+        result
+    }
+
     fn fstat(&self, file: usize, stat: &mut Stat) -> Result<usize> {
         let inner = self.inner.upgrade().ok_or(Error::new(ENODEV))?;
         let address = inner.capture_mut(stat)?;
-- 
GitLab