From f2dcefc882ebc2502b00135e435a572df2b1a3b0 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 28 Sep 2016 10:29:17 -0600 Subject: [PATCH] Fix kernel user scheme fpath --- kernel/scheme/user.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/kernel/scheme/user.rs b/kernel/scheme/user.rs index a02b2b7..e91fb09 100644 --- a/kernel/scheme/user.rs +++ b/kernel/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 { + 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 { let inner = self.inner.upgrade().ok_or(Error::new(ENODEV))?; let address = inner.capture_mut(stat)?;