lkml.org 
[lkml]   [2011]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: [git pull] several fixes
    From
    Date
    On Wed, 16 Mar 2011, Al Viro wrote:
    > Several fixes, including the brown paperbag one for -ELOOP breakage
    > in the last commit of yesterday pull. Please, pull from the usual place -
    > git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6.git/ for-linus

    __fput doesn't need a cdev_put() for O_PATH handles.

    Signed-off-by: mszeredi@suse.cz
    ---
    fs/file_table.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    Index: linux-2.6/fs/file_table.c
    ===================================================================
    --- linux-2.6.orig/fs/file_table.c 2011-03-16 16:13:25.000000000 +0100
    +++ linux-2.6/fs/file_table.c 2011-03-16 17:50:22.000000000 +0100
    @@ -246,8 +246,10 @@ static void __fput(struct file *file)
    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))
    + if (unlikely(S_ISCHR(inode->i_mode) && inode->i_cdev != NULL &&
    + !(file->f_mode & FMODE_PATH))) {
    cdev_put(inode->i_cdev);
    + }
    fops_put(file->f_op);
    put_pid(file->f_owner.pid);
    file_sb_list_del(file);



    \
     
     \ /
      Last update: 2011-03-16 18:21    [W:0.028 / U:31.000 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site