OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-2200-g634c6f1

Gerrit Code Review gerrit@openafs.org
Thu, 23 Feb 2012 10:02:21 -0800 (PST)


The following commit has been merged in the master branch:
commit 634c6f184b17e30ade86c0a838ab55ddddc730d6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Feb 22 15:40:20 2012 -0600

    LINUX: Use afs_convert_code in afs_notify_change
    
    afs_notify_change currently just returns "-code". This can cause a
    panic if the error code is negative, since we will return a positive
    error code, which may get interpreted as a valid pointer value in
    higher levels.
    
    Specifically, if we hit afs_notify_change via something like this code
    path:
    
    do_sys_open -> do_filp_open -> open_namei -> may_open -> do_truncate
    -> notify_change -> afs_notify_change (via inode->i_op->setattr)
    
    the positive error value will be interpreted by do_sys_open as a valid
    'struct file' pointer, and will be dereferenced.
    
    So pass the return value through afs_convert_code, like all of the
    other vnode ops, so we ensure we return an error properly.
    
    Change-Id: I941cc2d77d5a96cf86dfe133d30af4ccf6e9f2cb
    Reviewed-on: http://gerrit.openafs.org/6776
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

 src/afs/LINUX/osi_vnodeops.c   |    2 +-
 src/afs/LINUX24/osi_vnodeops.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

-- 
OpenAFS Master Repository