1. 28 May, 2019 19 commits
    • Adrian Hunter's avatar
      perf intel-pt: Fix itrace defaults for perf script intel-pt documentation · a2d8a158
      Adrian Hunter authored
      Fix intel-pt documentation to reflect the change of itrace defaults for
      perf script.
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: stable@vger.kernel.org
      Fixes: 4eb06815 ("perf script: Make itrace script default to all calls")
      Link: http://lkml.kernel.org/r/20190520113728.14389-4-adrian.hunter@intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      a2d8a158
    • Adrian Hunter's avatar
      perf auxtrace: Fix itrace defaults for perf script · 355200e0
      Adrian Hunter authored
      Commit 4eb06815 ("perf script: Make itrace script default to all
      calls") does not work for the case when '--itrace' only is used, because
      default_no_sample is not being passed.
      
      Example:
      
       Before:
      
        $ perf record -e intel_pt/cyc/u ls
        $ perf script --itrace > cmp1.txt
        $ perf script --itrace=cepwx > cmp2.txt
        $ diff -sq cmp1.txt cmp2.txt
        Files cmp1.txt and cmp2.txt differ
      
       After:
      
        $ perf script --itrace > cmp1.txt
        $ perf script --itrace=cepwx > cmp2.txt
        $ diff -sq cmp1.txt cmp2.txt
        Files cmp1.txt and cmp2.txt are identical
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: stable@vger.kernel.org
      Fixes: 4eb06815 ("perf script: Make itrace script default to all calls")
      Link: http://lkml.kernel.org/r/20190520113728.14389-3-adrian.hunter@intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      355200e0
    • Adrian Hunter's avatar
      perf intel-pt: Fix itrace defaults for perf script · 26f19c2e
      Adrian Hunter authored
      Commit 4eb06815 ("perf script: Make itrace script default to all
      calls") does not work because 'use_browser' is being used to determine
      whether to default to periodic sampling (i.e. better for perf report).
      The result is that nothing but CBR events display for perf script when
      no --itrace option is specified.
      
      Fix by using 'default_no_sample' and 'inject' instead.
      
      Example:
      
       Before:
      
        $ perf record -e intel_pt/cyc/u ls
        $ perf script > cmp1.txt
        $ perf script --itrace=cepwx > cmp2.txt
        $ diff -sq cmp1.txt cmp2.txt
        Files cmp1.txt and cmp2.txt differ
      
       After:
      
        $ perf script > cmp1.txt
        $ perf script --itrace=cepwx > cmp2.txt
        $ diff -sq cmp1.txt cmp2.txt
        Files cmp1.txt and cmp2.txt are identical
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: stable@vger.kernel.org # v4.20+
      Fixes: 90e457f7 ("perf tools: Add Intel PT support")
      Link: http://lkml.kernel.org/r/20190520113728.14389-2-adrian.hunter@intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      26f19c2e
    • Adrian Hunter's avatar
      perf-with-kcore.sh: Always allow fix_buildid_cache_permissions · a685c7a4
      Adrian Hunter authored
      The user's buildid cache may contain entries added by root even if root
      has its own home directory (e.g. by using perfconfig to specify the same
      buildid dir), so remove that validation.
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Link: http://lkml.kernel.org/r/20190412113830.4126-7-adrian.hunter@intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      a685c7a4
    • Ingo Molnar's avatar
      Merge tag 'perf-urgent-for-mingo-5.2-20190528' of... · 849e96f3
      Ingo Molnar authored
      Merge tag 'perf-urgent-for-mingo-5.2-20190528' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
      
      Pull perf/urgent fixes:
      
      BPF:
      
        Jiri Olsa:
      
        - Fixup determination of end of kernel map, to avoid having BPF programs,
          that are after the kernel headers and just before module texts mixed up in
          the kernel map.
      
      tools UAPI header copies:
      
        Arnaldo Carvalho de Melo:
      
        - Update copy of files related to new fspick, fsmount, fsconfig, fsopen,
          move_mount and open_tree syscalls.
      
        - Sync cpufeatures.h, sched.h, fs.h, drm.h, i915_drm.h and kvm.h headers.
      
      Namespaces:
      
        Namhyung Kim:
      
        - Add missing byte swap ops for namespace events when processing records from
          perf.data files that could have been recorded in a arch with a different
          endianness.
      
        - Fix access to the thread namespaces list by using the namespaces_lock.
      
      perf data:
      
        Shawn Landden:
      
        - Fix 'strncat may truncate' build failure with recent gcc.
      
      s/390
      
        Thomas Richter:
      
        - Fix s390 missing module symbol and warning for non-root users in 'perf record'.
      
      arm64:
      
        Vitaly Chikunov:
      
        - Fix mksyscalltbl when system kernel headers are ahead of the kernel.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      849e96f3
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync kvm.h headers with the kernel sources · a7350998
      Arnaldo Carvalho de Melo authored
        dd53f610 ("Merge tag 'kvmarm-for-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD")
        59c5c58c ("Merge tag 'kvm-ppc-next-5.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc into HEAD")
        d7547c55 ("KVM: Introduce KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2")
        6520ca64 ("KVM: PPC: Book3S HV: XIVE: Add a mapping for the source ESB pages")
        39e9af3d ("KVM: PPC: Book3S HV: XIVE: Add a TIMA mapping")
        e4945b9d ("KVM: PPC: Book3S HV: XIVE: Add get/set accessors for the VP XIVE state")
        e6714bd1 ("KVM: PPC: Book3S HV: XIVE: Add a control to dirty the XIVE EQ pages")
        7b46b616 ("KVM: PPC: Book3S HV: XIVE: Add a control to sync the sources")
        5ca80647 ("KVM: PPC: Book3S HV: XIVE: Add a global reset control")
        13ce3297 ("KVM: PPC: Book3S HV: XIVE: Add controls for the EQ configuration")
        e8676ce5 ("KVM: PPC: Book3S HV: XIVE: Add a control to configure a source")
        4131f83c ("KVM: PPC: Book3S HV: XIVE: add a control to initialize a source")
        eacc56bb ("KVM: PPC: Book3S HV: XIVE: Introduce a new capability KVM_CAP_PPC_IRQ_XIVE")
        90c73795 ("KVM: PPC: Book3S HV: Add a new KVM device for the XIVE native exploitation mode")
        4f45b90e ("KVM: s390: add deflate conversion facilty to cpu model")
        a243c16d ("KVM: arm64: Add capability to advertise ptrauth for guest")
        a22fa321 ("KVM: arm64: Add userspace flag to enable pointer authentication")
        4bd774e5 ("KVM: arm64/sve: Simplify KVM_REG_ARM64_SVE_VLS array sizing")
        8ae6efdd ("KVM: arm64/sve: Clean up UAPI register ID definitions")
        173aec2d ("KVM: s390: add enhanced sort facilty to cpu model")
        555f3d03 ("KVM: arm64: Add a capability to advertise SVE support")
        9033bba4 ("KVM: arm64/sve: Add pseudo-register for the guest's vector lengths")
        7dd32a0d ("KVM: arm/arm64: Add KVM_ARM_VCPU_FINALIZE ioctl")
        e1c9c983 ("KVM: arm64/sve: Add SVE support to register access ioctl interface")
        2b953ea3 ("KVM: Allow 2048-bit register access via ioctl interface")
      
      None entails changes in tooling, the closest to that were some new arch
      specific ioctls, that are still not handled by the tools/perf/trace/beauty/
      library, that needs to create per-arch tables to convert ioctl cmd->string (and
      back).
      
      From a quick look the arch specific kvm-stat.c files at:
      
        $ ls -1 tools/perf/arch/*/util/kvm-stat.c
        tools/perf/arch/powerpc/util/kvm-stat.c
        tools/perf/arch/s390/util/kvm-stat.c
        tools/perf/arch/x86/util/kvm-stat.c
        $
      
      Are not affected.
      
      This silences these perf building warnings:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/kvm.h' differs from latest version at 'include/uapi/linux/kvm.h'
        diff -u tools/include/uapi/linux/kvm.h include/uapi/linux/kvm.h
        Warning: Kernel ABI header at 'tools/arch/powerpc/include/uapi/asm/kvm.h' differs from latest version at 'arch/powerpc/include/uapi/asm/kvm.h'
        diff -u tools/arch/powerpc/include/uapi/asm/kvm.h arch/powerpc/include/uapi/asm/kvm.h
        Warning: Kernel ABI header at 'tools/arch/s390/include/uapi/asm/kvm.h' differs from latest version at 'arch/s390/include/uapi/asm/kvm.h'
        diff -u tools/arch/s390/include/uapi/asm/kvm.h arch/s390/include/uapi/asm/kvm.h
        Warning: Kernel ABI header at 'tools/arch/arm64/include/uapi/asm/kvm.h' differs from latest version at 'arch/arm64/include/uapi/asm/kvm.h'
        diff -u tools/arch/arm64/include/uapi/asm/kvm.h arch/arm64/include/uapi/asm/kvm.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Amit Daniel Kachhap <amit.kachhap@arm.com>
      Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
      Cc: Cédric Le Goater <clg@kaod.org>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: Dave Martin <Dave.Martin@arm.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Luis Cláudio Gonçalves <lclaudio@redhat.com>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Paul Mackerras <paulus@ozlabs.org>
      Cc: Peter Xu <peterx@redhat.com>
      Link: https://lkml.kernel.org/n/tip-3msmqjenlmb7eygcdnmlqaq1@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      a7350998
    • Thomas Richter's avatar
      perf record: Fix s390 missing module symbol and warning for non-root users · 6738028d
      Thomas Richter authored
      Command 'perf record' and 'perf report' on a system without kernel
      debuginfo packages uses /proc/kallsyms and /proc/modules to find
      addresses for kernel and module symbols. On x86 this works for root and
      non-root users.
      
      On s390, when invoked as non-root user, many of the following warnings
      are shown and module symbols are missing:
      
          proc/{kallsyms,modules} inconsistency while looking for
              "[sha1_s390]" module!
      
      Command 'perf record' creates a list of module start addresses by
      parsing the output of /proc/modules and creates a PERF_RECORD_MMAP
      record for the kernel and each module. The following function call
      sequence is executed:
      
        machine__create_kernel_maps
          machine__create_module
            modules__parse
              machine__create_module --> for each line in /proc/modules
                arch__fix_module_text_start
      
      Function arch__fix_module_text_start() is s390 specific. It opens
      file /sys/module/<name>/sections/.text to extract the module's .text
      section start address. On s390 the module loader prepends a header
      before the first section, whereas on x86 the module's text section
      address is identical the the module's load address.
      
      However module section files are root readable only. For non-root the
      read operation fails and machine__create_module() returns an error.
      Command perf record does not generate any PERF_RECORD_MMAP record
      for loaded modules. Later command perf report complains about missing
      module maps.
      
      To fix this function arch__fix_module_text_start() always returns
      success. For root users there is no change, for non-root users
      the module's load address is used as module's text start address
      (the prepended header then counts as part of the text section).
      
      This enable non-root users to use module symbols and avoid the
      warning when perf report is executed.
      
      Output before:
      
        [tmricht@m83lp54 perf]$ ./perf report -D | fgrep MMAP
        0 0x168 [0x50]: PERF_RECORD_MMAP ... x [kernel.kallsyms]_text
      
      Output after:
      
        [tmricht@m83lp54 perf]$ ./perf report -D | fgrep MMAP
        0 0x168 [0x50]: PERF_RECORD_MMAP ... x [kernel.kallsyms]_text
        0 0x1b8 [0x98]: PERF_RECORD_MMAP ... x /lib/modules/.../autofs4.ko.xz
        0 0x250 [0xa8]: PERF_RECORD_MMAP ... x /lib/modules/.../sha_common.ko.xz
        0 0x2f8 [0x98]: PERF_RECORD_MMAP ... x /lib/modules/.../des_generic.ko.xz
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Reviewed-by: default avatarHendrik Brueckner <brueckner@linux.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Link: http://lkml.kernel.org/r/20190522144601.50763-4-tmricht@linux.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      6738028d
    • Jiri Olsa's avatar
      perf machine: Read also the end of the kernel · ed9adb20
      Jiri Olsa authored
      We mark the end of kernel based on the first module, but that could
      cover some bpf program maps. Reading _etext symbol if it's present to
      get precise kernel map end.
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Acked-by: default avatarSong Liu <songliubraving@fb.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stanislav Fomichev <sdf@google.com>
      Cc: Thomas Richter <tmricht@linux.ibm.com>
      Link: http://lkml.kernel.org/r/20190508132010.14512-6-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ed9adb20
    • Arnaldo Carvalho de Melo's avatar
      perf test vmlinux-kallsyms: Ignore aliases to _etext when searching on kallsyms · 93f678b9
      Arnaldo Carvalho de Melo authored
      No need to search for aliases for the symbol that marks the end of the
      kernel text segment, the following patch will make such symbols not to
      be found when searching in the kallsyms maps causing this test to fail.
      
      So as a prep patch to avoid breaking bisection, ignore such symbols.
      Tested-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: Stanislav Fomichev <sdf@google.com>
      Cc: Thomas Richter <tmricht@linux.ibm.com>
      Link: https://lkml.kernel.org/n/tip-qfwuih8cvmk9doh7k5k244eq@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      93f678b9
    • Namhyung Kim's avatar
      perf session: Add missing swap ops for namespace events · acd244b8
      Namhyung Kim authored
      In case it's recorded in a different arch.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Hari Bathini <hbathini@linux.vnet.ibm.com> <hbathini@linux.vnet.ibm.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Krister Johansen <kjlx@templeofstupid.com>
      Fixes: f3b3614a ("perf tools: Add PERF_RECORD_NAMESPACES to include namespaces related info")
      Link: http://lkml.kernel.org/r/20190522053250.207156-3-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      acd244b8
    • Namhyung Kim's avatar
      perf namespace: Protect reading thread's namespace · 6584140b
      Namhyung Kim authored
      It seems that the current code lacks holding the namespace lock in
      thread__namespaces().  Otherwise it can see inconsistent results.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Hari Bathini <hbathini@linux.vnet.ibm.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Krister Johansen <kjlx@templeofstupid.com>
      Link: http://lkml.kernel.org/r/20190522053250.207156-2-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      6584140b
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync drm/drm.h with the kernel · 9903c64f
      Arnaldo Carvalho de Melo authored
      To pick up the changes in these csets:
      
        060cebb2 ("drm: introduce a capability flag for syncobj timeline support")
        50d1ebef ("drm/syncobj: add timeline signal ioctl for syncobj v5")
        ea569910 ("drm/syncobj: add transition iotcls between binary and timeline v2")
        27b575a9 ("drm/syncobj: add timeline payload query ioctl v6")
        01d6c357 ("drm/syncobj: add support for timeline point wait v8")
        783195ec ("drm/syncobj: disable the timeline UAPI for now v2")
        48197bc5 ("drm: add syncobj timeline support v9")
      
      Which automagically results in the following new ioctls being recognized
      by the 'perf trace' ioctl cmd arg beautifier:
      
        $ tools/perf/trace/beauty/drm_ioctl.sh > /tmp/before
        $ cp include/uapi/drm/drm.h tools/include/uapi/drm/drm.h
        $ tools/perf/trace/beauty/drm_ioctl.sh > /tmp/after
        $ diff -u /tmp/before /tmp/after
        --- /tmp/before	2019-05-22 10:25:31.443151182 -0300
        +++ /tmp/after	2019-05-22 10:25:46.449354819 -0300
        @@ -103,6 +103,10 @@
         	[0xC7] = "MODE_LIST_LESSEES",
         	[0xC8] = "MODE_GET_LEASE",
         	[0xC9] = "MODE_REVOKE_LEASE",
        +	[0xCA] = "SYNCOBJ_TIMELINE_WAIT",
        +	[0xCB] = "SYNCOBJ_QUERY",
        +	[0xCC] = "SYNCOBJ_TRANSFER",
        +	[0xCD] = "SYNCOBJ_TIMELINE_SIGNAL",
         	[DRM_COMMAND_BASE + 0x00] = "I915_INIT",
         	[DRM_COMMAND_BASE + 0x01] = "I915_FLUSH",
         	[DRM_COMMAND_BASE + 0x02] = "I915_FLIP",
          $
      
      I.e. the strace like raw_tracepoint:sys_enter handler in 'perf trace'
      will get the cmd integer value and map it to the string.
      
      At some point it should be possible to translate from string to integer
      and use to filter using expressions such as:
      
         # perf trace -e ioctl/cmd==DRM_IOCTL_SYNCOBJ*/
      
      Or some more suitable syntax to express that only these ioctls when
      acting on DRM fds should be shown.
      Acked-by: default avatarLionel Landwerlin <lionel.g.landwerlin@intel.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
      Cc: Christian König <christian.koenig@amd.com>
      Cc: Chunming Zhou <david1.zhou@amd.com>
      Cc: Dave Airlie <airlied@redhat.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Luis Cláudio Gonçalves <lclaudio@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lkml.kernel.org/n/tip-jrc9ogw33w4zgqc3pu7o1l3g@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      9903c64f
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync drm/i915_drm.h with the kernel · e6aff9f8
      Arnaldo Carvalho de Melo authored
      To pick up the changes from:
      
        d1172ab3 ("drm/i915: Introduce struct class_instance for engines across the uAPI")
        96fd2c66 ("drm/i915: Drop new chunks of context creation ABI (for now)")
        ea593dbb ("drm/i915: Allow contexts to share a single timeline across all engines")
        b9171541 ("drm/i915: Extend CONTEXT_CREATE to set parameters upon construction")
        e0695db7 ("drm/i915: Create/destroy VM (ppGTT) for use with contexts")
        9d1305ef ("drm/i915: Introduce the i915_user_extension_method")
        c8b50242 ("drm/i915: Remove last traces of exec-id (GEM_BUSY)")
        d90c06d5 ("drm/i915: Fix I915_EXEC_RING_MASK")
        e8861964 ("drm/i915: Use HW semaphores for inter-engine synchronisation on gen8+")
        be03564b ("drm/i915: Include reminders about leaving no holes in uAPI enums")
        ba4fda62 ("drm/i915: Optionally disable automatic recovery after a GPU reset")
      
      We still don't take into account the _IOC_SIZE() to differentiate ioctl cmds,
      so more work is needed to support the extension mechanism that is being used
      here so that we can differentiate DRM_IOCTL_I915_GEM_CONTEXT_CREATE from the
      newly introduced DRM_IOCTL_I915_GEM_CONTEXT_CREATE_EXT cmd.
      
      This silences this perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs from latest version at 'include/uapi/drm/i915_drm.h'
        diff -u tools/include/uapi/drm/i915_drm.h include/uapi/drm/i915_drm.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Luis Cláudio Gonçalves <lclaudio@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Link: https://lkml.kernel.org/n/tip-csn0vanmc7pevyka5qcg0xyw@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e6aff9f8
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync linux/fs.h with the kernel · b5b999dc
      Arnaldo Carvalho de Melo authored
      To pick up the changes in:
      
        c553ea4f ("fs/sync.c: sync_file_range(2) may use WB_SYNC_ALL writeback")
      
      That should be used to beautify the 'sync_file_range' syscall 'flags'
      arg.
      
      This silences this perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/fs.h' differs from latest version at 'include/uapi/linux/fs.h'
        diff -u tools/include/uapi/linux/fs.h include/uapi/linux/fs.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Amir Goldstein <amir73il@gmail.com>
      Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Luis Cláudio Gonçalves <lclaudio@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lkml.kernel.org/n/tip-at3uoqcvmqdkwaysmvbj1wpv@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b5b999dc
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync linux/sched.h with the kernel · c27de2b8
      Arnaldo Carvalho de Melo authored
      To pick up the change in:
      
        b3e58382 ("clone: add CLONE_PIDFD")
      
      This requires changes in the 'perf trace' beautification routines for
      the 'clone' syscall args, which is done in a followup patch.
      
      This silences the following perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/sched.h' differs from latest version at 'include/uapi/linux/sched.h'
        diff -u tools/include/uapi/linux/sched.h include/uapi/linux/sched.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
      Cc: Christian Brauner <christian@brauner.io>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Luis Cláudio Gonçalves <lclaudio@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lkml.kernel.org/n/tip-lenja6gmy26dkt0ybk747qgq@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      c27de2b8
    • Arnaldo Carvalho de Melo's avatar
      tools arch x86: Sync asm/cpufeatures.h with the with the kernel · b979540a
      Arnaldo Carvalho de Melo authored
      To pick up the changes in:
      
        ed5194c2 ("x86/speculation/mds: Add basic bug infrastructure for MDS")
        e261f209 ("x86/speculation/mds: Add BUG_MSBDS_ONLY")
      
      That don't affect anything in tools/.
      
      This silences this perf build warning:
      
        Warning: Kernel ABI header at 'tools/arch/x86/include/asm/cpufeatures.h' differs from latest version at 'arch/x86/include/asm/cpufeatures.h'
        diff -u tools/arch/x86/include/asm/cpufeatures.h arch/x86/include/asm/cpufeatures.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Luis Cláudio Gonçalves <lclaudio@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: https://lkml.kernel.org/n/tip-jp1afecx3ql1jkuirpgkqfad@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b979540a
    • Arnaldo Carvalho de Melo's avatar
      tools include UAPI: Update copy of files related to new fspick, fsmount,... · fba29f18
      Arnaldo Carvalho de Melo authored
      tools include UAPI: Update copy of files related to new fspick, fsmount, fsconfig, fsopen, move_mount and open_tree syscalls
      
      Copy the headers changed by these csets:
      
        d8076bdb ("uapi: Wire up the mount API syscalls on non-x86 arches [ver #2]")
        9c8ad7a2 ("uapi, x86: Fix the syscall numbering of the mount API syscalls [ver #2]")
        cf3cba4a ("vfs: syscall: Add fspick() to select a superblock for reconfiguration")
        93766fbd ("vfs: syscall: Add fsmount() to create a mount for a superblock")
        ecdab150 ("vfs: syscall: Add fsconfig() for configuring and managing a context")
        24dcb3d9 ("vfs: syscall: Add fsopen() to prepare for superblock creation")
        2db154b3 ("vfs: syscall: Add move_mount(2) to move mounts around")
        a07b2000 ("vfs: syscall: Add open_tree(2) to reference or clone a mount")
      
      We need to create tables for all the flags argument in the new syscalls,
      in followup patches.
      
      This silences these perf build warnings:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/mount.h' differs from latest version at 'include/uapi/linux/mount.h'
        diff -u tools/include/uapi/linux/mount.h include/uapi/linux/mount.h
        Warning: Kernel ABI header at 'tools/perf/arch/x86/entry/syscalls/syscall_64.tbl' differs from latest version at 'arch/x86/entry/syscalls/syscall_64.tbl'
        diff -u tools/perf/arch/x86/entry/syscalls/syscall_64.tbl arch/x86/entry/syscalls/syscall_64.tbl
        Warning: Kernel ABI header at 'tools/include/uapi/asm-generic/unistd.h' differs from latest version at 'include/uapi/asm-generic/unistd.h'
        diff -u tools/include/uapi/asm-generic/unistd.h include/uapi/asm-generic/unistd.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Luis Cláudio Gonçalves <lclaudio@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: https://lkml.kernel.org/n/tip-knpqr1u2ffvz6641056z2mwu@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      fba29f18
    • Vitaly Chikunov's avatar
      perf arm64: Fix mksyscalltbl when system kernel headers are ahead of the kernel · f95d050c
      Vitaly Chikunov authored
      When a host system has kernel headers that are newer than a compiling
      kernel, mksyscalltbl fails with errors such as:
      
        <stdin>: In function 'main':
        <stdin>:271:44: error: '__NR_kexec_file_load' undeclared (first use in this function)
        <stdin>:271:44: note: each undeclared identifier is reported only once for each function it appears in
        <stdin>:272:46: error: '__NR_pidfd_send_signal' undeclared (first use in this function)
        <stdin>:273:43: error: '__NR_io_uring_setup' undeclared (first use in this function)
        <stdin>:274:43: error: '__NR_io_uring_enter' undeclared (first use in this function)
        <stdin>:275:46: error: '__NR_io_uring_register' undeclared (first use in this function)
        tools/perf/arch/arm64/entry/syscalls//mksyscalltbl: line 48: /tmp/create-table-xvUQdD: Permission denied
      
      mksyscalltbl is compiled with default host includes, but run with
      compiling kernel tree includes, causing some syscall numbers to being
      undeclared.
      
      Committer testing:
      
      Before this patch, in my cross build environment, no build problems, but
      these new syscalls were not in the syscalls.c generated from the
      unistd.h file, which is a bug, this patch fixes it:
      
      perfbuilder@6e20056ed532:/git/perf$ tail /tmp/build/perf/arch/arm64/include/generated/asm/syscalls.c
      	[292] = "io_pgetevents",
      	[293] = "rseq",
      	[294] = "kexec_file_load",
      	[424] = "pidfd_send_signal",
      	[425] = "io_uring_setup",
      	[426] = "io_uring_enter",
      	[427] = "io_uring_register",
      	[428] = "syscalls",
      };
      perfbuilder@6e20056ed532:/git/perf$ strings /tmp/build/perf/perf | egrep '^(io_uring_|pidfd_|kexec_file)'
      kexec_file_load
      pidfd_send_signal
      io_uring_setup
      io_uring_enter
      io_uring_register
      perfbuilder@6e20056ed532:/git/perf$
      $
      
      Well, there is that last "syscalls" thing, but that looks like some
      other bug.
      Signed-off-by: default avatarVitaly Chikunov <vt@altlinux.org>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Tested-by: default avatarMichael Petlan <mpetlan@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Hendrik Brueckner <brueckner@linux.ibm.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Kim Phillips <kim.phillips@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
      Link: http://lkml.kernel.org/r/20190521030203.1447-1-vt@altlinux.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f95d050c
    • Shawn Landden's avatar
      perf data: Fix 'strncat may truncate' build failure with recent gcc · 97acec7d
      Shawn Landden authored
      This strncat() is safe because the buffer was allocated with zalloc(),
      however gcc doesn't know that. Since the string always has 4 non-null
      bytes, just use memcpy() here.
      
          CC       /home/shawn/linux/tools/perf/util/data-convert-bt.o
        In file included from /usr/include/string.h:494,
                         from /home/shawn/linux/tools/lib/traceevent/event-parse.h:27,
                         from util/data-convert-bt.c:22:
        In function ‘strncat’,
            inlined from ‘string_set_value’ at util/data-convert-bt.c:274:4:
        /usr/include/powerpc64le-linux-gnu/bits/string_fortified.h:136:10: error: ‘__builtin_strncat’ output may be truncated copying 4 bytes from a string of length 4 [-Werror=stringop-truncation]
          136 |   return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
              |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Signed-off-by: default avatarShawn Landden <shawn@git.icu>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      LPU-Reference: 20190518183238.10954-1-shawn@git.icu
      Link: https://lkml.kernel.org/n/tip-289f1jice17ta7tr3tstm9jm@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      97acec7d
  2. 24 May, 2019 4 commits
    • Peter Zijlstra's avatar
      perf/ring-buffer: Use regular variables for nesting · 5322ea58
      Peter Zijlstra authored
      While the IRQ/NMI will nest, the nest-count will be invariant over the
      actual exception, since it will decrement equal to increment.
      
      This means we can -- carefully -- use a regular variable since the
      typical LOAD-STORE race doesn't exist (similar to preempt_count).
      
      This optimizes the ring-buffer for all LOAD-STORE architectures, since
      they need to use atomic ops to implement local_t.
      Suggested-by: default avatarAlexander Shishkin <alexander.shishkin@linux.intel.com>
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vince Weaver <vincent.weaver@maine.edu>
      Cc: acme@kernel.org
      Cc: mark.rutland@arm.com
      Cc: namhyung@kernel.org
      Cc: yabinc@google.com
      Link: http://lkml.kernel.org/r/20190517115418.481392777@infradead.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      5322ea58
    • Peter Zijlstra's avatar
      perf/ring-buffer: Always use {READ,WRITE}_ONCE() for rb->user_page data · 4d839dd9
      Peter Zijlstra authored
      We must use {READ,WRITE}_ONCE() on rb->user_page data such that
      concurrent usage will see whole values. A few key sites were missing
      this.
      Suggested-by: default avatarYabin Cui <yabinc@google.com>
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vince Weaver <vincent.weaver@maine.edu>
      Cc: acme@kernel.org
      Cc: mark.rutland@arm.com
      Cc: namhyung@kernel.org
      Fixes: 7b732a75 ("perf_counter: new output ABI - part 1")
      Link: http://lkml.kernel.org/r/20190517115418.394192145@infradead.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      4d839dd9
    • Peter Zijlstra's avatar
      perf/ring_buffer: Add ordering to rb->nest increment · 3f9fbe9b
      Peter Zijlstra authored
      Similar to how decrementing rb->next too early can cause data_head to
      (temporarily) be observed to go backward, so too can this happen when
      we increment too late.
      
      This barrier() ensures the rb->head load happens after the increment,
      both the one in the 'goto again' path, as the one from
      perf_output_get_handle() -- albeit very unlikely to matter for the
      latter.
      Suggested-by: default avatarYabin Cui <yabinc@google.com>
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vince Weaver <vincent.weaver@maine.edu>
      Cc: acme@kernel.org
      Cc: mark.rutland@arm.com
      Cc: namhyung@kernel.org
      Fixes: ef60777c ("perf: Optimize the perf_output() path by removing IRQ-disables")
      Link: http://lkml.kernel.org/r/20190517115418.309516009@infradead.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      3f9fbe9b
    • Yabin Cui's avatar
      perf/ring_buffer: Fix exposing a temporarily decreased data_head · 1b038c6e
      Yabin Cui authored
      In perf_output_put_handle(), an IRQ/NMI can happen in below location and
      write records to the same ring buffer:
      
      	...
      	local_dec_and_test(&rb->nest)
      	...                          <-- an IRQ/NMI can happen here
      	rb->user_page->data_head = head;
      	...
      
      In this case, a value A is written to data_head in the IRQ, then a value
      B is written to data_head after the IRQ. And A > B. As a result,
      data_head is temporarily decreased from A to B. And a reader may see
      data_head < data_tail if it read the buffer frequently enough, which
      creates unexpected behaviors.
      
      This can be fixed by moving dec(&rb->nest) to after updating data_head,
      which prevents the IRQ/NMI above from updating data_head.
      
      [ Split up by peterz. ]
      Signed-off-by: default avatarYabin Cui <yabinc@google.com>
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vince Weaver <vincent.weaver@maine.edu>
      Cc: mark.rutland@arm.com
      Fixes: ef60777c ("perf: Optimize the perf_output() path by removing IRQ-disables")
      Link: http://lkml.kernel.org/r/20190517115418.224478157@infradead.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      1b038c6e
  3. 21 May, 2019 2 commits
  4. 20 May, 2019 4 commits
    • Masahiro Yamada's avatar
      kbuild: do not check name uniqueness of builtin modules · 4a33d4f1
      Masahiro Yamada authored
      I just thought it was a good idea to scan builtin.modules in the name
      uniqueness checking, but a couple of false positives were found.
      
      Stephen reported a false positive for ppc64_defconfig:
      
        warning: same basename if the following are built as modules:
          arch/powerpc/platforms/powermac/nvram.ko
          drivers/char/nvram.ko
      
      The former is never built as a module as you see in
      arch/powerpc/platforms/powermac/Makefile:
      
        # CONFIG_NVRAM is an arch. independent tristate symbol, for pmac32 we really
        # need this to be a bool.  Cheat here and pretend CONFIG_NVRAM=m is really
        # CONFIG_NVRAM=y
        obj-$(CONFIG_NVRAM:m=y)         += nvram.o
      
      Another example of false positive is arm64 defconfig:
      
        warning: same basename if the following are built as modules:
          arch/arm64/lib/crc32.ko
          lib/crc32.ko
      
      It is true CONFIG_CRC32 is a tristate option but it is always 'y' since
      it is select'ed by ARM64. Hence, neither of them is built as a module
      for the arm64 build.
      
      From the above, modules.builtin essentially contains false positives.
      I do not think it is a big deal as far as kmod is concerned, but false
      positive warnings in the kernel build make people upset. It is better
      to not check it.
      
      Even without builtin.modules checked, we have enough (and more solid)
      test coverage with allmodconfig.
      
      While I touched this part, I replaced the sed code with neater one
      provided by Stephen.
      
      Link: https://lkml.org/lkml/2019/5/19/120
      Link: https://lkml.org/lkml/2019/5/19/123
      Fixes: 3a48a919 ("kbuild: check uniqueness of module names")
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4a33d4f1
    • Linus Torvalds's avatar
      Merge tag 'for-5.2-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · f49aa1de
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
       "Notable highlights:
      
         - fixes for some long-standing bugs in fsync that were quite hard to
           catch but now finaly fixed
      
         - some fixups to error handling paths that did not properly clean up
           (locking, memory)
      
         - fix to space reservation for inheriting properties"
      
      * tag 'for-5.2-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        Btrfs: tree-checker: detect file extent items with overlapping ranges
        Btrfs: fix race between ranged fsync and writeback of adjacent ranges
        Btrfs: avoid fallback to transaction commit during fsync of files with holes
        btrfs: extent-tree: Fix a bug that btrfs is unable to add pinned bytes
        btrfs: sysfs: don't leak memory when failing add fsid
        btrfs: sysfs: Fix error path kobject memory leak
        Btrfs: do not abort transaction at btrfs_update_root() after failure to COW path
        btrfs: use the existing reserved items for our first prop for inheritance
        btrfs: don't double unlock on error in btrfs_punch_hole
        btrfs: Check the compression level before getting a workspace
      f49aa1de
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 78e03651
      Linus Torvalds authored
      Pull networking fixes from David Miller:1) Use after free in __dev_map_entry_free(), from Eric Dumazet.
      
       1) Use after free in __dev_map_entry_free(), from Eric Dumazet.
      
       2) Fix TCP retransmission timestamps on passive Fast Open, from Yuchung
          Cheng.
      
       3) Orphan NFC, we'll take the patches directly into my tree. From
          Johannes Berg.
      
       4) We can't recycle cloned TCP skbs, from Eric Dumazet.
      
       5) Some flow dissector bpf test fixes, from Stanislav Fomichev.
      
       6) Fix RCU marking and warnings in rhashtable, from Herbert Xu.
      
       7) Fix some potential fib6 leaks, from Eric Dumazet.
      
       8) Fix a _decode_session4 uninitialized memory read bug fix that got
          lost in a merge. From Florian Westphal.
      
       9) Fix ipv6 source address routing wrt. exception route entries, from
          Wei Wang.
      
      10) The netdev_xmit_more() conversion was not done %100 properly in mlx5
          driver, fix from Tariq Toukan.
      
      11) Clean up botched merge on netfilter kselftest, from Florian
          Westphal.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (74 commits)
        of_net: fix of_get_mac_address retval if compiled without CONFIG_OF
        net: fix kernel-doc warnings for socket.c
        net: Treat sock->sk_drops as an unsigned int when printing
        kselftests: netfilter: fix leftover net/net-next merge conflict
        mlxsw: core: Prevent reading unsupported slave address from SFP EEPROM
        mlxsw: core: Prevent QSFP module initialization for old hardware
        vsock/virtio: Initialize core virtio vsock before registering the driver
        net/mlx5e: Fix possible modify header actions memory leak
        net/mlx5e: Fix no rewrite fields with the same match
        net/mlx5e: Additional check for flow destination comparison
        net/mlx5e: Add missing ethtool driver info for representors
        net/mlx5e: Fix number of vports for ingress ACL configuration
        net/mlx5e: Fix ethtool rxfh commands when CONFIG_MLX5_EN_RXNFC is disabled
        net/mlx5e: Fix wrong xmit_more application
        net/mlx5: Fix peer pf disable hca command
        net/mlx5: E-Switch, Correct type to u16 for vport_num and int for vport_index
        net/mlx5: Add meaningful return codes to status_to_err function
        net/mlx5: Imply MLXFW in mlx5_core
        Revert "tipc: fix modprobe tipc failed after switch order of device registration"
        vsock/virtio: free packets during the socket release
        ...
      78e03651
    • Nick Desaulniers's avatar
      kbuild: drop support for cc-ldoption · 055efab3
      Nick Desaulniers authored
      If you want to see if your linker supports a certain flag, then ask the
      linker directly with ld-option (not the compiler with cc-ldoption).
      Checking for linker flag support is an antipattern that complicates the
      usage of various linkers other than bfd via -fuse-ld={bfd|gold|lld}.
      
      Cc: clang-built-linux@googlegroups.com
      Suggested-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      055efab3
  5. 19 May, 2019 11 commits
    • Linus Torvalds's avatar
      Linux 5.2-rc1 · a188339c
      Linus Torvalds authored
      a188339c
    • Linus Torvalds's avatar
      Merge tag 'upstream-5.2-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs · 2e2c1220
      Linus Torvalds authored
      Pull UBIFS fixes from Richard Weinberger:
      
       - build errors wrt xattrs
      
       - mismerge which lead to a wrong Kconfig ifdef
      
       - missing endianness conversion
      
      * tag 'upstream-5.2-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
        ubifs: Convert xattr inum to host order
        ubifs: Use correct config name for encryption
        ubifs: Fix build error without CONFIG_UBIFS_FS_XATTR
      2e2c1220
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · cb6f8739
      Linus Torvalds authored
      Merge yet more updates from Andrew Morton:
       "A few final bits:
      
         - large changes to vmalloc, yielding large performance benefits
      
         - tweak the console-flush-on-panic code
      
         - a few fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        panic: add an option to replay all the printk message in buffer
        initramfs: don't free a non-existent initrd
        fs/writeback.c: use rcu_barrier() to wait for inflight wb switches going into workqueue when umount
        mm/compaction.c: correct zone boundary handling when isolating pages from a pageblock
        mm/vmap: add DEBUG_AUGMENT_LOWEST_MATCH_CHECK macro
        mm/vmap: add DEBUG_AUGMENT_PROPAGATE_CHECK macro
        mm/vmalloc.c: keep track of free blocks for vmap allocation
      cb6f8739
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v5.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · ff8583d6
      Linus Torvalds authored
      Pull more Kbuild updates from Masahiro Yamada:
      
       - remove unneeded use of cc-option, cc-disable-warning, cc-ldoption
      
       - exclude tracked files from .gitignore
      
       - re-enable -Wint-in-bool-context warning
      
       - refactor samples/Makefile
      
       - stop building immediately if syncconfig fails
      
       - do not sprinkle error messages when $(CC) does not exist
      
       - move arch/alpha/defconfig to the configs subdirectory
      
       - remove crappy header search path manipulation
      
       - add comment lines to .config to clarify the end of menu blocks
      
       - check uniqueness of module names (adding new warnings intentionally)
      
      * tag 'kbuild-v5.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (24 commits)
        kconfig: use 'else ifneq' for Makefile to improve readability
        kbuild: check uniqueness of module names
        kconfig: Terminate menu blocks with a comment in the generated config
        kbuild: add LICENSES to KBUILD_ALLDIRS
        kbuild: remove 'addtree' and 'flags' magic for header search paths
        treewide: prefix header search paths with $(srctree)/
        media: prefix header search paths with $(srctree)/
        media: remove unneeded header search paths
        alpha: move arch/alpha/defconfig to arch/alpha/configs/defconfig
        kbuild: terminate Kconfig when $(CC) or $(LD) is missing
        kbuild: turn auto.conf.cmd into a mandatory include file
        .gitignore: exclude .get_maintainer.ignore and .gitattributes
        kbuild: add all Clang-specific flags unconditionally
        kbuild: Don't try to add '-fcatch-undefined-behavior' flag
        kbuild: add some extra warning flags unconditionally
        kbuild: add -Wvla flag unconditionally
        arch: remove dangling asm-generic wrappers
        samples: guard sub-directories with CONFIG options
        kbuild: re-enable int-in-bool-context warning
        MAINTAINERS: kbuild: Add pattern for scripts/*vmlinux*
        ...
      ff8583d6
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · f23d8719
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "Some I2C core API additions which are kind of simple but enhance error
        checking for users a lot, especially by returning errno now.
      
        There are wrappers to still support the old API but it will be removed
        once all users are converted"
      
      * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: core: add device-managed version of i2c_new_dummy
        i2c: core: improve return value handling of i2c_new_device and i2c_new_dummy
      f23d8719
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · c4d36b63
      Linus Torvalds authored
      Pull ext4 fixes from Ted Ts'o:
       "Some bug fixes, and an update to the URL's for the final version of
        Unicode 12.1.0"
      
      * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: avoid panic during forced reboot due to aborted journal
        ext4: fix block validity checks for journal inodes using indirect blocks
        unicode: update to Unicode 12.1.0 final
        unicode: add missing check for an error return from utf8lookup()
        ext4: fix miscellaneous sparse warnings
        ext4: unsigned int compared against zero
        ext4: fix use-after-free in dx_release()
        ext4: fix data corruption caused by overlapping unaligned and aligned IO
        jbd2: fix potential double free
        ext4: zero out the unused memory region in the extent tree block
      c4d36b63
    • Linus Torvalds's avatar
      Merge tag '5.2-rc-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · d8848eef
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Minor cleanup and fixes, one for stable, four rdma (smbdirect)
        related. Also adds SEEK_HOLE support"
      
      * tag '5.2-rc-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: add support for SEEK_DATA and SEEK_HOLE
        Fixed https://bugzilla.kernel.org/show_bug.cgi?id=202935 allow write on the same file
        cifs: Allocate memory for all iovs in smb2_ioctl
        cifs: Don't match port on SMBDirect transport
        cifs:smbd Use the correct DMA direction when sending data
        cifs:smbd When reconnecting to server, call smbd_destroy() after all MIDs have been called
        cifs: use the right include for signal_pending()
        smb3: trivial cleanup to smb2ops.c
        cifs: cleanup smb2ops.c and normalize strings
        smb3: display session id in debug data
      d8848eef
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1ba3b5dc
      Linus Torvalds authored
      Pull perf tooling updates from Ingo Molnar:
       "perf.data:
      
         - Streaming compression of perf ring buffer into
           PERF_RECORD_COMPRESSED user space records, resulting in ~3-5x
           perf.data file size reduction on variety of tested workloads what
           saves storage space on larger server systems where perf.data size
           can easily reach several tens or even hundreds of GiBs, especially
           when profiling with DWARF-based stacks and tracing of context
           switches.
      
        perf record:
      
         - Improve -user-regs/intr-regs suggestions to overcome errors
      
        perf annotate:
      
         - Remove hist__account_cycles() from callback, speeding up branch
           processing (perf record -b)
      
        perf stat:
      
         - Add a 'percore' event qualifier, e.g.: -e
           cpu/event=0,umask=0x3,percore=1/, that sums up the event counts for
           both hardware threads in a core.
      
           We can already do this with --per-core, but it's often useful to do
           this together with other metrics that are collected per hardware
           thread.
      
           I.e. now its possible to do this per-event, and have it mixed with
           other events not aggregated by core.
      
        arm64:
      
         - Map Brahma-B53 CPUID to cortex-a53 events.
      
         - Add Cortex-A57 and Cortex-A72 events.
      
        csky:
      
         - Add DWARF register mappings for libdw, allowing --call-graph=dwarf
           to work on the C-SKY arch.
      
        x86:
      
         - Add support for recording and printing XMM registers, available,
           for instance, on Icelake.
      
         - Add uncore_upi (Intel's "Ultra Path Interconnect" events) JSON
           support. UPI replaced the Intel QuickPath Interconnect (QPI) in
           Xeon Skylake-SP.
      
        Intel PT:
      
         - Fix instructions sampling rate.
      
         - Timestamp fixes.
      
         - Improve exported-sql-viewer GUI, allowing, for instance, to
           copy'n'paste the trees, useful for e-mailing"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (73 commits)
        perf stat: Support 'percore' event qualifier
        perf stat: Factor out aggregate counts printing
        perf tools: Add a 'percore' event qualifier
        perf docs: Add description for stderr
        perf intel-pt: Fix sample timestamp wrt non-taken branches
        perf intel-pt: Fix improved sample timestamp
        perf intel-pt: Fix instructions sampling rate
        perf regs x86: Add X86 specific arch__intr_reg_mask()
        perf parse-regs: Add generic support for arch__intr/user_reg_mask()
        perf parse-regs: Split parse_regs
        perf vendor events arm64: Add Cortex-A57 and Cortex-A72 events
        perf vendor events arm64: Map Brahma-B53 CPUID to cortex-a53 events
        perf vendor events arm64: Remove [[:xdigit:]] wildcard
        perf jevents: Remove unused variable
        perf test zstd: Fixup verbose mode output
        perf tests: Implement Zstd comp/decomp integration test
        perf inject: Enable COMPRESSED record decompression
        perf report: Implement perf.data record decompression
        perf record: Implement -z,--compression_level[=<n>] option
        perf report: Add stub processing of compressed events for -D
        ...
      1ba3b5dc
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a13f950e
      Linus Torvalds authored
      Pull clocksource updates from Ingo Molnar:
       "Misc clocksource/clockevent driver updates that came in a bit late but
        are ready for v5.2"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        misc: atmel_tclib: Do not probe already used TCBs
        clocksource/drivers/timer-atmel-tcb: Convert tc_clksrc_suspend|resume() to static
        clocksource/drivers/tcb_clksrc: Rename the file for consistency
        clocksource/drivers/timer-atmel-pit: Rework Kconfig option
        clocksource/drivers/tcb_clksrc: Move Kconfig option
        ARM: at91: Implement clocksource selection
        clocksource/drivers/tcb_clksrc: Use tcb as sched_clock
        clocksource/drivers/tcb_clksrc: Stop depending on atmel_tclib
        ARM: at91: move SoC specific definitions to SoC folder
        clocksource/drivers/timer-milbeaut: Cleanup common register accesses
        clocksource/drivers/timer-milbeaut: Add shutdown function
        clocksource/drivers/timer-milbeaut: Fix to enable one-shot timer
        clocksource/drivers/tegra: Rework for compensation of suspend time
        clocksource/drivers/sp804: Add COMPILE_TEST to CONFIG_ARM_TIMER_SP804
        clocksource/drivers/sun4i: Add a compatible for suniv
        dt-bindings: timer: Add Allwinner suniv timer
      a13f950e
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d9351ea1
      Linus Torvalds authored
      Pull IRQ chip updates from Ingo Molnar:
       "A late irqchips update:
      
         - New TI INTR/INTA set of drivers
      
         - Rewrite of the stm32mp1-exti driver as a platform driver
      
         - Update the IOMMU MSI mapping API to be RT friendly
      
         - A number of cleanups and other low impact fixes"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (34 commits)
        iommu/dma-iommu: Remove iommu_dma_map_msi_msg()
        irqchip/gic-v3-mbi: Don't map the MSI page in mbi_compose_m{b, s}i_msg()
        irqchip/ls-scfg-msi: Don't map the MSI page in ls_scfg_msi_compose_msg()
        irqchip/gic-v3-its: Don't map the MSI page in its_irq_compose_msi_msg()
        irqchip/gicv2m: Don't map the MSI page in gicv2m_compose_msi_msg()
        iommu/dma-iommu: Split iommu_dma_map_msi_msg() in two parts
        genirq/msi: Add a new field in msi_desc to store an IOMMU cookie
        arm64: arch_k3: Enable interrupt controller drivers
        irqchip/ti-sci-inta: Add msi domain support
        soc: ti: Add MSI domain bus support for Interrupt Aggregator
        irqchip/ti-sci-inta: Add support for Interrupt Aggregator driver
        dt-bindings: irqchip: Introduce TISCI Interrupt Aggregator bindings
        irqchip/ti-sci-intr: Add support for Interrupt Router driver
        dt-bindings: irqchip: Introduce TISCI Interrupt router bindings
        gpio: thunderx: Use the default parent apis for {request,release}_resources
        genirq: Introduce irq_chip_{request,release}_resource_parent() apis
        firmware: ti_sci: Add helper apis to manage resources
        firmware: ti_sci: Add RM mapping table for am654
        firmware: ti_sci: Add support for IRQ management
        firmware: ti_sci: Add support for RM core ops
        ...
      d9351ea1
    • Petr Štetiar's avatar
      of_net: fix of_get_mac_address retval if compiled without CONFIG_OF · 6a0a923d
      Petr Štetiar authored
      of_get_mac_address prior to commit d01f449c ("of_net: add NVMEM
      support to of_get_mac_address") could return only valid pointer or NULL,
      after this change it could return only valid pointer or ERR_PTR encoded
      error value, but I've forget to change the return value of
      of_get_mac_address in case where the kernel is compiled without
      CONFIG_OF, so I'm doing so now.
      
      Cc: Mirko Lindner <mlindner@marvell.com>
      Cc: Stephen Hemminger <stephen@networkplumber.org>
      Fixes: d01f449c ("of_net: add NVMEM support to of_get_mac_address")
      Reported-by: default avatarOctavio Alvarez <octallk1@alvarezp.org>
      Signed-off-by: default avatarPetr Štetiar <ynezz@true.cz>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6a0a923d