]> err.no Git - linux-2.6/commitdiff
Merge commit 'v2.6.26' into bkl-removal
authorJonathan Corbet <corbet@lwn.net>
Mon, 14 Jul 2008 21:29:34 +0000 (15:29 -0600)
committerJonathan Corbet <corbet@lwn.net>
Mon, 14 Jul 2008 21:29:34 +0000 (15:29 -0600)
30 files changed:
1  2 
block/bsg.c
drivers/char/agp/frontend.c
drivers/char/drm/drm_fops.c
drivers/char/ip2/ip2main.c
drivers/char/ipmi/ipmi_watchdog.c
drivers/char/rtc.c
drivers/char/tty_io.c
drivers/char/viotape.c
drivers/infiniband/core/user_mad.c
drivers/infiniband/core/uverbs_main.c
drivers/isdn/hardware/eicon/divasmain.c
drivers/isdn/i4l/isdn_common.c
drivers/macintosh/smu.c
drivers/media/video/videodev.c
drivers/net/tun.c
drivers/s390/char/vmlogrdr.c
drivers/sbus/char/bpp.c
drivers/scsi/3w-9xxx.c
drivers/scsi/ch.c
drivers/scsi/osst.c
drivers/scsi/sg.c
drivers/scsi/st.c
drivers/spi/spidev.c
drivers/uio/uio.c
fs/cifs/cifsfs.c
fs/fat/file.c
fs/nfs/file.c
fs/ocfs2/stack_user.c
include/linux/fs.h
sound/core/sound.c

diff --cc block/bsg.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc fs/fat/file.c
index bdf91e97397df7e4b26ba4bb8e03637854cb8228,771326b8047e0ff5e3483f885c1edc30a604471a..c672df4036e94cc59aed3c1c59b4fdeb8882fe7a
@@@ -296,9 -307,11 +304,9 @@@ int fat_setattr(struct dentry *dentry, 
  {
        struct msdos_sb_info *sbi = MSDOS_SB(dentry->d_sb);
        struct inode *inode = dentry->d_inode;
-       int mask, error = 0;
+       int error = 0;
        unsigned int ia_valid;
  
 -      lock_kernel();
 -
        /*
         * Expand the file. Since inode_setattr() updates ->i_size
         * before calling the ->truncate(), but FAT needs to fill the
                goto out;
        }
  
-       error = inode_setattr(inode, attr);
-       if (error)
-               goto out;
+       /*
+        * We don't return -EPERM here. Yes, strange, but this is too
+        * old behavior.
+        */
+       if (attr->ia_valid & ATTR_MODE) {
+               if (fat_sanitize_mode(sbi, inode, &attr->ia_mode) < 0)
+                       attr->ia_valid &= ~ATTR_MODE;
+       }
  
-       if (S_ISDIR(inode->i_mode))
-               mask = sbi->options.fs_dmask;
-       else
-               mask = sbi->options.fs_fmask;
-       inode->i_mode &= S_IFMT | (S_IRWXUGO & ~mask);
+       error = inode_setattr(inode, attr);
  out:
 -      unlock_kernel();
        return error;
  }
  EXPORT_SYMBOL_GPL(fat_setattr);
diff --cc fs/nfs/file.c
Simple merge
Simple merge
Simple merge
Simple merge