[lkml]   [2012]   [Jun]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subject[PATCH v4 0/9] audit: overhaul audit_names handling to allow for retrying on path-based syscalls
    I recently posted a set of patches to have the kernel retry the lookup
    and call when path-based syscalls would ordinarily return ESTALE. Al
    took a look and pointed out that this would break the fragile logic that
    handles the audit_names for syscall auditing.

    This patchset comprises a number of incremental changes that should make
    it ok to retry on a path-based syscall. The main caveat is that the retry
    mustn't redo the getname() on the strings involved.

    Unfortunately, we don't have anything that really describes what the
    correct behavior is for this stuff, so I'm shooting here for "no
    discernable difference" on a retry.

    This seems to do the right thing in the cases that I've tested; mostly
    the normal case where things succeed or fail for some reason and where
    the syscall is retried after an ESTALE error.

    Review is of course appreciated. There are some fixes in here too for
    some subtle bugs in the existing code. Some of these patches may also
    help performance in some cases, but I haven't measured it for that.

    I'd like to see this patchset go into 3.6 if at all possible.

    Eric Paris (1):
    audit: make audit_compare_dname_path use parent_len helper

    Jeff Layton (8):
    audit: remove unnecessary NULL ptr checks from do_path_lookup
    audit: pass in dentry to audit_copy_inode wherever possible
    audit: reverse arguments to audit_inode_child
    audit: add a new "type" field to audit_names struct
    audit: set the name_len in audit_inode for parent lookups
    audit: remove dirlen argument to audit_compare_dname_path
    audit: optimize audit_compare_dname_path
    audit: overhaul __audit_inode_child to accomodate retrying

    fs/btrfs/ioctl.c | 2 +-
    fs/namei.c | 20 +++-----
    fs/open.c | 4 +-
    fs/xattr.c | 8 ++--
    include/linux/audit.h | 36 ++++++++++-----
    include/linux/fsnotify.h | 8 ++--
    ipc/mqueue.c | 8 ++--
    kernel/audit.h | 7 ++-
    kernel/audit_watch.c | 3 +-
    kernel/auditfilter.c | 65 +++++++++++++++++---------
    kernel/auditsc.c | 115 +++++++++++++++++++++++++++------------------
    11 files changed, 165 insertions(+), 111 deletions(-)


     \ /
      Last update: 2012-06-26 19:21    [W:0.022 / U:24.152 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site