]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/fat/file.c
fat: Fix ATTR_RO in the case of (~umask & S_WUGO) == 0
[linux-2.6-omap-h63xx.git] / fs / fat / file.c
index f5a7e907a8fa469eaf912cb2e7fae4c2a0d84aaf..81b15c623803d4ca88385ee09e004811aebe4c83 100644 (file)
@@ -27,7 +27,12 @@ int fat_generic_ioctl(struct inode *inode, struct file *filp,
        switch (cmd) {
        case FAT_IOCTL_GET_ATTRIBUTES:
        {
-               u32 attr = fat_make_attrs(inode);
+               u32 attr;
+
+               mutex_lock(&inode->i_mutex);
+               attr = fat_make_attrs(inode);
+               mutex_unlock(&inode->i_mutex);
+
                return put_user(attr, user_attr);
        }
        case FAT_IOCTL_SET_ATTRIBUTES: