Search
SailfishOS Open Build Service
>
Projects
>
nemo
:
devel:hw
:
x86:x86-common
>
virtualbox
> vbox-mmap-02.diff
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File vbox-mmap-02.diff of Package virtualbox (Revision 2)
Currently displaying revision
2
,
show latest
commit 7d8a6d68c286e3544645a54d5fcc14f1de7b16f4 Author: Richard Braakman <richard.braakman@jollamobile.com> Date: Fri Feb 1 00:18:24 2013 +0200 sharedfolders bugfix: set access read/write even if some bits already set In sf_reg_open(), a file opened with O_TRUNC|O_RDWR wouldn't get the SHFL_CF_ACCESS_READ flag because of the logic that skipped processing the O_RDWR after seeing O_TRUNC. This is wrong, and it shows up with the new pagecache code because the handle is not flagged as readable. diff --git a/src/VBox/Additions/linux/sharedfolders/regops.c b/src/VBox/Additions/linux/sharedfolders/regops.c index c3b314e..c39fc97 100644 --- a/src/VBox/Additions/linux/sharedfolders/regops.c +++ b/src/VBox/Additions/linux/sharedfolders/regops.c @@ -341,25 +341,22 @@ static int sf_reg_open(struct inode *inode, struct file *file) } } - if (!(params.CreateFlags & SHFL_CF_ACCESS_READWRITE)) + switch (file->f_flags & O_ACCMODE) { - switch (file->f_flags & O_ACCMODE) - { - case O_RDONLY: - params.CreateFlags |= SHFL_CF_ACCESS_READ; - break; + case O_RDONLY: + params.CreateFlags |= SHFL_CF_ACCESS_READ; + break; - case O_WRONLY: - params.CreateFlags |= SHFL_CF_ACCESS_WRITE; - break; + case O_WRONLY: + params.CreateFlags |= SHFL_CF_ACCESS_WRITE; + break; - case O_RDWR: - params.CreateFlags |= SHFL_CF_ACCESS_READWRITE; - break; + case O_RDWR: + params.CreateFlags |= SHFL_CF_ACCESS_READWRITE; + break; - default: - BUG (); - } + default: + BUG (); } if (file->f_flags & O_APPEND)