From 6932915fe1816b3fc3d3c3963d5babf4212738b4 Mon Sep 17 00:00:00 2001 From: Uwe Koziolek Date: Sun, 8 Jul 2007 15:21:58 +0200 Subject: [PATCH] --- yaml --- r: 58255 b: refs/heads/master c: 4c6c914e4c2e0f91775ce4051b5a800c55175462 h: refs/heads/master i: 58253: 0c37c0f2f0983dcc4d9657fc4baaeeaff96b7afd 58251: 3f7174a25aebb6e37e9b8e4cb708b1c44d1c42fa 58247: 82c95c91761c8dc369ab56c089af8061f7c79c07 58239: 4262ba0ae16539f576d80b5bfa053bae56e45131 v: v3 --- [refs] | 2 +- trunk/drivers/ide/pci/sis5513.c | 1 + trunk/fs/utimes.c | 13 +++---------- trunk/include/linux/pci_ids.h | 1 + trunk/mm/filemap.c | 1 + 5 files changed, 7 insertions(+), 11 deletions(-) diff --git a/[refs] b/[refs] index 1d79777f4351..2248f04bade4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1e5de2837c166535f9bb4232bfe97ea1f9fc7a1c +refs/heads/master: 4c6c914e4c2e0f91775ce4051b5a800c55175462 diff --git a/trunk/drivers/ide/pci/sis5513.c b/trunk/drivers/ide/pci/sis5513.c index bb6cc4aedd63..ec0adad9ef61 100644 --- a/trunk/drivers/ide/pci/sis5513.c +++ b/trunk/drivers/ide/pci/sis5513.c @@ -872,6 +872,7 @@ static int __devinit sis5513_init_one(struct pci_dev *dev, const struct pci_devi static struct pci_device_id sis5513_pci_tbl[] = { { PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_5513, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_5518, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + { PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_1180, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { 0, }, }; MODULE_DEVICE_TABLE(pci, sis5513_pci_tbl); diff --git a/trunk/fs/utimes.c b/trunk/fs/utimes.c index b3c88952465f..480f7c8c29da 100644 --- a/trunk/fs/utimes.c +++ b/trunk/fs/utimes.c @@ -106,16 +106,9 @@ long do_utimes(int dfd, char __user *filename, struct timespec *times, int flags if (IS_IMMUTABLE(inode)) goto dput_and_out; - if (current->fsuid != inode->i_uid) { - if (f) { - if (!(f->f_mode & FMODE_WRITE)) - goto dput_and_out; - } else { - error = vfs_permission(&nd, MAY_WRITE); - if (error) - goto dput_and_out; - } - } + if (current->fsuid != inode->i_uid && + (error = vfs_permission(&nd, MAY_WRITE)) != 0) + goto dput_and_out; } mutex_lock(&inode->i_mutex); error = notify_change(dentry, &newattrs); diff --git a/trunk/include/linux/pci_ids.h b/trunk/include/linux/pci_ids.h index 9a03b47da603..5b1c9994f89a 100644 --- a/trunk/include/linux/pci_ids.h +++ b/trunk/include/linux/pci_ids.h @@ -661,6 +661,7 @@ #define PCI_DEVICE_ID_SI_965 0x0965 #define PCI_DEVICE_ID_SI_966 0x0966 #define PCI_DEVICE_ID_SI_968 0x0968 +#define PCI_DEVICE_ID_SI_1180 0x1180 #define PCI_DEVICE_ID_SI_5511 0x5511 #define PCI_DEVICE_ID_SI_5513 0x5513 #define PCI_DEVICE_ID_SI_5517 0x5517 diff --git a/trunk/mm/filemap.c b/trunk/mm/filemap.c index d1d9814f99dd..edb1b0b5cc8d 100644 --- a/trunk/mm/filemap.c +++ b/trunk/mm/filemap.c @@ -1786,6 +1786,7 @@ struct page *read_cache_page_async(struct address_space *mapping, page = __read_cache_page(mapping, index, filler, data); if (IS_ERR(page)) return page; + mark_page_accessed(page); if (PageUptodate(page)) goto out;