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
@@@ -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