Browse Source

Update userspace to have proper protection values for mmap and send the proper flags to the callback function.

Godzil 4 years ago
parent
commit
57ae74c803
2 changed files with 3 additions and 3 deletions
  1. 1 1
      include/fusd.h
  2. 2 2
      libfusd/libfusd.c

+ 1 - 1
include/fusd.h

@@ -81,7 +81,7 @@ struct fusd_file_operations {
   int (*ioctl) (struct fusd_file_info *file, int request, void *data);
   int (*poll_diff) (struct fusd_file_info *file, unsigned int cached_state);
   int (*unblock) (struct fusd_file_info *file);
-  int (*mmap) (struct fusd_file_info *file, int offset, size_t length, int flags, void** addr, size_t* out_length);
+  int (*mmap) (struct fusd_file_info *file, int offset, size_t length, int prot, int flags, void** addr, size_t* out_length);
 } fusd_file_operations_t;
 
 

+ 2 - 2
libfusd/libfusd.c

@@ -503,8 +503,8 @@ static int fusd_dispatch_one(int fd, fusd_file_operations_t *fops)
     //printf("FUSD_MMAP\n");
     if (fops && fops->mmap)
     {
-      user_retval = fops->mmap(file, msg->parm.fops_msg.offset, msg->parm.fops_msg.length, msg->parm.fops_msg.flags,
-                               &msg->parm.fops_msg.arg.ptr_arg, &msg->parm.fops_msg.length);
+      user_retval = fops->mmap(file, msg->parm.fops_msg.mmoffset, msg->parm.fops_msg.length, msg->parm.fops_msg.mmprot,
+                               msg->parm.fops_msg.mmflags, &msg->parm.fops_msg.arg.ptr_arg, &msg->parm.fops_msg.length);
     }
     break;