1. 10 2月, 2014 1 次提交
    • M
      perf probe: Do not add offset twice to uprobe address · 981a2379
      Masami Hiramatsu 提交于
      Fix perf-probe not to add offset value twice to uprobe probe address
      when post processing.
      
      The tevs[i].point.address struct member is the address of symbol+offset,
      but current perf-probe adjusts the point.address by adding the offset.
      
      As a result, the probe address becomes symbol+offset+offset. This may
      cause unexpected code corruption. Urgent fix is needed.
      
      Without this fix:
        ---
        # ./perf probe -x ./perf dso__load_vmlinux+4
        # ./perf probe -l
          probe_perf:dso__load_vmlinux (on 0x000000000006d2b8)
        # nm ./perf.orig | grep dso__load_vmlinux\$
        000000000046d0a0 T dso__load_vmlinux
        ---
      
      You can see the given offset is 3 but the actual probed address is
      dso__load_vmlinux+8.
      
      With this fix:
        ---
        # ./perf probe -x ./perf dso__load_vmlinux+4
        # ./perf probe -l
          probe_perf:dso__load_vmlinux (on 0x000000000006d2b4)
        ---
      
      Now the problem is fixed.
      
      Note: This bug is introduced by
      	commit fb7345bbSigned-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: "David A. Long" <dave.long@linaro.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: yrl.pp-manager.tt@hitachi.com
      Link: http://lkml.kernel.org/r/20140205051858.6519.27314.stgit@kbuild-fedora.yrl.intra.hitachi.co.jpSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      981a2379
  2. 09 2月, 2014 2 次提交
  3. 02 2月, 2014 1 次提交
  4. 01 2月, 2014 10 次提交
  5. 30 1月, 2014 1 次提交
  6. 27 1月, 2014 1 次提交
  7. 26 1月, 2014 1 次提交
  8. 25 1月, 2014 1 次提交
  9. 24 1月, 2014 3 次提交
  10. 21 1月, 2014 19 次提交
    • N
      perf symbols: Fix JIT symbol resolution on heap · 578c03c8
      Namhyung Kim 提交于
      Gaurav reported that perf cannot profile JIT program if it executes the
      code on heap.  This was because current map__new() only handle JIT on
      anon mappings - extends it to handle no_dso (heap, stack) case too.
      
      This patch assumes JIT profiling only provides dynamic function symbols
      so check the mapping type to distinguish the case.  It'd provide no
      symbols for data mapping - if we need to support symbols on data
      mappings later it should be changed.
      Reported-by: NGaurav Jain <gjain@fb.com>
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Tested-by: NGaurav Jain <gjain@fb.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Gaurav Jain <gjain@fb.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1389836971-3549-1-git-send-email-namhyung@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      578c03c8
    • L
      Merge branch 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 15c81026
      Linus Torvalds 提交于
      Pull x32 uapi changes from Peter Anvin:
       "This is the first few of a set of patches by H.J.  Lu to make the
        kernel uapi headers usable for x32, as required by some non-glibc
        libcs.
      
        These particular patches make the stat and statfs structures usable"
      
      * 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, x32: Use __kernel_long_t for __statfs_word
        x86, x32: Use __kernel_long_t/__kernel_ulong_t in x86-64 stat.h
      15c81026
    • L
      Merge branch 'x86/mpx' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c9cdd9a6
      Linus Torvalds 提交于
      Pull x86 cpufeature and mpx updates from Peter Anvin:
       "This includes the basic infrastructure for MPX (Memory Protection
        Extensions) support, but does not include MPX support itself.  It is,
        however, a prerequisite for KVM support for MPX, which I believe will
        be pushed later this merge window by the KVM team.
      
        This includes moving the functionality in
        futex_atomic_cmpxchg_inatomic() into a new function in uaccess.h so it
        can be reused - this will be used by the final MPX patches.
      
        The actual MPX functionality (map management and so on) will be pushed
        in a future merge window, when ready"
      
      * 'x86/mpx' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/intel/mpx: Remove unused LWP structure
        x86, mpx: Add MPX related opcodes to the x86 opcode map
        x86: replace futex_atomic_cmpxchg_inatomic() with user_atomic_cmpxchg_inatomic
        x86: add user_atomic_cmpxchg_inatomic at uaccess.h
        x86, xsave: Support eager-only xsave features, add MPX support
        x86, cpufeature: Define the Intel MPX feature flag
      c9cdd9a6
    • L
      Merge branch 'x86-kaslr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f4bcd8cc
      Linus Torvalds 提交于
      Pull x86 kernel address space randomization support from Peter Anvin:
       "This enables kernel address space randomization for x86"
      
      * 'x86-kaslr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, kaslr: Clarify RANDOMIZE_BASE_MAX_OFFSET
        x86, kaslr: Remove unused including <linux/version.h>
        x86, kaslr: Use char array to gain sizeof sanity
        x86, kaslr: Add a circular multiply for better bit diffusion
        x86, kaslr: Mix entropy sources together as needed
        x86/relocs: Add percpu fixup for GNU ld 2.23
        x86, boot: Rename get_flags() and check_flags() to *_cpuflags()
        x86, kaslr: Raise the maximum virtual address to -1 GiB on x86_64
        x86, kaslr: Report kernel offset on panic
        x86, kaslr: Select random position from e820 maps
        x86, kaslr: Provide randomness functions
        x86, kaslr: Return location from decompress_kernel
        x86, boot: Move CPU flags out of cpucheck
        x86, relocs: Add more per-cpu gold special cases
      f4bcd8cc
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7fe67a11
      Linus Torvalds 提交于
      Pull leftover x86 fixes from Ingo Molnar:
       "Two leftover fixes that did not make it into v3.13"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Add check for number of available vectors before CPU down
        x86, cpu, amd: Add workaround for family 16h, erratum 793
      7fe67a11
    • L
      Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fab5669d
      Linus Torvalds 提交于
      Pull x86 RAS changes from Ingo Molnar:
      
       - SCI reporting for other error types not only correctable ones
      
       - GHES cleanups
      
       - Add the functionality to override error reporting agents as some
         machines are sporting a new extended error logging capability which,
         if done properly in the BIOS, makes a corresponding EDAC module
         redundant
      
       - PCIe AER tracepoint severity levels fix
      
       - Error path correction for the mce device init
      
       - MCE timer fix
      
       - Add more flexibility to the error injection (EINJ) debugfs interface
      
      * 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, mce: Fix mce_start_timer semantics
        ACPI, APEI, GHES: Cleanup ghes memory error handling
        ACPI, APEI: Cleanup alignment-aware accesses
        ACPI, APEI, GHES: Do not report only correctable errors with SCI
        ACPI, APEI, EINJ: Changes to the ACPI/APEI/EINJ debugfs interface
        ACPI, eMCA: Combine eMCA/EDAC event reporting priority
        EDAC, sb_edac: Modify H/W event reporting policy
        EDAC: Add an edac_report parameter to EDAC
        PCI, AER: Fix severity usage in aer trace event
        x86, mce: Call put_device on device_register failure
      fab5669d
    • L
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 74e8ee82
      Linus Torvalds 提交于
      Pull Intel SoC changes from Ingo Molnar:
       "Improved Intel SoC platform support"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, tsc, apic: Unbreak static (MSR) calibration when CONFIG_X86_LOCAL_APIC=n
        x86, tsc: Add static (MSR) TSC calibration on Intel Atom SoCs
        arch: x86: New MailBox support driver for Intel SOC's
      74e8ee82
    • L
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8bd6964c
      Linus Torvalds 提交于
      Pull x86 mm changes from Ingo Molnar:
       "A cleanup, a fix and ASLR support for hugetlb mappings"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/numa: Fix 32-bit kernel NUMA boot
        x86/mm: Implement ASLR for hugetlb mappings
        x86/mm: Unify pte_to_pgoff() and pgoff_to_pte() helpers
      8bd6964c
    • L
      Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2bb2c5e2
      Linus Torvalds 提交于
      Pull x86 microcode loader updates from Ingo Molnar:
       "There are two main changes in this tree:
      
         - AMD microcode early loading fixes
         - some microcode loader source files reorganization"
      
      * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, microcode: Move to a proper location
        x86, microcode, AMD: Fix early ucode loading
        x86, microcode: Share native MSR accessing variants
        x86, ramdisk: Export relocated ramdisk VA
      2bb2c5e2
    • L
      Merge branch 'x86-intel-mid-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4500cf60
      Linus Torvalds 提交于
      Pull Intel MID updates from Ingo Molnar:
       "This tree improves Intel MID (Mobile Internet Device) platform
        support:
      
         - Merrifield platform support (David Cohen)
         - Clovertrail platform support (Kuppuswamy Sathyanarayanan)
         - Various cleanups and fixes (David Cohen)"
      
      * 'x86-intel-mid-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, intel_mid: Replace memcpy with struct assignment
        x86, intel-mid: Return proper error code from get_gpio_by_name()
        x86, intel-mid: Check get_gpio_by_name() error code on platform code
        x86, intel-mid: sfi_handle_*_dev() should check for pdata error code
        x86, intel-mid: Remove deprecated X86_MDFLD and X86_WANT_INTEL_MID configs
        x86, intel-mid: Add Merrifield platform support
        x86, intel-mid: Add Clovertrail platform support
        x86, intel-mid: Move Medfield code out of intel-mid.c core file
      4500cf60
    • L
      Merge branch 'x86-efi-kexec-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 972d5e7e
      Linus Torvalds 提交于
      Pull x86 EFI changes from Ingo Molnar:
       "This consists of two main parts:
      
         - New static EFI runtime services virtual mapping layout which is
           groundwork for kexec support on EFI (Borislav Petkov)
      
         - EFI kexec support itself (Dave Young)"
      
      * 'x86-efi-kexec-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
        x86/efi: parse_efi_setup() build fix
        x86: ksysfs.c build fix
        x86/efi: Delete superfluous global variables
        x86: Reserve setup_data ranges late after parsing memmap cmdline
        x86: Export x86 boot_params to sysfs
        x86: Add xloadflags bit for EFI runtime support on kexec
        x86/efi: Pass necessary EFI data for kexec via setup_data
        efi: Export EFI runtime memory mapping to sysfs
        efi: Export more EFI table variables to sysfs
        x86/efi: Cleanup efi_enter_virtual_mode() function
        x86/efi: Fix off-by-one bug in EFI Boot Services reservation
        x86/efi: Add a wrapper function efi_map_region_fixed()
        x86/efi: Remove unused variables in __map_region()
        x86/efi: Check krealloc return value
        x86/efi: Runtime services virtual mapping
        x86/mm/cpa: Map in an arbitrary pgd
        x86/mm/pageattr: Add last levels of error path
        x86/mm/pageattr: Add a PUD error unwinding path
        x86/mm/pageattr: Add a PTE pagetable populating function
        x86/mm/pageattr: Add a PMD pagetable populating function
        ...
      972d5e7e
    • L
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5d4863e4
      Linus Torvalds 提交于
      Pull x86 TLB detection update from Ingo Molnar:
       "A single change that extends our TLB cache size detection+reporting
        code"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, cpu: Detect more TLB configuration
      5d4863e4
    • L
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2a0fede9
      Linus Torvalds 提交于
      Pull x86 cleanups from Ingo Molnar:
       "Misc cleanups"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, cpu, amd: Fix a shadowed variable situation
        um, x86: Fix vDSO build
        x86: Delete non-required instances of include <linux/init.h>
        x86, realmode: Pointer walk cleanups, pull out invariant use of __pa()
        x86/traps: Clean up error exception handler definitions
      2a0fede9
    • L
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 06bc0f4a
      Linus Torvalds 提交于
      Pull x86/build changes from Ingo Molnar:
       "Misc smaller improvements"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, boot: Move intcall() to the .inittext section
        x86, boot: Use .code16 instead of .code16gcc
        x86, sparse: Do not force removal of __user when calling copy_to/from_user_nocheck()
      06bc0f4a
    • L
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4cd41569
      Linus Torvalds 提交于
      Pull x86/asm changes from Ingo Molnar:
       "Misc optimizations"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Slightly tweak the access_ok() C variant for better code
        x86: Replace assembly access_ok() with a C variant
        x86-64, copy_user: Use leal to produce 32-bit results
        x86-64, copy_user: Remove zero byte check before copy user buffer.
      4cd41569
    • L
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1a7dbbcc
      Linus Torvalds 提交于
      Pull x86/apic changes from Ingo Molnar:
       "Two main changes:
      
         - improve local APIC Error Status Register reporting robustness
      
         - add the 'disable_cpu_apicid=x' boot parameter for kexec booting"
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, apic: Make disabled_cpu_apicid static read_mostly, fix typos
        x86, apic, kexec: Add disable_cpu_apicid kernel parameter
        x86/apic: Read Error Status Register correctly
      1a7dbbcc
    • L
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6c646143
      Linus Torvalds 提交于
      Pull timer changes from Ingo Molnar:
        - ARM clocksource/clockevent improvements and fixes
        - generic timekeeping updates: TAI fixes/improvements, cleanups
        - Posix cpu timer cleanups and improvements
        - dynticks updates: full dynticks bugfixes, optimizations and cleanups
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)
        clocksource: Timer-sun5i: Switch to sched_clock_register()
        timekeeping: Remove comment that's mostly out of date
        rtc-cmos: Add an alarm disable quirk
        timekeeper: fix comment typo for tk_setup_internals()
        timekeeping: Fix missing timekeeping_update in suspend path
        timekeeping: Fix CLOCK_TAI timer/nanosleep delays
        tick/timekeeping: Call update_wall_time outside the jiffies lock
        timekeeping: Avoid possible deadlock from clock_was_set_delayed
        timekeeping: Fix potential lost pv notification of time change
        timekeeping: Fix lost updates to tai adjustment
        clocksource: sh_cmt: Add clk_prepare/unprepare support
        clocksource: bcm_kona_timer: Remove unused bcm_timer_ids
        clocksource: vt8500: Remove deprecated IRQF_DISABLED
        clocksource: tegra: Remove deprecated IRQF_DISABLED
        clocksource: misc drivers: Remove deprecated IRQF_DISABLED
        clocksource: sh_mtu2: Remove unnecessary platform_set_drvdata()
        clocksource: sh_tmu: Remove unnecessary platform_set_drvdata()
        clocksource: armada-370-xp: Enable timer divider only when needed
        clocksource: clksrc-of: Warn if no clock sources are found
        clocksource: orion: Switch to sched_clock_register()
        ...
      6c646143
    • S
      perf stat: Fix memory corruption of xyarray when cpumask is used · 8ad9219e
      Stephane Eranian 提交于
      This patch fixes a memory corruption problem with the xyarray when the
      evsel fds get closed at the end of the run_perf_stat() call.
      
      It could be triggered with:
      
       # perf stat -a -e power/energy-cores/ ls
      
      When cpumask are used by events (.e.g, RAPL or uncores) then the evsel
      fds are allocated based on the actual number of CPUs monitored. That
      number can be smaller than the total number of CPUs on the system.
      
      The problem arises at the end by perf stat closes the fds twice. When
      fds are closed, their entry in the xyarray are set to -1.
      
      The first close() on the evsel is made from __run_perf_stat() and it
      uses the actual number of CPUS for the event which is how the xyarray
      was allocated for.
      
      The second is from perf_evlist_close() but that one is on the total
      number of CPUs in the system, so it assume the xyarray was allocated to
      cover it. However it was not, and some writes corrupt memory.
      
      The fix is in perf_evlist_close() is to first try with the evsel->cpus
      if present, if not use the evlist->cpus. That fixes the problem.
      Signed-off-by: NStephane Eranian <eranian@google.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1389972846-6566-3-git-send-email-eranian@google.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      8ad9219e
    • S
      perf evsel: Remove duplicate member zeroing after free · de256a4e
      Stephane Eranian 提交于
      No need to set evsel->fd to NULL after calling perf_evsel__free_fd(), as
      this method already does that.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/n/tip-wu6kul8fpapr8iyqm685ewtf@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      de256a4e