Skip to content
  1. Jul 18, 2022
    • Stephen Brennan's avatar
      vmcoreinfo: include kallsyms symbols · 5fd8fea9
      Stephen Brennan authored
      
      
      The internal kallsyms tables contain information which could be quite
      useful to a debugging tool in the absence of other debuginfo.  If kallsyms
      is enabled, then a debugging tool could parse it and use it as a fallback
      symbol table.  Combined with BTF data, live & post-mortem debuggers can
      support basic operations without needing a large DWARF debuginfo file
      available.  As many as five symbols are necessary to properly parse
      kallsyms names and addresses.  Add these to the vmcoreinfo note.
      
      CONFIG_KALLSYMS_ABSOLUTE_PERCPU does impact the computation of symbol
      addresses.  However, a debugger can infer this configuration value by
      comparing the address of _stext in the vmcoreinfo with the address
      computed via kallsyms.  So there's no need to include information about
      this config value in the vmcoreinfo note.
      
      To verify that we're still well below the maximum of 4096 bytes, I created
      a script[1] to compute a rough upper bound on the possible size of
      vmcoreinfo.  On v5.18-rc7, the script reports 3106 bytes, and with this
      patch, the maximum become 3370 bytes.
      
      [1]: https://github.com/brenns10/kernel_stuff/blob/master/vmcoreinfosize/
      
      Link: https://lkml.kernel.org/r/20220517000508.777145-3-stephen.s.brennan@oracle.com
      Signed-off-by: default avatarStephen Brennan <stephen.s.brennan@oracle.com>
      Acked-by: default avatarBaoquan He <bhe@redhat.com>
      Cc: Bixuan Cui <cuibixuan@huawei.com>
      Cc: Dave Young <dyoung@redhat.com>
      Cc: David Vernet <void@manifault.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Nick Desaulniers <ndesaulniers@google.com>
      Cc: Sami Tolvanen <samitolvanen@google.com>
      Cc: Stephen Boyd <swboyd@chromium.org>
      Cc: Vivek Goyal <vgoyal@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      5fd8fea9
    • Stephen Brennan's avatar
      kallsyms: move declarations to internal header · 71f8c155
      Stephen Brennan authored
      
      
      Patch series "Expose kallsyms data in vmcoreinfo note".
      
      The kernel can be configured to contain a lot of introspection or
      debugging information built-in, such as ORC for unwinding stack traces,
      BTF for type information, and of course kallsyms.  Debuggers could use
      this information to navigate a core dump or live system, but they need to
      be able to find it.
      
      This patch series adds the necessary symbols into vmcoreinfo, which would
      allow a debugger to find and interpret the kallsyms table.  Using the
      kallsyms data, the debugger can then lookup any symbol, allowing it to
      find ORC, BTF, or any other useful data.
      
      This would allow a live kernel, or core dump, to be debugged without any
      DWARF debuginfo.  This is useful for many cases: the debuginfo may not
      have been generated, or you may not want to deploy the large files
      everywhere you need them.
      
      I've demonstrated a proof of concept for this at LSF/MM+BPF during a
      lighting talk.  Using a work-in-progress branch of the drgn debugger, and
      an extended set of BTF generated by a patched version of dwarves, I've
      been able to open a core dump without any DWARF info and do basic tasks
      such as enumerating slab caches, block devices, tasks, and doing
      backtraces.  I hope this series can be a first step toward a new
      possibility of "DWARFless debugging".
      
      Related discussion around the BTF side of this:
      https://lore.kernel.org/bpf/586a6288-704a-f7a7-b256-e18a675927df@oracle.com/T/#u
      
      Some work-in-progress branches using this feature:
      https://github.com/brenns10/dwarves/tree/remove_percpu_restriction_1
      https://github.com/brenns10/drgn/tree/kallsyms_plus_btf
      
      
      This patch (of 2):
      
      To include kallsyms data in the vmcoreinfo note, we must make the symbol
      declarations visible outside of kallsyms.c.  Move these to a new internal
      header file.
      
      Link: https://lkml.kernel.org/r/20220517000508.777145-1-stephen.s.brennan@oracle.com
      Link: https://lkml.kernel.org/r/20220517000508.777145-2-stephen.s.brennan@oracle.com
      Signed-off-by: default avatarStephen Brennan <stephen.s.brennan@oracle.com>
      Acked-by: default avatarBaoquan He <bhe@redhat.com>
      Cc: Nick Desaulniers <ndesaulniers@google.com>
      Cc: Dave Young <dyoung@redhat.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Stephen Boyd <swboyd@chromium.org>
      Cc: Bixuan Cui <cuibixuan@huawei.com>
      Cc: David Vernet <void@manifault.com>
      Cc: Vivek Goyal <vgoyal@redhat.com>
      Cc: Sami Tolvanen <samitolvanen@google.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      71f8c155
    • Colin Ian King's avatar
      lib/ts_bm.c: remove redundant store to variable consumed after addition · 4a70ce5f
      Colin Ian King authored
      
      
      There is no need to store the result of the addition back to variable
      consumed after the addition.  The store is redundant, replace += with just
      +
      
      Cleans up clang scan build warning: lib/ts_bm.c:83:11: warning: Although
      the value stored to 'consumed' is used in the enclosing expression, the
      value is never actually read from 'consumed' [deadcode.DeadStores]
      
      Link: https://lkml.kernel.org/r/20220704215325.600993-1-colin.i.king@gmail.com
      Signed-off-by: default avatarColin Ian King <colin.i.king@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      4a70ce5f
    • wuchi's avatar
      lib/scatterlist: use matched parameter type when calling __sg_free_table() · 6d529ea8
      wuchi authored
      commit 4635873c
      
       ("scsi: lib/sg_pool.c: improve APIs for allocating sg
      pool") changeed @(bool)skip_first_chunk of __sg_free_table() to @(unsigned
      int)nents_first_chunk, so use unsigend int type instead of bool type
      (false -> 0) when calling the function in sg_free_append_table() and
      sg_free_table().
      
      Link: https://lkml.kernel.org/r/20220629030241.84559-1-wuchi.zero@gmail.com
      Signed-off-by: default avatarwuchi <wuchi.zero@gmail.com>
      Reviewed-by: default avatarMing Lei <ming.lei@redhat.com>
      Cc: Maor Gottlieb <maorg@nvidia.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      6d529ea8
    • Tiezhu Yang's avatar
      lib: make LZ4_decompress_safe_forceExtDict() static · 2d8867f3
      Tiezhu Yang authored
      
      
      LZ4_decompress_safe_forceExtDict() is only used in
      lib/lz4/lz4_decompress.c, make it static to fix the build warning about
      "no previous prototype" [1].
      
      [1] https://lore.kernel.org/lkml/202206260948.akgsho1q-lkp@intel.com/
      
      Link: https://lkml.kernel.org/r/1656298965-8698-1-git-send-email-yangtiezhu@loongson.cn
      Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      2d8867f3
    • wuchi's avatar
      lib/radix-tree: remove unused argument of insert_entries · cda83bb8
      wuchi authored
      insert_entries() doesn't use the 'bool replace' argument, and the function
      is only used locally, remove the argument.
      
      The historical context of the unused argument is as follow:
      
      2: commit <3a08cd52> (radix tree: Remove multiorder support)
        Remove the code related to macro CONFIG_RADIX_TREE_MULTIORDER
      to convert to the xArray.
        Without the macro, there is no need to retain the argument.
      
      1: commit <175542f5
      
      > (radix-tree: add radix_tree_join)
        Add insert_entries(..., bool replace) function, depending on the
      macro CONFIG_RADIX_TREE_MULTIORDER definition, the implementation
      is different. Notice that the implementation without the macro doesn't
      use the argument.
      
      [Matthew Wilcox: add historical context for argument]
      
      Link: https://lkml.kernel.org/r/20220625135324.72574-1-wuchi.zero@gmail.com
      Signed-off-by: default avatarwuchi <wuchi.zero@gmail.com>
      Cc: Matthew Wilcox <willy@infradead.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      cda83bb8
    • Dan Carpenter's avatar
      kfifo: fix kfifo_to_user() return type · 045ed31e
      Dan Carpenter authored
      The kfifo_to_user() macro is supposed to return zero for success or
      negative error codes.  Unfortunately, there is a signedness bug so it
      returns unsigned int.  This only affects callers which try to save the
      result in ssize_t and as far as I can see the only place which does that
      is line6_hwdep_read().
      
      TL;DR: s/_uint/_int/.
      
      Link: https://lkml.kernel.org/r/YrVL3OJVLlNhIMFs@kili
      Fixes: 144ecf31
      
       ("kfifo: fix kfifo_alloc() to return a signed int value")
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Cc: Stefani Seibold <stefani@seibold.net>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      045ed31e
    • Uros Bizjak's avatar
      compiler-gcc.h: remove ancient workaround for gcc PR 58670 · 43c249ea
      Uros Bizjak authored
      
      
      The workaround for 'asm goto' miscompilation introduces a compiler barrier
      quirk that inhibits many useful compiler optimizations.  For example,
      __try_cmpxchg_user compiles to:
      
         11375:	41 8b 4d 00          	mov    0x0(%r13),%ecx
         11379:	41 8b 02             	mov    (%r10),%eax
         1137c:	f0 0f b1 0a          	lock cmpxchg %ecx,(%rdx)
         11380:	0f 94 c2             	sete   %dl
         11383:	84 d2                	test   %dl,%dl
         11385:	75 c4                	jne    1134b <...>
         11387:	41 89 02             	mov    %eax,(%r10)
      
      where the barrier inhibits flags propagation from asm when compiled with
      gcc-12.
      
      When the mentioned quirk is removed, the following code is generated:
      
         11553:	41 8b 4d 00          	mov    0x0(%r13),%ecx
         11557:	41 8b 02             	mov    (%r10),%eax
         1155a:	f0 0f b1 0a          	lock cmpxchg %ecx,(%rdx)
         1155e:	74 c9                	je     11529 <...>
         11560:	41 89 02             	mov    %eax,(%r10)
      
      The refered compiler bug:
      
      http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
      
      was fixed for gcc-4.8.2.
      
      Current minimum required version of GCC is version 5.1 which has the above
      'asm goto' miscompilation fixed, so remove the workaround.
      
      Link: https://lkml.kernel.org/r/20220624141412.72274-1-ubizjak@gmail.com
      Signed-off-by: default avatarUros Bizjak <ubizjak@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      43c249ea
    • wuchi's avatar
      lib/error-inject: traverse list with mutex · 86e5908e
      wuchi authored
      
      
      Traversing list without mutex in get_injectable_error_type will
      race with the following code:
          list_del_init(&ent->list)
          kfree(ent)
      in module_unload_ei_list. So fix that.
      
      Link: https://lkml.kernel.org/r/20220620100244.82896-1-wuchi.zero@gmail.com
      Signed-off-by: default avatarwuchi <wuchi.zero@gmail.com>
      Cc: Masami Hiramatsu (Google) <mhiramat@kernel.org>
      Cc: Martin KaFai Lau <kafai@fb.com>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: Yonghong Song <yhs@fb.com>
      Cc: John Fastabend <john.fastabend@gmail.com>
      Cc: KP Singh <kpsingh@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      86e5908e
    • Vlastimil Babka's avatar
      lib/stackdepot: replace CONFIG_STACK_HASH_ORDER with automatic sizing · f9987921
      Vlastimil Babka authored
      
      
      As Linus explained [1], setting the stackdepot hash table size as a config
      option is suboptimal, especially as stackdepot becomes a dependency of
      less "expert" subsystems than initially (e.g.  DRM, networking,
      SLUB_DEBUG):
      
      : (a) it introduces a new compile-time question that isn't sane to ask
      : a regular user, but is now exposed to regular users.
      
      : (b) this by default uses 1MB of memory for a feature that didn't in
      : the past, so now if you have small machines you need to make sure you
      : make a special kernel config for them.
      
      Ideally we would employ rhashtable for fully automatic resizing, which
      should be feasible for many of the new users, but problematic for the
      original users with restricted context that call __stack_depot_save() with
      can_alloc == false, i.e.  KASAN.
      
      However we can easily remove the config option and scale the hash table
      automatically with system memory.  The STACK_HASH_MASK constant becomes
      stack_hash_mask variable and is used only in one mask operation, so the
      overhead should be negligible to none.  For early allocation we can employ
      the existing alloc_large_system_hash() function and perform similar
      scaling for the late allocation.
      
      The existing limits of the config option (between 4k and 1M buckets) are
      preserved, and scaling factor is set to one bucket per 16kB memory so on
      64bit the max 1M buckets (8MB memory) is achieved with 16GB system, while
      a 1GB system will use 512kB.
      
      Because KASAN is reported to need the maximum number of buckets even with
      smaller amounts of memory [2], set it as such when kasan_enabled().
      
      If needed, the automatic scaling could be complemented with a boot-time
      kernel parameter, but it feels pointless to add it without a specific use
      case.
      
      [1] https://lore.kernel.org/all/CAHk-=wjC5nS+fnf6EzRD9yQRJApAhxx7gRB87ZV+pAWo9oVrTg@mail.gmail.com/
      [2] https://lore.kernel.org/all/CACT4Y+Y4GZfXOru2z5tFPzFdaSUd+GFc6KVL=bsa0+1m197cQQ@mail.gmail.com/
      
      Link: https://lkml.kernel.org/r/20220620150249.16814-1-vbabka@suse.cz
      Signed-off-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Acked-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Cc: Marco Elver <elver@google.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Andrey Konovalov <andreyknvl@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      f9987921
    • wuchi's avatar
      net, lib/once: remove {net_}get_random_once_wait macro · 62df90b5
      wuchi authored
      
      
      DO_ONCE(func, ...) will call func with spinlock which acquired by
      spin_lock_irqsave in __do_once_start.  But the get_random_once_wait will
      sleep in get_random_bytes_wait -> wait_for_random_bytes.
      
      Fortunately, there is no place to use {net_}get_random_once_wait, so we
      could remove them simply.
      
      Link: https://lkml.kernel.org/r/20220619074641.40916-1-wuchi.zero@gmail.com
      Signed-off-by: default avatarwuchi <wuchi.zero@gmail.com>
      Acked-by: default avatarJakub Kicinski <kuba@kernel.org>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Paolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      62df90b5
    • wuchi's avatar
      lib/lru_cache: fix error free handing in lc_create · 5a66fce9
      wuchi authored
      
      
      When kmem_cache_alloc in function lc_create returns null, we will
      free the memory already allocated. The loop of kmem_cache_free
      is wrong, especially:
        i = 0  ==> do wrong loop
        i > 0  ==> do not free element[0]
      
      Link: https://lkml.kernel.org/r/20220618082521.7082-1-wuchi.zero@gmail.com
      Signed-off-by: default avatarwuchi <wuchi.zero@gmail.com>
      Cc: Philipp Reisner <philipp.reisner@linbit.com>
      Cc: Lars Ellenberg <lars.ellenberg@linbit.com>
      Cc: Christoph Bhmwalder <christoph.boehmwalder@linbit.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      5a66fce9
    • Dan Moulding's avatar
      init: add "hostname" kernel parameter · 5a704629
      Dan Moulding authored
      
      
      The gethostname system call returns the hostname for the current machine. 
      However, the kernel has no mechanism to initially set the current
      machine's name in such a way as to guarantee that the first userspace
      process to call gethostname will receive a meaningful result.  It relies
      on some unspecified userspace process to first call sethostname before
      gethostname can produce a meaningful name.
      
      Traditionally the machine's hostname is set from userspace by the init
      system.  The init system, in turn, often relies on a configuration file
      (say, /etc/hostname) to provide the value that it will supply in the call
      to sethostname.  Consequently, the file system containing /etc/hostname
      usually must be available before the hostname will be set.  There may,
      however, be earlier userspace processes that could call gethostname before
      the file system containing /etc/hostname is mounted.  Such a process will
      get some other, likely meaningless, name from gethostname (such as
      "(none)", "localhost", or "darkstar").
      
      A real-world example where this can happen, and lead to undesirable
      results, is with mdadm.  When assembling arrays, mdadm distinguishes
      between "local" arrays and "foreign" arrays.  A local array is one that
      properly belongs to the current machine, and a foreign array is one that
      is (possibly temporarily) attached to the current machine, but properly
      belongs to some other machine.  To determine if an array is local or
      foreign, mdadm may compare the "homehost" recorded on the array with the
      current hostname.  If mdadm is run before the root file system is mounted,
      perhaps because the root file system itself resides on an md-raid array,
      then /etc/hostname isn't yet available and the init system will not yet
      have called sethostname, causing mdadm to incorrectly conclude that all of
      the local arrays are foreign.
      
      Solving this problem *could* be delegated to the init system.  It could be
      left up to the init system (including any init system that starts within
      an initramfs, if one is in use) to ensure that sethostname is called
      before any other userspace process could possibly call gethostname. 
      However, it may not always be obvious which processes could call
      gethostname (for example, udev itself might not call gethostname, but it
      could via udev rules invoke processes that do).  Additionally, the init
      system has to ensure that the hostname configuration value is stored in
      some place where it will be readily accessible during early boot. 
      Unfortunately, every init system will attempt to (or has already attempted
      to) solve this problem in a different, possibly incorrect, way.  This
      makes getting consistently working configurations harder for users.
      
      I believe it is better for the kernel to provide the means by which the
      hostname may be set early, rather than making this a problem for the init
      system to solve.  The option to set the hostname during early startup, via
      a kernel parameter, provides a simple, reliable way to solve this problem.
      It also could make system configuration easier for some embedded systems.
      
      [dmoulding@me.com: v2]
        Link: https://lkml.kernel.org/r/20220506060310.7495-2-dmoulding@me.com
      Link: https://lkml.kernel.org/r/20220505180651.22849-2-dmoulding@me.com
      Signed-off-by: default avatarDan Moulding <dmoulding@me.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      5a704629
  2. Jun 28, 2022
  3. Jun 27, 2022
    • Linus Torvalds's avatar
      Linux 5.19-rc4 · 03c765b0
      Linus Torvalds authored
      03c765b0
    • Linus Torvalds's avatar
      Merge tag 'soc-fixes-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 1709b887
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "A number of fixes have accumulated, but they are largely for harmless
        issues:
      
         - Several OF node leak fixes
      
         - A fix to the Exynos7885 UART clock description
      
         - DTS fixes to prevent boot failures on TI AM64 and J721s2
      
         - Bus probe error handling fixes for Baikal-T1
      
         - A fixup to the way STM32 SoCs use separate dts files for different
           firmware stacks
      
         - Multiple code fixes for Arm SCMI firmware, all dealing with
           robustness of the implementation
      
         - Multiple NXP i.MX devicetree fixes, addressing incorrect data in DT
           nodes
      
         - Three updates to the MAINTAINERS file, including Florian Fainelli
           taking over BCM283x/BCM2711 (Raspberry Pi) from Nicolas Saenz
           Julienne"
      
      * tag 'soc-fixes-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (29 commits)
        ARM: dts: aspeed: nuvia: rename vendor nuvia to qcom
        arm: mach-spear: Add missing of_node_put() in time.c
        ARM: cns3xxx: Fix refcount leak in cns3xxx_init
        MAINTAINERS: Update email address
        arm64: dts: ti: k3-am64-main: Remove support for HS400 speed mode
        arm64: dts: ti: k3-j721s2: Fix overlapping GICD memory region
        ARM: dts: bcm2711-rpi-400: Fix GPIO line names
        bus: bt1-axi: Don't print error on -EPROBE_DEFER
        bus: bt1-apb: Don't print error on -EPROBE_DEFER
        ARM: Fix refcount leak in axxia_boot_secondary
        ARM: dts: stm32: move SCMI related nodes in a dedicated file for stm32mp15
        soc: imx: imx8m-blk-ctrl: fix display clock for LCDIF2 power domain
        ARM: dts: imx6qdl-colibri: Fix capacitive touch reset polarity
        ARM: dts: imx6qdl: correct PU regulator ramp delay
        firmware: arm_scmi: Fix incorrect error propagation in scmi_voltage_descriptors_get
        firmware: arm_scmi: Avoid using extended string-buffers sizes if not necessary
        firmware: arm_scmi: Fix SENSOR_AXIS_NAME_GET behaviour when unsupported
        ARM: dts: imx7: Move hsic_phy power domain to HSIC PHY node
        soc: bcm: brcmstb: pm: pm-arm: Fix refcount leak in brcmstb_pm_probe
        MAINTAINERS: Update BCM2711/BCM2835 maintainer
        ...
      1709b887
    • Linus Torvalds's avatar
      Merge tag 'mm-hotfixes-stable-2022-06-26' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm · 413c1f14
      Linus Torvalds authored
      Pull hotfixes from Andrew Morton:
       "Minor things, mainly - mailmap updates, MAINTAINERS updates, etc.
      
        Fixes for this merge window:
      
         - fix for a damon boot hang, from SeongJae
      
         - fix for a kfence warning splat, from Jason Donenfeld
      
         - fix for zero-pfn pinning, from Alex Williamson
      
         - fix for fallocate hole punch clearing, from Mike Kravetz
      
        Fixes for previous releases:
      
         - fix for a performance regression, from Marcelo
      
         - fix for a hwpoisining BUG from zhenwei pi"
      
      * tag 'mm-hotfixes-stable-2022-06-26' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
        mailmap: add entry for Christian Marangi
        mm/memory-failure: disable unpoison once hw error happens
        hugetlbfs: zero partial pages during fallocate hole punch
        mm: memcontrol: reference to tools/cgroup/memcg_slabinfo.py
        mm: re-allow pinning of zero pfns
        mm/kfence: select random number before taking raw lock
        MAINTAINERS: add maillist information for LoongArch
        MAINTAINERS: update MM tree references
        MAINTAINERS: update Abel Vesa's email
        MAINTAINERS: add MEMORY HOT(UN)PLUG section and add David as reviewer
        MAINTAINERS: add Miaohe Lin as a memory-failure reviewer
        mailmap: add alias for jarkko@profian.com
        mm/damon/reclaim: schedule 'damon_reclaim_timer' only after 'system_wq' is initialized
        kthread: make it clear that kthread_create_on_node() might be terminated by any fatal signal
        mm: lru_cache_disable: use synchronize_rcu_expedited
        mm/page_isolation.c: fix one kernel-doc comment
      413c1f14
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v5.19-2022-06-26' of... · 893d1eaa
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v5.19-2022-06-26' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tools fixes from Arnaldo Carvalho de Melo:
      
       - Enable ignore_missing_thread in 'perf stat', enabling counting with
         '--pid' when threads disappear during counting session setup
      
       - Adjust output data offset for backward compatibility in 'perf inject'
      
       - Fix missing free in copy_kcore_dir() in 'perf inject'
      
       - Fix caching files with a wrong build ID
      
       - Sync drm, cpufeatures, vhost and svn headers with the kernel
      
      * tag 'perf-tools-fixes-for-v5.19-2022-06-26' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
        tools headers UAPI: Synch KVM's svm.h header with the kernel
        tools include UAPI: Sync linux/vhost.h with the kernel sources
        perf stat: Enable ignore_missing_thread
        perf inject: Adjust output data offset for backward compatibility
        perf trace beauty: Fix generation of errno id->str table on ALT Linux
        perf build-id: Fix caching files with a wrong build ID
        tools headers cpufeatures: Sync with the kernel sources
        tools headers UAPI: Sync drm/i915_drm.h with the kernel sources
        perf inject: Fix missing free in copy_kcore_dir()
      893d1eaa
    • Linus Torvalds's avatar
      Merge tag 'for-5.19-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 82708bb1
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
      
       - zoned relocation fixes:
            - fix critical section end for extent writeback, this could lead
              to out of order write
            - prevent writing to previous data relocation block group if space
              gets low
      
       - reflink fixes:
            - fix race between reflinking and ordered extent completion
            - proper error handling when block reserve migration fails
            - add missing inode iversion/mtime/ctime updates on each iteration
              when replacing extents
      
       - fix deadlock when running fsync/fiemap/commit at the same time
      
       - fix false-positive KCSAN report regarding pid tracking for read locks
         and data race
      
       - minor documentation update and link to new site
      
      * tag 'for-5.19-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        Documentation: update btrfs list of features and link to readthedocs.io
        btrfs: fix deadlock with fsync+fiemap+transaction commit
        btrfs: don't set lock_owner when locking extent buffer for reading
        btrfs: zoned: fix critical section of relocation inode writeback
        btrfs: zoned: prevent allocation from previous data relocation BG
        btrfs: do not BUG_ON() on failure to migrate space when replacing extents
        btrfs: add missing inode updates on each iteration when replacing extents
        btrfs: fix race between reflinking and ordered extent completion
      82708bb1
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-5.19-2022-06-26' of git://git.infradead.org/users/hch/dma-mapping · c898c67d
      Linus Torvalds authored
      Pull dma-mapping fix from Christoph Hellwig:
      
       - pass the correct size to dma_set_encrypted() when freeing memory
         (Dexuan Cui)
      
      * tag 'dma-mapping-5.19-2022-06-26' of git://git.infradead.org/users/hch/dma-mapping:
        dma-direct: use the correct size for dma_set_encrypted()
      c898c67d
    • Linus Torvalds's avatar
      Merge tag 'for-5.19/fbdev-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · be129fab
      Linus Torvalds authored
      Pull fbdev fixes from Helge Deller:
       "Two bug fixes for the pxa3xx and intelfb drivers:
      
         - pxa3xx-gcu: Fix integer overflow in pxa3xx_gcu_write
      
         - intelfb: Initialize value of stolen size
      
        The other changes are small cleanups, simplifications and
        documentation updates to the cirrusfb, skeletonfb, omapfb,
        intelfb, au1100fb and simplefb drivers"
      
      * tag 'for-5.19/fbdev-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
        video: fbdev: omap: Remove duplicate 'the' in comment
        video: fbdev: omapfb: Align '*' in comment
        video: fbdev: simplefb: Check before clk_put() not needed
        video: fbdev: au1100fb: Drop unnecessary NULL ptr check
        video: fbdev: pxa3xx-gcu: Fix integer overflow in pxa3xx_gcu_write
        video: fbdev: skeletonfb: Convert to generic power management
        video: fbdev: cirrusfb: Remove useless reference to PCI power management
        video: fbdev: intelfb: Initialize value of stolen size
        video: fbdev: intelfb: Use aperture size from pci_resource_len
        video: fbdev: skeletonfb: Fix syntax errors in comments
      be129fab
    • Linus Torvalds's avatar
      Merge tag 'for-5.19/parisc-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · c0c6a7bd
      Linus Torvalds authored
      Pull parisc architecture fixes from Helge Deller:
      
       - enable ARCH_HAS_STRICT_MODULE_RWX to prevent a boot crash on c8000
         machines
      
       - flush all mappings of a shared anonymous page on PA8800/8900 machines
         via flushing the whole data cache. This may slow down such machines
         but makes sure that the cache is consistent
      
       - Fix duplicate definition build error regarding fb_is_primary_device()
      
      * tag 'for-5.19/parisc-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Enable ARCH_HAS_STRICT_MODULE_RWX
        parisc: Fix flush_anon_page on PA8800/PA8900
        parisc: align '*' in comment in math-emu code
        parisc/stifb: Fix fb_is_primary_device() only available with CONFIG_FB_STI
      c0c6a7bd
  4. Jun 26, 2022
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20220626' of https://github.com/jcmvbkbc/linux-xtensa · e963d685
      Linus Torvalds authored
      Pull xtensa fixes from Max Filippov:
      
       - fix OF reference leaks in xtensa arch code
      
       - replace '.bss' with '.section .bss' to fix entry.S build with old
         assembler
      
      * tag 'xtensa-20220626' of https://github.com/jcmvbkbc/linux-xtensa:
        xtensa: change '.bss' to '.section .bss'
        xtensa: xtfpga: Fix refcount leak bug in setup
        xtensa: Fix refcount leak bug in time.c
      e963d685
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.19-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 8100775d
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - A fix for a CMA change that broke booting guests with > 2G RAM on
         Power8 hosts.
      
       - Fix the RTAS call filter to allow a special case that applications
         rely on.
      
       - A change to our execve path, to make the execve syscall exit
         tracepoint work.
      
       - Three fixes to wire up our various RNGs earlier in boot so they're
         available for use in the initial seeding in random_init().
      
       - A build fix for when KASAN is enabled along with
         STRUCTLEAK_BYREF_ALL.
      
      Thanks to Andrew Donnellan, Aneesh Kumar K.V, Christophe Leroy, Jason
      Donenfeld, Nathan Lynch, Naveen N. Rao, Sathvika Vasireddy, Sumit
      Dubey2, Tyrel Datwyler, and Zi Yan.
      
      * tag 'powerpc-5.19-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/powernv: wire up rng during setup_arch
        powerpc/prom_init: Fix build failure with GCC_PLUGIN_STRUCTLEAK_BYREF_ALL and KASAN
        powerpc/rtas: Allow ibm,platform-dump RTAS call with null buffer address
        powerpc: Enable execve syscall exit tracepoint
        powerpc/pseries: wire up rng during setup_arch()
        powerpc/microwatt: wire up rng during setup_arch()
        powerpc/mm: Move CMA reservations after initmem_init()
      8100775d
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v5.19-2' of... · 393ed5d8
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Fix modpost to detect EXPORT_SYMBOL marked as __init or__exit
      
       - Update the supported arch list in the LLVM document
      
       - Avoid the second link of vmlinux for CONFIG_TRIM_UNUSED_KSYMS
      
       - Avoid false __KSYM___this_module define in include/generated/autoksyms.h
      
      * tag 'kbuild-fixes-v5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kbuild: Ignore __this_module in gen_autoksyms.sh
        kbuild: link vmlinux only once for CONFIG_TRIM_UNUSED_KSYMS (2nd attempt)
        Documentation/llvm: Update Supported Arch table
        modpost: fix section mismatch check for exported init/exit sections
      393ed5d8
    • Linus Torvalds's avatar
      Merge tag 'exfat-for-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat · 97d4d026
      Linus Torvalds authored
      Pull exfat fix from Namjae Jeon:
      
       - Use updated exfat_chain directly instead of snapshot values in
         rename.
      
      * tag 'exfat-for-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat:
        exfat: use updated exfat_chain directly during renaming
      97d4d026
    • Linus Torvalds's avatar
      Merge tag '5.19-rc3-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 918c30df
      Linus Torvalds authored
      Pull cifs client fixes from Steve French:
       "Fixes addressing important multichannel, and reconnect issues.
      
        Multichannel mounts when the server network interfaces changed, or ip
        addresses changed, uncovered problems, especially in reconnect, but
        the patches for this were held up until recently due to some lock
        conflicts that are now addressed.
      
        Included in this set of fixes:
      
         - three fixes relating to multichannel reconnect, dynamically
           adjusting the list of server interfaces to avoid problems during
           reconnect
      
         - a lock conflict fix related to the above
      
         - two important fixes for negotiate on secondary channels (null
           netname can unintentionally cause multichannel to be disabled to
           some servers)
      
         - a reconnect fix (reporting incorrect IP address in some cases)"
      
      * tag '5.19-rc3-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: update cifs_ses::ip_addr after failover
        cifs: avoid deadlocks while updating iface
        cifs: periodically query network interfaces from server
        cifs: during reconnect, update interface if necessary
        cifs: change iface_list from array to sorted linked list
        smb3: use netname when available on secondary channels
        smb3: fix empty netname context on secondary channels
      918c30df
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Synch KVM's svm.h header with the kernel · f8d86619
      Arnaldo Carvalho de Melo authored
      To pick up the changes from:
      
        d5af44dd ("x86/sev: Provide support for SNP guest request NAEs")
        0afb6b66 ("x86/sev: Use SEV-SNP AP creation to start secondary CPUs")
        dc3f3d24 ("x86/mm: Validate memory when changing the C-bit")
        cbd3d4f7
      
       ("x86/sev: Check SEV-SNP features support")
      
      That gets these new SVM exit reasons:
      
      +       { SVM_VMGEXIT_PSC,              "vmgexit_page_state_change" }, \
      +       { SVM_VMGEXIT_GUEST_REQUEST,    "vmgexit_guest_request" }, \
      +       { SVM_VMGEXIT_EXT_GUEST_REQUEST, "vmgexit_ext_guest_request" }, \
      +       { SVM_VMGEXIT_AP_CREATION,      "vmgexit_ap_creation" }, \
      +       { SVM_VMGEXIT_HV_FEATURES,      "vmgexit_hypervisor_feature" }, \
      
      Addressing this perf build warning:
      
        Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/svm.h' differs from latest version at 'arch/x86/include/uapi/asm/svm.h'
        diff -u tools/arch/x86/include/uapi/asm/svm.h arch/x86/include/uapi/asm/svm.h
      
      This causes these changes:
      
        CC      /tmp/build/perf-urgent/arch/x86/util/kvm-stat.o
        LD      /tmp/build/perf-urgent/arch/x86/util/perf-in.o
        LD      /tmp/build/perf-urgent/arch/x86/perf-in.o
        LD      /tmp/build/perf-urgent/arch/perf-in.o
        LD      /tmp/build/perf-urgent/perf-in.o
        LINK    /tmp/build/perf-urgent/perf
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: Brijesh Singh <brijesh.singh@amd.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Tom Lendacky <thomas.lendacky@amd.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f8d86619
    • Arnaldo Carvalho de Melo's avatar
      tools include UAPI: Sync linux/vhost.h with the kernel sources · e2213a2d
      Arnaldo Carvalho de Melo authored
      To get the changes in:
      
        84d7c8fd ("vhost-vdpa: introduce uAPI to set group ASID")
        2d1fcb77 ("vhost-vdpa: uAPI to get virtqueue group id")
        a0c95f20 ("vhost-vdpa: introduce uAPI to get the number of address spaces")
        3ace88bd ("vhost-vdpa: introduce uAPI to get the number of virtqueue groups")
        175d493c
      
       ("vhost: move the backend feature bits to vhost_types.h")
      
      Silencing this perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/vhost.h' differs from latest version at 'include/uapi/linux/vhost.h'
        diff -u tools/include/uapi/linux/vhost.h include/uapi/linux/vhost.h
      
      To pick up these changes and support them:
      
        $ tools/perf/trace/beauty/vhost_virtio_ioctl.sh > before
        $ cp include/uapi/linux/vhost.h tools/include/uapi/linux/vhost.h
        $ tools/perf/trace/beauty/vhost_virtio_ioctl.sh > after
        $ diff -u before after
        --- before	2022-06-26 12:04:35.982003781 -0300
        +++ after	2022-06-26 12:04:43.819972476 -0300
        @@ -28,6 +28,7 @@
         	[0x74] = "VDPA_SET_CONFIG",
         	[0x75] = "VDPA_SET_VRING_ENABLE",
         	[0x77] = "VDPA_SET_CONFIG_CALL",
        +	[0x7C] = "VDPA_SET_GROUP_ASID",
         };
         static const char *vhost_virtio_ioctl_read_cmds[] = {
         	[0x00] = "GET_FEATURES",
        @@ -39,5 +40,8 @@
         	[0x76] = "VDPA_GET_VRING_NUM",
         	[0x78] = "VDPA_GET_IOVA_RANGE",
         	[0x79] = "VDPA_GET_CONFIG_SIZE",
        +	[0x7A] = "VDPA_GET_AS_NUM",
        +	[0x7B] = "VDPA_GET_VRING_GROUP",
         	[0x80] = "VDPA_GET_VQS_COUNT",
        +	[0x81] = "VDPA_GET_GROUP_NUM",
         };
        $
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Gautam Dawar <gautam.dawar@xilinx.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/lkml/Yrh3xMYbfeAD0MFL@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e2213a2d
    • Gang Li's avatar
      perf stat: Enable ignore_missing_thread · 448ce0e6
      Gang Li authored
      perf already support ignore_missing_thread for -p, but not yet
      applied to `perf stat -p <pid>`. This patch enables ignore_missing_thread
      for `perf stat -p <pid>`.
      
      Committer notes:
      
      And here is a refresher about the 'ignore_missing_thread' knob, from a
      previous patch using it:
      
        ca800068
      
       ("perf evsel: Enable ignore_missing_thread for pid option")
      
        ---
          While monitoring a multithread process with pid option, perf sometimes
          may return sys_perf_event_open failure with 3(No such process) if any of
          the process's threads die before we open the event. However, we want
          perf continue monitoring the remaining threads and do not exit with
          error.
        ---
      
      Signed-off-by: default avatarGang Li <ligang.bdlg@bytedance.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lore.kernel.org/r/20220622030037.15005-1-ligang.bdlg@bytedance.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      448ce0e6
    • Raul Silvera's avatar
      perf inject: Adjust output data offset for backward compatibility · 37ed2cdd
      Raul Silvera authored
      
      
      When 'perf inject' creates a new file, it reuses the data offset from
      the input file. If there has been a change on the size of the header, as
      happened in v5.12 -> v5.13, the new offsets will be wrong, resulting in
      a corrupted output file.
      
      This change adds the function perf_session__data_offset to compute the
      data offset based on the current header size, and uses that instead of
      the offset from the original input file.
      
      Signed-off-by: default avatarRaul Silvera <rsilvera@google.com>
      Acked-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Athira Jajeev <atrajeev@linux.vnet.ibm.com>
      Cc: Colin Ian King <colin.king@intel.com>
      Cc: Dave Marchevsky <davemarchevsky@fb.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lore.kernel.org/r/20220621152725.2668041-1-rsilvera@google.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      37ed2cdd
    • Arnaldo Carvalho de Melo's avatar
      perf trace beauty: Fix generation of errno id->str table on ALT Linux · 3713e249
      Arnaldo Carvalho de Melo authored
      
      
      For some reason using:
      
               cat <<EoFuncBegin
        static const char *errno_to_name__$arch(int err)
        {
               switch (err) {
        EoFuncBegin
      
      In tools/perf/trace/beauty/arch_errno_names.sh isn't working on ALT
      Linux sisyphus (development version), which could be some distro
      specific glitch, so just get this done in an alternative way that works
      everywhere while giving notice to the people working on that distro to
      try and figure our what really took place.
      
      Cc: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      3713e249
    • Adrian Hunter's avatar
      perf build-id: Fix caching files with a wrong build ID · ab66fdac
      Adrian Hunter authored
      Build ID events associate a file name with a build ID.  However, when
      using perf inject, there is no guarantee that the file on the current
      machine at the current time has that build ID. Fix by comparing the
      build IDs and skip adding to the cache if they are different.
      
      Example:
      
        $ echo "int main() {return 0;}" > prog.c
        $ gcc -o prog prog.c
        $ perf record --buildid-all ./prog
        [ perf record: Woken up 1 times to write data ]
        [ perf record: Captured and wrote 0.019 MB perf.data ]
        $ file-buildid() { file $1 | awk -F= '{print $2}' | awk -F, '{print $1}' ; }
        $ file-buildid prog
        444ad9be165d8058a48ce2ffb4e9f55854a3293e
        $ file-buildid ~/.debug/$(pwd)/prog/444ad9be165d8058a48ce2ffb4e9f55854a3293e/elf
        444ad9be165d8058a48ce2ffb4e9f55854a3293e
        $ echo "int main() {return 1;}" > prog.c
        $ gcc -o prog prog.c
        $ file-buildid prog
        885524d5aaa24008a3e2b06caa3ea95d013c0fc5
      
      Before:
      
        $ perf buildid-cache --purge $(pwd)/prog
        $ perf inject -i perf.data -o junk
        $ file-buildid ~/.debug/$(pwd)/prog/444ad9be165d8058a48ce2ffb4e9f55854a3293e/elf
        885524d5aaa24008a3e2b06caa3ea95d013c0fc5
        $
      
      After:
      
        $ perf buildid-cache --purge $(pwd)/prog
        $ perf inject -i perf.data -o junk
        $ file-buildid ~/.debug/$(pwd)/prog/444ad9be165d8058a48ce2ffb4e9f55854a3293e/elf
      
        $
      
      Fixes: 454c407e
      
       ("perf: add perf-inject builtin")
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      Link: https://lore.kernel.org/r/20220621125144.5623-1-adrian.hunter@intel.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ab66fdac
    • Arnaldo Carvalho de Melo's avatar
      tools headers cpufeatures: Sync with the kernel sources · 4b3f7644
      Arnaldo Carvalho de Melo authored
      To pick the changes from:
      
        d6d0c7f6 ("x86/cpufeatures: Add PerfMonV2 feature bit")
        296d5a17 ("KVM: SEV-ES: Use V_TSC_AUX if available instead of RDTSC/MSR_TSC_AUX intercepts")
        f3090339 ("x86/cpufeatures: Add virtual TSC_AUX feature bit")
        8ad7e8f6 ("x86/fpu/xsave: Support XSAVEC in the kernel")
        59bd54a8 ("x86/tdx: Detect running as a TDX guest in early boot")
        a77d41ac
      
       ("x86/cpufeatures: Add AMD Fam19h Branch Sampling feature")
      
      This only causes these perf files to be rebuilt:
      
        CC       /tmp/build/perf/bench/mem-memcpy-x86-64-asm.o
        CC       /tmp/build/perf/bench/mem-memset-x86-64-asm.o
      
      And addresses 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
        Warning: Kernel ABI header at 'tools/arch/x86/include/asm/disabled-features.h' differs from latest version at 'arch/x86/include/asm/disabled-features.h'
        diff -u tools/arch/x86/include/asm/disabled-features.h arch/x86/include/asm/disabled-features.h
      
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Sandipan Das <sandipan.das@amd.com>
      Cc: Babu Moger <babu.moger@amd.com>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lore.kernel.org/lkml/YrDkgmwhLv+nKeOo@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4b3f7644
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync drm/i915_drm.h with the kernel sources · 0fdd435c
      Arnaldo Carvalho de Melo authored
      To pick up the changes in:
      
        ecf8eca5 ("drm/i915/xehp: Add compute engine ABI")
        991b4de3 ("drm/i915/uapi: Add kerneldoc for engine class enum")
        c94fde8f ("drm/i915/uapi: Add DRM_I915_QUERY_GEOMETRY_SUBSLICES")
        1c671ad7 ("drm/i915/doc: Link query items to their uapi structs")
        a2e54026 ("drm/i915/doc: Convert perf UAPI comments to kerneldoc")
        462ac1cd ("drm/i915/doc: Convert drm_i915_query_topology_info comment to kerneldoc")
        034d47b2 ("drm/i915/uapi: Document DRM_I915_QUERY_HWCONFIG_BLOB")
        78e1fb31
      
       ("drm/i915/uapi: Add query for hwconfig blob")
      
      That don't add any new ioctl, so no changes in tooling.
      
      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: John Harrison <John.C.Harrison@intel.com>
      Cc: Matt Atwood <matthew.s.atwood@intel.com>
      Cc: Matt Roper <matthew.d.roper@intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: http://lore.kernel.org/lkml/YrDi4ALYjv9Mdocq@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      0fdd435c
    • Adrian Hunter's avatar
      perf inject: Fix missing free in copy_kcore_dir() · 342cb0d8
      Adrian Hunter authored
      Free string allocated by asprintf().
      
      Fixes: d8fc0855
      
       ("perf inject: Keep a copy of kcore_dir")
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Link: https://lore.kernel.org/r/20220620103904.7960-1-adrian.hunter@intel.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      342cb0d8
    • Helge Deller's avatar
      parisc: Enable ARCH_HAS_STRICT_MODULE_RWX · 0a1355db
      Helge Deller authored
      
      
      Fix a boot crash on a c8000 machine as reported by Dave.  Basically it changes
      patch_map() to return an alias mapping to the to-be-patched code in order to
      prevent writing to write-protected memory.
      
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Suggested-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Cc: stable@vger.kernel.org   # v5.2+
      Link: https://lore.kernel.org/all/e8ec39e8-25f8-e6b4-b7ed-4cb23efc756e@bell.net/
      0a1355db
    • John David Anglin's avatar
      parisc: Fix flush_anon_page on PA8800/PA8900 · e9ed22e6
      John David Anglin authored
      
      
      Anonymous pages are allocated with the shared mappings colouring,
      SHM_COLOUR. Since the alias boundary on machines with PA8800 and
      PA8900 processors is unknown, flush_user_cache_page() might not
      flush all mappings of a shared anonymous page. Flushing the whole
      data cache flushes all mappings.
      
      This won't fix all coherency issues with shared mappings but it
      seems to work well in practice.  I haven't seen any random memory
      faults in almost a month on a rp3440 running as a debian buildd
      machine.
      
      There is a small preformance hit.
      
      Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Cc: stable@vger.kernel.org   # v5.18+
      e9ed22e6
    • Jiang Jian's avatar
      d16c5c7c
    • Sami Tolvanen's avatar
      kbuild: Ignore __this_module in gen_autoksyms.sh · ff139766
      Sami Tolvanen authored
      
      
      Module object files can contain an undefined reference to __this_module,
      which isn't resolved until we link the final .ko. The kernel doesn't
      export this symbol, so ignore it in gen_autoksyms.sh.
      
      Signed-off-by: default avatarSami Tolvanen <samitolvanen@google.com>
      Tested-by: default avatarSteve Muckle <smuckle@google.com>
      Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Tested-by: default avatarRamji Jiyani <ramjiyani@google.com>
      ff139766