#include <linux/sched.h>
#include <linux/slab.h>
#include <linux/fs.h>
+#include <linux/namei.h>
#include "ext2.h"
#include "xattr.h"
#include "acl.h"
int mode = inode->i_mode;
/* Nobody gets write access to a read-only fs */
- if ((mask & MAY_WRITE) && IS_RDONLY(inode) &&
+ if ((mask & MAY_WRITE) && (IS_RDONLY(inode) ||
+ (nd && MNT_IS_RDONLY(nd->mnt))) &&
(S_ISREG(mode) || S_ISDIR(mode) || S_ISLNK(mode)))
return -EROFS;
/* Nobody gets write access to an immutable file */