1. 13 Oct, 2012 14 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · e225ca27
      Linus Torvalds authored
      Pull Sparc updates from David Miller:
      
       1) Updated syscall tracing fix from Al Viro.
      
       2) SUN4V error reporting was deficient in several areas.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: fix ptrace interaction with force_successful_syscall_return()
        sparc64: Fix deficiencies in sun4v error reporting.
      e225ca27
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · 54f7fc25
      Linus Torvalds authored
      Pull tile arch update from Chris Metcalf:
       "The bulk of this change is the tile uapi disintegration.  There is
        also a one-line change in here to enable interrupts in
        do_work_pending() to avoid a WARN_ON in _local_bh_enable_ip()."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
        arch/tile: enable interrupts in do_work_pending()
        UAPI: (Scripted) Disintegrate arch/tile/include/asm
        UAPI: (Scripted) Disintegrate arch/tile/include/arch
      54f7fc25
    • Linus Torvalds's avatar
      Merge tag 'please-pull-dhowells-uapi' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · 0c4a479b
      Linus Torvalds authored
      Pull ia64 UAPI changes from Tony Luck:
       "ia64 pieces of David Howells great UAPI include file move"
      
      * tag 'please-pull-dhowells-uapi' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        UAPI: (Scripted) Disintegrate arch/ia64/include/asm
      0c4a479b
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ade0899b
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "This tree includes some late late perf items that missed the first
        round:
      
        tools:
      
         - Bash auto completion improvements, now we can auto complete the
           tools long options, tracepoint event names, etc, from Namhyung Kim.
      
         - Look up thread using tid instead of pid in 'perf sched'.
      
         - Move global variables into a perf_kvm struct, from David Ahern.
      
         - Hists refactorings, preparatory for improved 'diff' command, from
           Jiri Olsa.
      
         - Hists refactorings, preparatory for event group viewieng work, from
           Namhyung Kim.
      
         - Remove double negation on optional feature macro definitions, from
           Namhyung Kim.
      
         - Remove several cases of needless global variables, on most
           builtins.
      
         - misc fixes
      
        kernel:
      
         - sysfs support for IBS on AMD CPUs, from Robert Richter.
      
         - Support for an upcoming Intel CPU, the Xeon-Phi / Knights Corner
           HPC blade PMU, from Vince Weaver.
      
         - misc fixes"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)
        perf: Fix perf_cgroup_switch for sw-events
        perf: Clarify perf_cpu_context::active_pmu usage by renaming it to ::unique_pmu
        perf/AMD/IBS: Add sysfs support
        perf hists: Add more helpers for hist entry stat
        perf hists: Move he->stat.nr_events initialization to a template
        perf hists: Introduce struct he_stat
        perf diff: Removing the total_period argument from output code
        perf tool: Add hpp interface to enable/disable hpp column
        perf tools: Removing hists pair argument from output path
        perf hists: Separate overhead and baseline columns
        perf diff: Refactor diff displacement possition info
        perf hists: Add struct hists pointer to struct hist_entry
        perf tools: Complete tracepoint event names
        perf/x86: Add support for Intel Xeon-Phi Knights Corner PMU
        perf evlist: Remove some unused methods
        perf evlist: Introduce add_newtp method
        perf kvm: Move global variables into a perf_kvm struct
        perf tools: Convert to BACKTRACE_SUPPORT
        perf tools: Long option completion support for each subcommands
        perf tools: Complete long option names of perf command
        ...
      ade0899b
    • Markus Trippelsdorf's avatar
      perf: Handle new rbtree implementation · 871a0596
      Markus Trippelsdorf authored
      Perf build fails with the new rbtree implementation:
      
        ../../lib/rbtree.c:24:36: fatal error: linux/rbtree_augmented.h: No such file or directory compilation terminated.
      
      Fix by updating the Makefile and adding a btree_augmented.h
      wrapper.
      Reported-and-tested-by: default avatarBorislav Petkov <borislav.petkov@amd.com>
      Signed-off-by: default avatarMarkus Trippelsdorf <markus@trippelsdorf.de>
      Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
      Cc: Borislav Petkov <bp@amd64.org>
      Link: http://lkml.kernel.org/r/20121009180156.GA245@x4Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      871a0596
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal · 4e21fc13
      Linus Torvalds authored
      Pull third pile of kernel_execve() patches from Al Viro:
       "The last bits of infrastructure for kernel_thread() et.al., with
        alpha/arm/x86 use of those.  Plus sanitizing the asm glue and
        do_notify_resume() on alpha, fixing the "disabled irq while running
        task_work stuff" breakage there.
      
        At that point the rest of kernel_thread/kernel_execve/sys_execve work
        can be done independently for different architectures.  The only
        pending bits that do depend on having all architectures converted are
        restrictred to fs/* and kernel/* - that'll obviously have to wait for
        the next cycle.
      
        I thought we'd have to wait for all of them done before we start
        eliminating the longjump-style insanity in kernel_execve(), but it
        turned out there's a very simple way to do that without flagday-style
        changes."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
        alpha: switch to saner kernel_execve() semantics
        arm: switch to saner kernel_execve() semantics
        x86, um: convert to saner kernel_execve() semantics
        infrastructure for saner ret_from_kernel_thread semantics
        make sure that kernel_thread() callbacks call do_exit() themselves
        make sure that we always have a return path from kernel_execve()
        ppc: eeh_event should just use kthread_run()
        don't bother with kernel_thread/kernel_execve for launching linuxrc
        alpha: get rid of switch_stack argument of do_work_pending()
        alpha: don't bother passing switch_stack separately from regs
        alpha: take SIGPENDING/NOTIFY_RESUME loop into signal.c
        alpha: simplify TIF_NEED_RESCHED handling
      4e21fc13
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 8418263e
      Linus Torvalds authored
      Pull third pile of VFS updates from Al Viro:
       "Stuff from Jeff Layton, mostly.  Sanitizing interplay between audit
        and namei, removing a lot of insanity from audit_inode() mess and
        getting things ready for his ESTALE patchset."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        procfs: don't need a PATH_MAX allocation to hold a string representation of an int
        vfs: embed struct filename inside of names_cache allocation if possible
        audit: make audit_inode take struct filename
        vfs: make path_openat take a struct filename pointer
        vfs: turn do_path_lookup into wrapper around struct filename variant
        audit: allow audit code to satisfy getname requests from its names_list
        vfs: define struct filename and have getname() return it
        vfs: unexport getname and putname symbols
        acct: constify the name arg to acct_on
        vfs: allocate page instead of names_cache buffer in mount_block_root
        audit: overhaul __audit_inode_child to accomodate retrying
        audit: optimize audit_compare_dname_path
        audit: make audit_compare_dname_path use parent_len helper
        audit: remove dirlen argument to audit_compare_dname_path
        audit: set the name_len in audit_inode for parent lookups
        audit: add a new "type" field to audit_names struct
        audit: reverse arguments to audit_inode_child
        audit: no need to walk list in audit_inode if name is NULL
        audit: pass in dentry to audit_copy_inode wherever possible
        audit: remove unnecessary NULL ptr checks from do_path_lookup
      8418263e
    • Jeff Layton's avatar
    • Jeff Layton's avatar
      vfs: embed struct filename inside of names_cache allocation if possible · 7950e385
      Jeff Layton authored
      In the common case where a name is much smaller than PATH_MAX, an extra
      allocation for struct filename is unnecessary. Before allocating a
      separate one, try to embed the struct filename inside the buffer first. If
      it turns out that that's not long enough, then fall back to allocating a
      separate struct filename and redoing the copy.
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      7950e385
    • Jeff Layton's avatar
      audit: make audit_inode take struct filename · adb5c247
      Jeff Layton authored
      Keep a pointer to the audit_names "slot" in struct filename.
      
      Have all of the audit_inode callers pass a struct filename ponter to
      audit_inode instead of a string pointer. If the aname field is already
      populated, then we can skip walking the list altogether and just use it
      directly.
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      adb5c247
    • Jeff Layton's avatar
      vfs: make path_openat take a struct filename pointer · 669abf4e
      Jeff Layton authored
      ...and fix up the callers. For do_file_open_root, just declare a
      struct filename on the stack and fill out the .name field. For
      do_filp_open, make it also take a struct filename pointer, and fix up its
      callers to call it appropriately.
      
      For filp_open, add a variant that takes a struct filename pointer and turn
      filp_open into a wrapper around it.
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      669abf4e
    • Jeff Layton's avatar
      vfs: turn do_path_lookup into wrapper around struct filename variant · 873f1eed
      Jeff Layton authored
      ...and make the user_path callers use that variant instead.
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      873f1eed
    • Jeff Layton's avatar
      audit: allow audit code to satisfy getname requests from its names_list · 7ac86265
      Jeff Layton authored
      Currently, if we call getname() on a userland string more than once,
      we'll get multiple copies of the string and multiple audit_names
      records.
      
      Add a function that will allow the audit_names code to satisfy getname
      requests using info from the audit_names list, avoiding a new allocation
      and audit_names records.
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      7ac86265
    • Jeff Layton's avatar
      vfs: define struct filename and have getname() return it · 91a27b2a
      Jeff Layton authored
      getname() is intended to copy pathname strings from userspace into a
      kernel buffer. The result is just a string in kernel space. It would
      however be quite helpful to be able to attach some ancillary info to
      the string.
      
      For instance, we could attach some audit-related info to reduce the
      amount of audit-related processing needed. When auditing is enabled,
      we could also call getname() on the string more than once and not
      need to recopy it from userspace.
      
      This patchset converts the getname()/putname() interfaces to return
      a struct instead of a string. For now, the struct just tracks the
      string in kernel space and the original userland pointer for it.
      
      Later, we'll add other information to the struct as it becomes
      convenient.
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      91a27b2a
  2. 12 Oct, 2012 26 commits