]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - fs/file_table.c
tg3: Restore likely() check in tg3_poll_msix()
[net-next-2.6.git] / fs / file_table.c
index 69652c5bd5f0ad83b983324d4dc2d31b7a1cd689..32d12b78bac8e2c05a80dc53386b355bdc10ef73 100644 (file)
@@ -253,6 +253,7 @@ void __fput(struct file *file)
        if (file->f_op && file->f_op->release)
                file->f_op->release(inode, file);
        security_file_free(file);
+       ima_file_free(file);
        if (unlikely(S_ISCHR(inode->i_mode) && inode->i_cdev != NULL))
                cdev_put(inode->i_cdev);
        fops_put(file->f_op);
@@ -392,7 +393,9 @@ retry:
                        continue;
                if (!(f->f_mode & FMODE_WRITE))
                        continue;
+               spin_lock(&f->f_lock);
                f->f_mode &= ~FMODE_WRITE;
+               spin_unlock(&f->f_lock);
                if (file_check_writeable(f) != 0)
                        continue;
                file_release_write(f);