From 4c4c27a93e5cecb5fd2496b84f1622eea5574dad Mon Sep 17 00:00:00 2001 From: Antonio SJ Musumeci Date: Mon, 17 Jun 2019 13:37:15 -0400 Subject: [PATCH] set uid & gid when calling ioctl Turns out certain ioctl calls check the effective user id (FS_IOC_SETFLAGS). --- src/fuse_ioctl.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/fuse_ioctl.cpp b/src/fuse_ioctl.cpp index bc8f0a11..ef608a62 100644 --- a/src/fuse_ioctl.cpp +++ b/src/fuse_ioctl.cpp @@ -107,12 +107,13 @@ namespace l void *data_, uint32_t *out_bufsz_) { - FileInfo *fi = reinterpret_cast(ffi_->fh); + FileInfo *fi = reinterpret_cast(ffi_->fh); + const fuse_context *fc = fuse_get_context(); + const ugid::Set ugid(fc->uid,fc->gid); return l::ioctl(fi->fd,cmd_,data_,out_bufsz_); } - #ifndef O_NOATIME #define O_NOATIME 0 #endif