diff options
Diffstat (limited to 'devices/src/virtio')
-rw-r--r-- | devices/src/virtio/fs/server.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/devices/src/virtio/fs/server.rs b/devices/src/virtio/fs/server.rs index 1914c9b..9c3136d 100644 --- a/devices/src/virtio/fs/server.rs +++ b/devices/src/virtio/fs/server.rs @@ -835,7 +835,13 @@ impl<F: FileSystem + Sync> Server<F> { match self.fs.init(capable) { Ok(want) => { - let enabled = capable & (want | supported); + let mut enabled = capable & (want | supported); + + // HANDLE_KILLPRIV doesn't work correctly when writeback caching is enabled so turn + // it off. + if enabled.contains(FsOptions::WRITEBACK_CACHE) { + enabled.remove(FsOptions::HANDLE_KILLPRIV); + } let out = InitOut { major: KERNEL_VERSION, |