1. 17 Dec, 2022 4 commits
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-6.2-rc1' of git://www.linux-watchdog.org/linux-watchdog · b611996e
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
      
       - Add Advantech EC watchdog driver
      
       - Add support for MT6795 Helio X10 watchdog and toprgu
      
       - Add support for MT8188 watchdog device
      
       - Remove #ifdef guards for PM related functions
      
       - Other fixes and improvements
      
      * tag 'linux-watchdog-6.2-rc1' of git://www.linux-watchdog.org/linux-watchdog:
        watchdog: aspeed: Enable pre-timeout interrupt
        watchdog: iTCO_wdt: Set NO_REBOOT if the watchdog is not already running
        watchdog: rn5t618: add support for read out bootstatus
        watchdog: kempld: Remove #ifdef guards for PM related functions
        watchdog: omap: Remove #ifdef guards for PM related functions
        watchdog: twl4030: Remove #ifdef guards for PM related functions
        watchdog: at91rm9200: Remove #ifdef guards for PM related functions
        watchdog: Add Advantech EC watchdog driver
        dt-bindings: watchdog: mediatek,mtk-wdt: Add compatible for MT8173
        dt-bindings: watchdog: mediatek,mtk-wdt: Add compatible for MT6795
        dt-bindings: watchdog: mediatek: Convert mtk-wdt to json-schema
        watchdog: mediatek: mt8188: add wdt support
        dt-bindings: reset: mt8188: add toprgu reset-controller header file
        dt-bindings: watchdog: Add compatible for MediaTek MT8188
        watchdog: mtk_wdt: Add support for MT6795 Helio X10 watchdog and toprgu
      b611996e
    • Linus Torvalds's avatar
      Merge tag 'leds-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds · 75caf594
      Linus Torvalds authored
      Pull LED updates from Pavel Machek:
       "Lee Jones offered his help with maintaining LEDs, thanks a lot.
      
        Plus, there are some bugfixes as a bonus"
      
      * tag 'leds-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds:
        leds: MAINTAINERS: include dt-bindings headers
        leds: qcom,pm8058-led: Convert to DT schema
        leds: use sysfs_emit() to instead of scnprintf()
        leds: is31fl319x: Fix setting current limit for is31fl319{0,1,3}
        MAINTAINERS: Add additional co-maintainer to LEDs
        leds: lp5523: fix out-of-bounds bug in lp5523_selftest()
        dt-bindings: leds: Add 'cpuX' to 'linux,default-trigger'
        led: qcom-lpg: Fix sleeping in atomic
        leds: max8997: Don't error if there is no pdata
        leds: lp55xx: remove variable j
        leds-pca955x: Remove the unused function pca95xx_num_led_regs()
      75caf594
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · ed56954c
      Linus Torvalds authored
      Pull rdma fixes from Jason Gunthorpe:
       "Fix two build warnings on 32 bit platforms
      
        It seems the linux-next CI and 0-day bot are not testing enough 32 bit
        configurations, as soon as you merged the rdma pull request there were
        two instant reports of warnings on these sytems that I would have
        thought should have been covered by time in linux-next
      
        Anyhow, here are the fixes so people don't hit problems with -Werror"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        RDMA/siw: Fix pointer cast warning
        RDMA/rxe: Fix compile warnings on 32-bit
      ed56954c
    • Linus Torvalds's avatar
      Merge tag 'gfs2-v6.1-rc7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 6830d503
      Linus Torvalds authored
      Pull gfs2 updtaes from Andreas Gruenbacher:
      
       - Revert a change to delete_work_func() that has gone wrong in commit
         c412a97c ("gfs2: Use TRY lock in gfs2_inode_lookup for UNLINKED
         inodes").
      
       - Avoid dequeuing GL_ASYNC glock holders twice by first checking if the
         holder is still queued.
      
       - gfs2: Always check the inode size of inline inodes when reading in
         inodes to prevent corrupt filesystem images from causing weid errors.
      
       - Properly handle a race between gfs2_create_inode() and
         gfs2_inode_lookup() that causes insert_inode_locked4() to return
         -EBUSY.
      
       - Fix and clean up the interaction between gfs2_create_inode() and
         gfs2_evict_inode() by completely handling the inode deallocation and
         destruction in gfs2_evict_inode().
      
       - Remove support for glock holder auto-demotion as we have no current
         plans of using this feature again.
      
       - And a few more minor cleanups and clarifications.
      
      * tag 'gfs2-v6.1-rc7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Remove support for glock holder auto-demotion (2)
        gfs2: Remove support for glock holder auto-demotion
        gfs2: Minor gfs2_try_evict cleanup
        gfs2: Partially revert gfs2_inode_lookup change
        gfs2: Add gfs2_inode_lookup comment
        gfs2: Uninline and improve glock_{set,clear}_object
        gfs2: Simply dequeue iopen glock in gfs2_evict_inode
        gfs2: Clean up after gfs2_create_inode rework
        gfs2: Avoid dequeuing GL_ASYNC glock holders twice
        gfs2: Make gfs2_glock_hold return its glock argument
        gfs2: Always check inode size of inline inodes
        gfs2: Cosmetic gfs2_dinode_{in,out} cleanup
        gfs2: Handle -EBUSY result of insert_inode_locked4
        gfs2: Fix and clean up create / evict interaction
        gfs2: Clean up initialization of "ip" in gfs2_create_inode
        gfs2: Get rid of ghs[] in gfs2_create_inode
        gfs2: Add extra error check in alloc_dinode
      6830d503
  2. 16 Dec, 2022 14 commits
    • Arnd Bergmann's avatar
      RDMA/siw: Fix pointer cast warning · 5244ca88
      Arnd Bergmann authored
      The previous build fix left a remaining issue in configurations with
      64-bit dma_addr_t on 32-bit architectures:
      
      drivers/infiniband/sw/siw/siw_qp_tx.c: In function 'siw_get_pblpage':
      drivers/infiniband/sw/siw/siw_qp_tx.c:32:37: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
         32 |                 return virt_to_page((void *)paddr);
            |                                     ^
      
      Use the same double cast here that the driver uses elsewhere to convert
      between dma_addr_t and void*.
      
      Fixes: 0d1b756a ("RDMA/siw: Pass a pointer to virt_to_page()")
      Link: https://lore.kernel.org/r/20221215170347.2612403-1-arnd@kernel.orgSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarBernard Metzler <bmt@zurich.ibm.com>
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      5244ca88
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 77856d91
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
      
       - Fix Kconfig dependencies to re-allow the enabling of function graph
         tracer and shadow call stacks at the same time.
      
       - Revert the workaround for CPU erratum #2645198 since the CONFIG_
         guards were incorrect and the code has therefore not seen any real
         exposure in -next.
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        Revert "arm64: errata: Workaround possible Cortex-A715 [ESR|FAR]_ELx corruption"
        ftrace: Allow WITH_ARGS flavour of graph tracer with shadow call stack
      77856d91
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v6.2-1-2022-12-16' of... · aa4800e3
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v6.2-1-2022-12-16' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tools updates from Arnaldo Carvalho de Melo:
       "Libraries:
      
         - Drop the old copy of libtraceevent in tools/lib/traceevent/ now
           that all major distros ship it from its external repository.
      
           This is now just another feature detection, emitting a warning when
           the libtraceevent-dev[el] package isn't installed, disabling the
           build of perf features and tools that strictly require parsing
           things from tracefs while keeping the core functionality present
           and working with a subset of the events, the most used ones like
           CPU cycles, hardware cache and also vendor events, etc.
      
           This was tested with lots of containers for Fedora, Debian,
           OpenSUSE, Alpine Linux, Ubuntu, with cross builds, etc.
      
        Build:
      
         - Update to C standard to gnu11, like was done for the kernel.
      
         - Install the tools/lib/ libraries locally instead of having headers
           searched directly from the source code directories, to help the
           cases where we can build either from in-kernel source libraries or
           from the same library shipped as a distro package, as is the case
           with libbpf and was the case with libtraceevent.
      
        perf stat:
      
         - Do not delay the workload with --delay, the delay is just for
           starting to count the events, to skip noise at workload startup.
      
         - When we have events for each cgroup, the metric should be printed
           for each cgroup separately.
      
              $ perf stat -a --for-each-cgroup system.slice,user.slice --metric-only sleep 1
      
              Performance counter stats for 'system wide':
      
                              GHz  insn per cycle  branch-misses of all branches
              system.slice  3.792      0.61                  3.24%
              user.slice    3.661      2.32                  0.37%
      
         - Fix printing field separator in CSV metrics output.
      
         - Fix --metric-only --json output.
      
         - Fix summary output in CSV with --metric-only.
      
         - Update event group check for support of uncore event.
      
        perf test:
      
         - Stop requiring a C toolchain in shell tests, instead add a workload
           option that has all the previously C snippets built as part of
           'perf test -w' that then get used in the 'perf test' shell scripts.
      
         - Add event group test for events in multiple PMUs
      
         - The "kernel lock contention analysis" test should not print
           warnings in quiet mode.
      
         - Add attr tests for ARM64's new VG register.
      
         - Fix record test on KVM guests, as using precise flag with the
           br_inst_retired.near_call event causes the test fail on KVM guests,
           even when the guests have PMU forwarding enabled and the event
           itself is supported, so just remove the precise flag from the
           event.
      
         - Add mechanism for skipping attr tests on specific kernel versions
           where it is known that these checks will fail.
      
         - Skip watchpoint tests if no watchpoints available.
      
         - Add more Intel PT 'perf test' entries: hybrid CPUs, split the
           packet decoder into a suite of subtests.
      
        perf script:
      
         - Introduce task analyzer python script, where one first records some events:
      
           Recording can be done in two ways:
      
              $ perf script record tasks-analyzer -- sleep 10
              $ perf record -e sched:sched_switch -a -- sleep 10
      
           The script can parse any perf.data files, as long as it has
           sched:sched_switch events, other events will be ignored.
      
           The most simple report use case is to just call the script without
           arguments.
      
           Runtime is the time the task was running on the CPU, Time Out-In is
           the time between the process being scheduled *out* and scheduled
           back *in*. So the last time span between two executions:
      
              $ perf script report tasks-analyzer
                  Switched-In     Switched-Out CPU    PID    TID             Comm  Runtime  Time Out-In
              15576.658891407  15576.659156086   4   2412   2428            gdbus      265         1949
              15576.659111320  15576.659455410   0   2412   2412      gnome-shell      344         2267
              15576.659491326  15576.659506173   2     74     74      kworker/2:1       15        13145
              15576.659506173  15576.659825748   2   2858   2858  gnome-terminal-      320        63263
              15576.659871270  15576.659902872   6  20932  20932    kworker/u16:0       32      2314582
              15576.659909951  15576.659945501   3  27264  27264               sh       36           -1
              15576.659853285  15576.659971052   7  27265  27265             perf      118      5050741
              [...]
      
        perf lock:
      
         - Allow concurrent record and report to support live monitoring of
           kernel lock contention without BPF:
      
              # perf lock record -a -o- sleep 1 | perf lock contention -i-
               contended   total wait     max wait     avg wait         type   caller
      
                       2     10.27 us      6.17 us      5.13 us     spinlock   load_balance+0xc03
                       1      5.29 us      5.29 us      5.29 us     rwlock:W   ep_scan_ready_list+0x54
                       1      4.12 us      4.12 us      4.12 us     spinlock   smpboot_thread_fn+0x116
                       1      3.28 us      3.28 us      3.28 us        mutex   pipe_read+0x50
      
         - Implement -t/--threads option when using BPF:
      
              $ sudo ./perf lock contention -abt -E 5 sleep 1
               contended  total wait   max wait   avg wait      pid  comm
      
                       1   740.66 ms  740.66 ms  740.66 ms     1950  nv_queue
                       3   305.50 ms  298.19 ms  101.83 ms     1884  nvidia-modeset/
                       1    25.14 us   25.14 us   25.14 us  2725038  EventManager_De
                      12    23.09 us    9.30 us    1.92 us        0  swapper
                       1    20.18 us   20.18 us   20.18 us  2725033  EventManager_De
      
         - Add -l/--lock-addr to aggregate per-lock-instance contention:
      
              $ sudo ./perf lock contention -abl sleep 1
               contended  total wait  max wait  avg wait           address  symbol
      
                       1    36.28 us  36.28 us  36.28 us  ffff92615d6448b8
                       9    10.91 us   1.84 us   1.21 us  ffffffffbaed50c0  rcu_state
                       1    10.49 us  10.49 us  10.49 us  ffff9262ac4f0c80
                       8     4.68 us   1.67 us    585 ns  ffffffffbae07a40  jiffies_lock
                       3     3.03 us   1.45 us   1.01 us  ffff9262277861e0
                       1      924 ns    924 ns    924 ns  ffff926095ba9d20
                       1      436 ns    436 ns    436 ns  ffff9260bfda4f60
      
        perf record:
      
         - Add remaining branch filters: "no_cycles", "no_flags" & "hw_index",
           to be used with hardware such as Intel's LBR that allows things
           like stitching stacks of two samples to overcome the limits of the
           number of LBR registers.
      
        Symbol resolution:
      
         - Handle .debug files created with 'objcopy --only-keep-debug', where
           program headers are zeroed and thus can't be used for adjustments,
           use the info in the runtime_ss (runtime ELF) instead.
      
        perf trace:
      
         - Add BPF based augmenter for the 'perf_event_open's 'struct
           perf_event_attr' argument.
      
         - Add BPF based augmenter for the 'clock_gettime's 'struct timespec'
           argument.
      
         - In both cases the syscall tracepoint has just the pointer value, we
           need to hook a BPF program to collect the pointer contents, and
           then, in userspace, pretty print it in 'perf trace'.
      
        perf list:
      
         - Introduce JSON output of events.
      
         - Streamline how the expression specifying what events should be
           shown is handled, fixing several corner cases, such as the metric
           filter that is specified as a glob but was using strstr().
      
        perf probe:
      
         - Fix to avoid crashing if DW_AT_decl_file is NULL, coping with clang
           generating DWARF5 like that.
      
         - Use dwarf_attr_integrate() as generic DWARF attr accessor as it
           supersedes dwarf_attr(), supporting abstact origin DIEs.
      
        perf inject:
      
         - Set PERF_RECORD_MISC_BUILD_ID_SIZE in the PERF_RECORD_HEADER_BUILD_ID
           so that perf.data readers can get the real build-id size and avoid
           trailing zeroes.
      
        perf data:
      
         - Add tracepoint fields when converting a perf.data file to JSON.
      
        arm64:
      
         - Fix mksyscalltbl, don't lose syscalls due to sort -nu.
      
         - Add Arm Neoverse V2 PMU events.
      
        riscv:
      
         - Add riscv sbi firmware std event files.
      
         - Add Sifive U74 vendor events (JSON) file.
      
         - Add some more events and metrics for Alderlake/Alderlake-N.
      
        Documentation:
      
         - Add data documentation for the PMU structs in the C source code.
      
        Miscellaneous:
      
         - Periodic sanitization of headers, adding missing includes, removing
           needless ones, creating new ones, etc.
      
         - Use sig_atomic_t for signal handlers to avoid undefined behaviour
           in all perf tools.
      
         - Fixes for libbpf 1.0+ compatibility (maps, etc) on 'perf trace' BPF
           examples.
      
         - Remove some old perf bpf examples, leave the best ones that
           demonstrate how to associate BPF functions to points in the kernel.
      
         - Make quiet mode consistent between tools.
      
         - Use dedicated non-atomic clear/set bit helpers.
      
         - Use "grep -E" instead of "egrep" as recommended by warning emitted
           by GNU grep since at least version 3.8.
      
         - Complete list of supported subcommands in the 'perf daemon' help
           message.
      
         - Update John Garry's email address for arm64 perf tooling on the
           MAINTAINERS file, he moved from Huawei to Oracle"
      
      * tag 'perf-tools-for-v6.2-1-2022-12-16' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (239 commits)
        libperf: Fix install_pkgconfig target
        perf tools: Use "grep -E" instead of "egrep"
        perf stat: Do not delay the workload with --delay
        perf evlist: Remove group option.
        perf build: Fix python/perf.so library's name
        perf test arm64: Add attr tests for new VG register
        perf test: Add mechanism for skipping attr tests on kernel versions
        perf test: Add mechanism for skipping attr tests on auxiliary vector values
        perf test: Add ability to test exit code for attr tests
        perf test: add new task-analyzer tests
        perf script: task-analyzer add csv support
        perf script: Introduce task analyzer python script
        perf cs-etm: Print auxtrace info even if OpenCSD isn't linked
        perf cs-etm: Cleanup cs_etm__process_auxtrace_info()
        perf cs-etm: Tidy up auxtrace info header printing
        perf cs-etm: Remove unused stub methods
        perf cs-etm: Print unknown header version as an error
        perf test: Update perf lock contention test
        perf lock contention: Add -l/--lock-addr option
        perf lock contention: Implement -t/--threads option for BPF
        ...
      aa4800e3
    • Linus Torvalds's avatar
      Fix mismerge due to devnode now taking a 'const *' device · dcde56bb
      Linus Torvalds authored
      This was a mismerge of a semantic conflict in my merge of the driver
      core updates, where commit ff62b8e6 ("driver core: make struct
      class.devnode() take a const *") changed the devnode function pointer
      type.  In the meantime, the drm tree I merged earlier had introduced a
      new use of that in commit 8bf48897 ("drivers/accel: define kconfig
      and register a new major").
      
      And of course this happens when I'm traveling with my laptop, and thus
      didn't do a full allmodconfig build between every pull and before
      pushing my work out.
      
      So I only noticed later as I was doing my full build.
      Brown-paper-bag-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Fixes: 71a7507a Merge tag 'driver-core-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-coreSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dcde56bb
    • Alexander Gordeev's avatar
      libperf: Fix install_pkgconfig target · 4ff17c44
      Alexander Gordeev authored
      Commit 47e02b94 ("tools lib perf: Add dependency test to install_headers")
      misses the notion of $(DESTDIR_SQ) for install_pkgconfig target, which leads to
      error:
      
        install: cannot create regular file '/usr/lib64/pkgconfig/libperf.pc': Permission denied
        make: *** [Makefile:210: install_pkgconfig] Error 1
      Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Josh Poimboeuf <jpoimboe@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nick Desaulniers <ndesaulniers@google.com>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Rix <trix@redhat.com>
      Cc: bpf@vger.kernel.org
      Cc: llvm@lists.linux.dev
      Link: http://lore.kernel.org/lkml/Y5w/cWKyb8vpNMfA@li-4a3a4a4c-28e5-11b2-a85c-a8d192c6f089.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4ff17c44
    • Arnaldo Carvalho de Melo's avatar
      Merge remote-tracking branch 'torvalds/master' into perf/core · 1a931707
      Arnaldo Carvalho de Melo authored
      To resolve a trivial merge conflict with c302378b ("libbpf:
      Hashmap interface update to allow both long and void* keys/values"),
      where a function present upstream was removed in the perf tools
      development tree.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1a931707
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 71a7507a
      Linus Torvalds authored
      Pull driver core updates from Greg KH:
       "Here is the set of driver core and kernfs changes for 6.2-rc1.
      
        The "big" change in here is the addition of a new macro,
        container_of_const() that will preserve the "const-ness" of a pointer
        passed into it.
      
        The "problem" of the current container_of() macro is that if you pass
        in a "const *", out of it can comes a non-const pointer unless you
        specifically ask for it. For many usages, we want to preserve the
        "const" attribute by using the same call. For a specific example, this
        series changes the kobj_to_dev() macro to use it, allowing it to be
        used no matter what the const value is. This prevents every subsystem
        from having to declare 2 different individual macros (i.e.
        kobj_const_to_dev() and kobj_to_dev()) and having the compiler enforce
        the const value at build time, which having 2 macros would not do
        either.
      
        The driver for all of this have been discussions with the Rust kernel
        developers as to how to properly mark driver core, and kobject,
        objects as being "non-mutable". The changes to the kobject and driver
        core in this pull request are the result of that, as there are lots of
        paths where kobjects and device pointers are not modified at all, so
        marking them as "const" allows the compiler to enforce this.
      
        So, a nice side affect of the Rust development effort has been already
        to clean up the driver core code to be more obvious about object
        rules.
      
        All of this has been bike-shedded in quite a lot of detail on lkml
        with different names and implementations resulting in the tiny version
        we have in here, much better than my original proposal. Lots of
        subsystem maintainers have acked the changes as well.
      
        Other than this change, included in here are smaller stuff like:
      
         - kernfs fixes and updates to handle lock contention better
      
         - vmlinux.lds.h fixes and updates
      
         - sysfs and debugfs documentation updates
      
         - device property updates
      
        All of these have been in the linux-next tree for quite a while with
        no problems"
      
      * tag 'driver-core-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (58 commits)
        device property: Fix documentation for fwnode_get_next_parent()
        firmware_loader: fix up to_fw_sysfs() to preserve const
        usb.h: take advantage of container_of_const()
        device.h: move kobj_to_dev() to use container_of_const()
        container_of: add container_of_const() that preserves const-ness of the pointer
        driver core: fix up missed drivers/s390/char/hmcdrv_dev.c class.devnode() conversion.
        driver core: fix up missed scsi/cxlflash class.devnode() conversion.
        driver core: fix up some missing class.devnode() conversions.
        driver core: make struct class.devnode() take a const *
        driver core: make struct class.dev_uevent() take a const *
        cacheinfo: Remove of_node_put() for fw_token
        device property: Add a blank line in Kconfig of tests
        device property: Rename goto label to be more precise
        device property: Move PROPERTY_ENTRY_BOOL() a bit down
        device property: Get rid of __PROPERTY_ENTRY_ARRAY_EL*SIZE*()
        kernfs: fix all kernel-doc warnings and multiple typos
        driver core: pass a const * into of_device_uevent()
        kobject: kset_uevent_ops: make name() callback take a const *
        kobject: kset_uevent_ops: make filter() callback take a const *
        kobject: make kobject_namespace take a const *
        ...
      71a7507a
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · ba54ff1f
      Linus Torvalds authored
      Pull char/misc driver updates from Greg KH:
       "Here is the large set of char/misc and other driver subsystem changes
        for 6.2-rc1. Nothing earth-shattering in here at all, just a lot of
        new driver development and minor fixes.
      
        Highlights include:
      
         - fastrpc driver updates
      
         - iio new drivers and updates
      
         - habanalabs driver updates for new hardware and features
      
         - slimbus driver updates
      
         - speakup module parameters added to aid in boot time configuration
      
         - i2c probe_new conversions for lots of different drivers
      
         - other small driver fixes and additions
      
        One semi-interesting change in here is the increase of the number of
        misc dynamic minors available to 1048448 to handle new huge-cpu
        systems.
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'char-misc-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (521 commits)
        extcon: usbc-tusb320: Convert to i2c's .probe_new()
        extcon: rt8973: Convert to i2c's .probe_new()
        extcon: fsa9480: Convert to i2c's .probe_new()
        extcon: max77843: Replace irqchip mask_invert with unmask_base
        chardev: fix error handling in cdev_device_add()
        mcb: mcb-parse: fix error handing in chameleon_parse_gdd()
        drivers: mcb: fix resource leak in mcb_probe()
        coresight: etm4x: fix repeated words in comments
        coresight: cti: Fix null pointer error on CTI init before ETM
        coresight: trbe: remove cpuhp instance node before remove cpuhp state
        counter: stm32-lptimer-cnt: fix the check on arr and cmp registers update
        misc: fastrpc: Add dma_mask to fastrpc_channel_ctx
        misc: fastrpc: Add mmap request assigning for static PD pool
        misc: fastrpc: Safekeep mmaps on interrupted invoke
        misc: fastrpc: Add support for audiopd
        misc: fastrpc: Rework fastrpc_req_munmap
        misc: fastrpc: Use fastrpc_map_put in fastrpc_map_create on fail
        misc: fastrpc: Add fastrpc_remote_heap_alloc
        misc: fastrpc: Add reserved mem support
        misc: fastrpc: Rename audio protection domain to root
        ...
      ba54ff1f
    • Linus Torvalds's avatar
      Merge tag 'tty-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · dd6f9b17
      Linus Torvalds authored
      Pull tty/serial driver updates from Greg KH:
       "Here is the "big" set of tty/serial driver changes for 6.2-rc1.
      
        As in previous kernel releases, nothing big here at all, just some
        small incremental serial/tty layer cleanups and some individual driver
        additions and fixes. Highlights are:
      
         - serial helper macros from Jiri Slaby to reduce the amount of
           duplicated code in serial drivers
      
         - api cleanups and consolidations from Ilpo Järvinen in lots of
           serial drivers
      
         - the usual set of n_gsm fixes from Daniel Starke as that code gets
           exercised more
      
         - TIOCSTI is finally able to be disabled if requested (security
           hardening feature from Kees Cook)
      
         - fsl_lpuart driver fixes and features added
      
         - other small serial driver additions and fixes
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'tty-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (97 commits)
        serial: atmel: don't stop the transmitter when doing PIO
        serial: atmel: cleanup atmel_start+stop_tx()
        tty: serial: fsl_lpuart: switch to new dmaengine_terminate_* API
        serial: sunsab: Fix error handling in sunsab_init()
        serial: altera_uart: fix locking in polling mode
        serial: pch: Fix PCI device refcount leak in pch_request_dma()
        tty: serial: fsl_lpuart: Use pm_ptr() to avoid need to make pm __maybe_unused
        tty: serial: fsl_lpuart: Add runtime pm support
        tty: serial: fsl_lpuart: enable wakeup source for lpuart
        serdev: Replace poll loop by readx_poll_timeout() macro
        tty: synclink_gt: unwind actions in error path of net device open
        serial: stm32: move dma_request_chan() before clk_prepare_enable()
        dt-bindings: serial: xlnx,opb-uartlite: Drop 'contains' from 'xlnx,use-parity'
        serial: pl011: Do not clear RX FIFO & RX interrupt in unthrottle.
        serial: amba-pl011: avoid SBSA UART accessing DMACR register
        tty: serial: altera_jtaguart: remove struct altera_jtaguart
        tty: serial: altera_jtaguart: use uart_port::read_status_mask
        tty: serial: altera_jtaguart: remove unused altera_jtaguart::sigs
        tty: serial: altera_jtaguart: remove flag from altera_jtaguart_rx_chars()
        n_tty: Rename tail to old_tail in n_tty_read()
        ...
      dd6f9b17
    • Linus Torvalds's avatar
      Merge tag 'staging-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · b83a7080
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here is the large set of staging driver changes for 6.2-rc1.
      
        Another round of cleanups for staging drivers with no big additions.
        Overall more lines were removed than added, always a nice sign, with
        nothing happening in here other than general coding style cleanups and
        minor fixes in the drivers. Full, boring, details are in the shortlog.
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'staging-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (253 commits)
        vme: Use root_device_register() not underlined version
        staging: rtl8192e: Fix spelling mistake "ContryIE" -> "CountryIE"
        vme: Fix error not catched in fake_init()
        staging: vme_user: remove multiple blank lines
        staging: r8188eu: use subtype helper in rtw_check_bcn_info
        staging: r8188eu: use subtype helpers in collect_bss_info
        staging: r8188eu: remove unused da parameter
        staging: r8188eu: merge two probereq_p2p functions
        staging: r8188eu: simplify err handling for unknown station
        staging: r8188eu: handle the non-ap case first
        staging: r8188eu: move bBusyTraffic update
        staging: r8188eu: read reason code from ieee80211_mgmt
        staging: r8188eu: use ieee80211_mgmt to parse addresses
        staging: r8188eu: remove a variable
        staging: r8188eu: simplify error handling for missing station
        staging: r8188eu: stop beacon processing if kmalloc fails
        staging: r8188eu: exit if beacon is not from our bss
        staging: r8188eu: simplify update_sta_support_rate params
        staging: r8188eu: use ie buffer in update_beacon_info
        staging: r8188eu: pass only ies to process_p2p_ps_ie
        ...
      b83a7080
    • Linus Torvalds's avatar
      Merge tag 'usb-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 58bcac11
      Linus Torvalds authored
      Pull USB and Thunderbolt driver updates from Greg KH:
       "Here is the large set of USB and Thunderbolt driver changes for
        6.2-rc1. Overall, thanks to the removal of a driver, more lines were
        removed than added, a nice change. Highlights include:
      
         - removal of the sisusbvga driver that was not used by anyone anymore
      
         - minor thunderbolt driver changes and tweaks
      
         - chipidea driver updates
      
         - usual set of typec driver features and hardware support added
      
         - musb minor driver fixes
      
         - fotg210 driver fixes, bringing that hardware back from the "dead"
      
         - minor dwc3 driver updates
      
         - addition, and then removal, of a list.h helper function for many
           USB and other subsystem drivers, that ended up breaking the build.
           That will come back for 6.3-rc1, it missed this merge window.
      
         - usual xhci updates and enhancements
      
         - usb-serial driver updates and support for new devices
      
         - other minor USB driver updates
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'usb-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (153 commits)
        usb: gadget: uvc: Rename bmInterfaceFlags -> bmInterlaceFlags
        usb: dwc2: power on/off phy for peripheral mode in dual-role mode
        usb: dwc2: disable lpm feature on Rockchip SoCs
        dt-bindings: usb: mtk-xhci: add support for mt7986
        usb: dwc3: core: defer probe on ulpi_read_id timeout
        usb: ulpi: defer ulpi_register on ulpi_read_id timeout
        usb: misc: onboard_usb_hub: add Genesys Logic GL850G hub support
        dt-bindings: usb: Add binding for Genesys Logic GL850G hub controller
        dt-bindings: vendor-prefixes: add Genesys Logic
        usb: fotg210-udc: fix potential memory leak in fotg210_udc_probe()
        usb: typec: tipd: Set mode of operation for USB Type-C connector
        usb: gadget: udc: drop obsolete dependencies on COMPILE_TEST
        usb: musb: remove extra check in musb_gadget_vbus_draw
        usb: gadget: uvc: Prevent buffer overflow in setup handler
        usb: dwc3: qcom: Fix memory leak in dwc3_qcom_interconnect_init
        usb: typec: wusb3801: fix fwnode refcount leak in wusb3801_probe()
        usb: storage: Add check for kcalloc
        USB: sisusbvga: use module_usb_driver()
        USB: sisusbvga: rename sisusb.c to sisusbvga.c
        USB: sisusbvga: remove console support
        ...
      58bcac11
    • Linus Torvalds's avatar
      Merge tag 'exfat-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat · 84e57d29
      Linus Torvalds authored
      Pull exfat update from Namjae Jeon:
      
       - simplify and remove some redundant directory entry code
      
       - optimize the size of exfat_entry_set_cache and its allocation policy
      
       - improve the performance for creating files and directories
      
      * tag 'exfat-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat:
        exfat: reuse exfat_find_location() to simplify exfat_get_dentry_set()
        exfat: fix overflow in sector and cluster conversion
        exfat: remove i_size_write() from __exfat_truncate()
        exfat: remove argument 'size' from exfat_truncate()
        exfat: remove unnecessary arguments from exfat_find_dir_entry()
        exfat: remove unneeded codes from __exfat_rename()
        exfat: remove call ilog2() from exfat_readdir()
        exfat: replace magic numbers with Macros
        exfat: rename exfat_free_dentry_set() to exfat_put_dentry_set()
        exfat: move exfat_entry_set_cache from heap to stack
        exfat: support dynamic allocate bh for exfat_entry_set_cache
        exfat: reduce the size of exfat_entry_set_cache
        exfat: hint the empty entry which at the end of cluster chain
        exfat: simplify empty entry hint
      84e57d29
    • Linus Torvalds's avatar
      Merge tag 'for-6.2/writeback-2022-12-12' of git://git.kernel.dk/linux · 23dc9c75
      Linus Torvalds authored
      Pull writeback updates from Jens Axboe:
      
       - Sanity check adding freed inodes to lists (Jan)
      
       - Removal of an old unused define (Miaohe)
      
      * tag 'for-6.2/writeback-2022-12-12' of git://git.kernel.dk/linux:
        writeback: remove obsolete macro EXPIRE_DIRTY_ATIME
        writeback: Add asserts for adding freed inode to lists
      23dc9c75
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · fe36bb87
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
      
       - Add options to the osnoise tracer:
            - 'panic_on_stop' option that panics the kernel if osnoise is
              greater than some user defined threshold.
            - 'preempt' option, to test noise while preemption is disabled
            - 'irq' option, to test noise when interrupts are disabled
      
       - Add .percent and .graph suffix to histograms to give different
         outputs
      
       - Add nohitcount to disable showing hitcount in histogram output
      
       - Add new __cpumask() to trace event fields to annotate that a unsigned
         long array is a cpumask to user space and should be treated as one.
      
       - Add trace_trigger kernel command line parameter to enable trace event
         triggers at boot up. Useful to trace stack traces, disable tracing
         and take snapshots.
      
       - Fix x86/kmmio mmio tracer to work with the updates to lockdep
      
       - Unify the panic and die notifiers
      
       - Add back ftrace_expect reference that is used to extract more
         information in the ftrace_bug() code.
      
       - Have trigger filter parsing errors show up in the tracing error log.
      
       - Updated MAINTAINERS file to add kernel tracing mailing list and
         patchwork info
      
       - Use IDA to keep track of event type numbers.
      
       - And minor fixes and clean ups
      
      * tag 'trace-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: (44 commits)
        tracing: Fix cpumask() example typo
        tracing: Improve panic/die notifiers
        ftrace: Prevent RCU stall on PREEMPT_VOLUNTARY kernels
        tracing: Do not synchronize freeing of trigger filter on boot up
        tracing: Remove pointer (asterisk) and brackets from cpumask_t field
        tracing: Have trigger filter parsing errors show up in error_log
        x86/mm/kmmio: Remove redundant preempt_disable()
        tracing: Fix infinite loop in tracing_read_pipe on overflowed print_trace_line
        Documentation/osnoise: Add osnoise/options documentation
        tracing/osnoise: Add preempt and/or irq disabled options
        tracing/osnoise: Add PANIC_ON_STOP option
        Documentation/osnoise: Escape underscore of NO_ prefix
        tracing: Fix some checker warnings
        tracing/osnoise: Make osnoise_options static
        tracing: remove unnecessary trace_trigger ifdef
        ring-buffer: Handle resize in early boot up
        tracing/hist: Fix issue of losting command info in error_log
        tracing: Fix issue of missing one synthetic field
        tracing/hist: Fix out-of-bound write on 'action_data.var_ref_idx'
        tracing/hist: Fix wrong return value in parse_action_params()
        ...
      fe36bb87
  3. 15 Dec, 2022 15 commits
    • Linus Torvalds's avatar
      Merge tag '6.2-rc-smb3-client-fixes-part1' of git://git.samba.org/sfrench/cifs-2.6 · 851f657a
      Linus Torvalds authored
      Pull cifs client updates from Steve French:
      
       - SMB3.1.1 POSIX Extensions fixes
      
       - remove use of generic_writepages() and ->cifs_writepage(), in favor
         of ->cifs_writepages() and ->migrate_folio()
      
       - memory management fixes
      
       - mount parm parsing fixes
      
       - minor cleanup fixes
      
      * tag '6.2-rc-smb3-client-fixes-part1' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: Remove duplicated include in cifsglob.h
        cifs: fix oops during encryption
        cifs: print warning when conflicting soft vs. hard mount options specified
        cifs: fix missing display of three mount options
        cifs: fix various whitespace errors in headers
        cifs: minor cleanup of some headers
        cifs: skip alloc when request has no pages
        cifs: remove ->writepage
        cifs: stop using generic_writepages
        cifs: wire up >migrate_folio
        cifs: Parse owner/group for stat in smb311 posix extensions
        cifs: Add "extbuf" and "extbuflen" args to smb2_compound_op()
        Fix path in cifs/usage.rst
      851f657a
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · ec9187ec
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "Core got a new helper 'i2c_client_get_device_id()', designware got
        some bigger updates, the rest is driver updates all over the place"
      
      * tag 'i2c-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (41 commits)
        i2c: ismt: Fix an out-of-bounds bug in ismt_access()
        i2c: mux: reg: check return value after calling platform_get_resource()
        i2c: xiic: Make sure to disable clock on .remove()
        i2c: hisi: Add support to get clock frequency from clock
        i2c: pxa-pci: fix missing pci_disable_device() on error in ce4100_i2c_probe
        i2c: slave-eeprom: Convert to i2c's .probe_new()
        i2c: mux: pca954x: Convert to i2c's .probe_new()
        drivers/i2c: use simple i2c probe
        i2c: mux: pca9541: switch to using .probe_new
        i2c: gpio: Fix potential unused warning for 'i2c_gpio_dt_ids'
        i2c: qcom-geni: add support for I2C Master Hub variant
        i2c: qcom-geni: add desc struct to prepare support for I2C Master Hub variant
        soc: qcom: geni-se: add support for I2C Master Hub wrapper variant
        soc: qcom: geni-se: add desc struct to specify clocks from device match data
        dt-bindings: i2c: qcom-geni: document I2C Master Hub serial I2C engine
        dt-bindings: qcom: geni-se: document I2C Master Hub wrapper variant
        dt-bindings: i2c: renesas,riic: Document RZ/Five SoC
        i2c: tegra: Set ACPI node as primary fwnode
        i2c: smbus: add DDR support for SPD
        i2c: /pasemi: PASemi I2C controller IRQ enablement
        ...
      ec9187ec
    • Linus Torvalds's avatar
      Merge tag 'vfio-v6.2-rc1' of https://github.com/awilliam/linux-vfio · 785d21ba
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - Replace deprecated git://github.com link in MAINTAINERS (Palmer
         Dabbelt)
      
       - Simplify vfio/mlx5 with module_pci_driver() helper (Shang XiaoJing)
      
       - Drop unnecessary buffer from ACPI call (Rafael Mendonca)
      
       - Correct latent missing include issue in iova-bitmap and fix support
         for unaligned bitmaps. Follow-up with better fix through refactor
         (Joao Martins)
      
       - Rework ccw mdev driver to split private data from parent structure,
         better aligning with the mdev lifecycle and allowing us to remove a
         temporary workaround (Eric Farman)
      
       - Add an interface to get an estimated migration data size for a
         device, allowing userspace to make informed decisions, ex. more
         accurately predicting VM downtime (Yishai Hadas)
      
       - Fix minor typo in vfio/mlx5 array declaration (Yishai Hadas)
      
       - Simplify module and Kconfig through consolidating SPAPR/EEH code and
         config options and folding virqfd module into main vfio module (Jason
         Gunthorpe)
      
       - Fix error path from device_register() across all vfio mdev and sample
         drivers (Alex Williamson)
      
       - Define migration pre-copy interface and implement for vfio/mlx5
         devices, allowing portions of the device state to be saved while the
         device continues operation, towards reducing the stop-copy state size
         (Jason Gunthorpe, Yishai Hadas, Shay Drory)
      
       - Implement pre-copy for hisi_acc devices (Shameer Kolothum)
      
       - Fixes to mdpy mdev driver remove path and error path on probe (Shang
         XiaoJing)
      
       - vfio/mlx5 fixes for incorrect return after copy_to_user() fault and
         incorrect buffer freeing (Dan Carpenter)
      
      * tag 'vfio-v6.2-rc1' of https://github.com/awilliam/linux-vfio: (42 commits)
        vfio/mlx5: error pointer dereference in error handling
        vfio/mlx5: fix error code in mlx5vf_precopy_ioctl()
        samples: vfio-mdev: Fix missing pci_disable_device() in mdpy_fb_probe()
        hisi_acc_vfio_pci: Enable PRE_COPY flag
        hisi_acc_vfio_pci: Move the dev compatibility tests for early check
        hisi_acc_vfio_pci: Introduce support for PRE_COPY state transitions
        hisi_acc_vfio_pci: Add support for precopy IOCTL
        vfio/mlx5: Enable MIGRATION_PRE_COPY flag
        vfio/mlx5: Fallback to STOP_COPY upon specific PRE_COPY error
        vfio/mlx5: Introduce multiple loads
        vfio/mlx5: Consider temporary end of stream as part of PRE_COPY
        vfio/mlx5: Introduce vfio precopy ioctl implementation
        vfio/mlx5: Introduce SW headers for migration states
        vfio/mlx5: Introduce device transitions of PRE_COPY
        vfio/mlx5: Refactor to use queue based data chunks
        vfio/mlx5: Refactor migration file state
        vfio/mlx5: Refactor MKEY usage
        vfio/mlx5: Refactor PD usage
        vfio/mlx5: Enforce a single SAVE command at a time
        vfio: Extend the device migration protocol with PRE_COPY
        ...
      785d21ba
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 8fa590bf
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "ARM64:
      
         - Enable the per-vcpu dirty-ring tracking mechanism, together with an
           option to keep the good old dirty log around for pages that are
           dirtied by something other than a vcpu.
      
         - Switch to the relaxed parallel fault handling, using RCU to delay
           page table reclaim and giving better performance under load.
      
         - Relax the MTE ABI, allowing a VMM to use the MAP_SHARED mapping
           option, which multi-process VMMs such as crosvm rely on (see merge
           commit 382b5b87: "Fix a number of issues with MTE, such as
           races on the tags being initialised vs the PG_mte_tagged flag as
           well as the lack of support for VM_SHARED when KVM is involved.
           Patches from Catalin Marinas and Peter Collingbourne").
      
         - Merge the pKVM shadow vcpu state tracking that allows the
           hypervisor to have its own view of a vcpu, keeping that state
           private.
      
         - Add support for the PMUv3p5 architecture revision, bringing support
           for 64bit counters on systems that support it, and fix the
           no-quite-compliant CHAIN-ed counter support for the machines that
           actually exist out there.
      
         - Fix a handful of minor issues around 52bit VA/PA support (64kB
           pages only) as a prefix of the oncoming support for 4kB and 16kB
           pages.
      
         - Pick a small set of documentation and spelling fixes, because no
           good merge window would be complete without those.
      
        s390:
      
         - Second batch of the lazy destroy patches
      
         - First batch of KVM changes for kernel virtual != physical address
           support
      
         - Removal of a unused function
      
        x86:
      
         - Allow compiling out SMM support
      
         - Cleanup and documentation of SMM state save area format
      
         - Preserve interrupt shadow in SMM state save area
      
         - Respond to generic signals during slow page faults
      
         - Fixes and optimizations for the non-executable huge page errata
           fix.
      
         - Reprogram all performance counters on PMU filter change
      
         - Cleanups to Hyper-V emulation and tests
      
         - Process Hyper-V TLB flushes from a nested guest (i.e. from a L2
           guest running on top of a L1 Hyper-V hypervisor)
      
         - Advertise several new Intel features
      
         - x86 Xen-for-KVM:
      
            - Allow the Xen runstate information to cross a page boundary
      
            - Allow XEN_RUNSTATE_UPDATE flag behaviour to be configured
      
            - Add support for 32-bit guests in SCHEDOP_poll
      
         - Notable x86 fixes and cleanups:
      
            - One-off fixes for various emulation flows (SGX, VMXON, NRIPS=0).
      
            - Reinstate IBPB on emulated VM-Exit that was incorrectly dropped
              a few years back when eliminating unnecessary barriers when
              switching between vmcs01 and vmcs02.
      
            - Clean up vmread_error_trampoline() to make it more obvious that
              params must be passed on the stack, even for x86-64.
      
            - Let userspace set all supported bits in MSR_IA32_FEAT_CTL
              irrespective of the current guest CPUID.
      
            - Fudge around a race with TSC refinement that results in KVM
              incorrectly thinking a guest needs TSC scaling when running on a
              CPU with a constant TSC, but no hardware-enumerated TSC
              frequency.
      
            - Advertise (on AMD) that the SMM_CTL MSR is not supported
      
            - Remove unnecessary exports
      
        Generic:
      
         - Support for responding to signals during page faults; introduces
           new FOLL_INTERRUPTIBLE flag that was reviewed by mm folks
      
        Selftests:
      
         - Fix an inverted check in the access tracking perf test, and restore
           support for asserting that there aren't too many idle pages when
           running on bare metal.
      
         - Fix build errors that occur in certain setups (unsure exactly what
           is unique about the problematic setup) due to glibc overriding
           static_assert() to a variant that requires a custom message.
      
         - Introduce actual atomics for clear/set_bit() in selftests
      
         - Add support for pinning vCPUs in dirty_log_perf_test.
      
         - Rename the so called "perf_util" framework to "memstress".
      
         - Add a lightweight psuedo RNG for guest use, and use it to randomize
           the access pattern and write vs. read percentage in the memstress
           tests.
      
         - Add a common ucall implementation; code dedup and pre-work for
           running SEV (and beyond) guests in selftests.
      
         - Provide a common constructor and arch hook, which will eventually
           be used by x86 to automatically select the right hypercall (AMD vs.
           Intel).
      
         - A bunch of added/enabled/fixed selftests for ARM64, covering
           memslots, breakpoints, stage-2 faults and access tracking.
      
         - x86-specific selftest changes:
      
            - Clean up x86's page table management.
      
            - Clean up and enhance the "smaller maxphyaddr" test, and add a
              related test to cover generic emulation failure.
      
            - Clean up the nEPT support checks.
      
            - Add X86_PROPERTY_* framework to retrieve multi-bit CPUID values.
      
            - Fix an ordering issue in the AMX test introduced by recent
              conversions to use kvm_cpu_has(), and harden the code to guard
              against similar bugs in the future. Anything that tiggers
              caching of KVM's supported CPUID, kvm_cpu_has() in this case,
              effectively hides opt-in XSAVE features if the caching occurs
              before the test opts in via prctl().
      
        Documentation:
      
         - Remove deleted ioctls from documentation
      
         - Clean up the docs for the x86 MSR filter.
      
         - Various fixes"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (361 commits)
        KVM: x86: Add proper ReST tables for userspace MSR exits/flags
        KVM: selftests: Allocate ucall pool from MEM_REGION_DATA
        KVM: arm64: selftests: Align VA space allocator with TTBR0
        KVM: arm64: Fix benign bug with incorrect use of VA_BITS
        KVM: arm64: PMU: Fix period computation for 64bit counters with 32bit overflow
        KVM: x86: Advertise that the SMM_CTL MSR is not supported
        KVM: x86: remove unnecessary exports
        KVM: selftests: Fix spelling mistake "probabalistic" -> "probabilistic"
        tools: KVM: selftests: Convert clear/set_bit() to actual atomics
        tools: Drop "atomic_" prefix from atomic test_and_set_bit()
        tools: Drop conflicting non-atomic test_and_{clear,set}_bit() helpers
        KVM: selftests: Use non-atomic clear/set bit helpers in KVM tests
        perf tools: Use dedicated non-atomic clear/set bit helpers
        tools: Take @bit as an "unsigned long" in {clear,set}_bit() helpers
        KVM: arm64: selftests: Enable single-step without a "full" ucall()
        KVM: x86: fix APICv/x2AVIC disabled when vm reboot by itself
        KVM: Remove stale comment about KVM_REQ_UNHALT
        KVM: Add missing arch for KVM_CREATE_DEVICE and KVM_{SET,GET}_DEVICE_ATTR
        KVM: Reference to kvm_userspace_memory_region in doc and comments
        KVM: Delete all references to removed KVM_SET_MEMORY_ALIAS ioctl
        ...
      8fa590bf
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.2-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 057b40f4
      Linus Torvalds authored
      Pull more ACPI updates from Rafael Wysocki:
       "These fix an AML byte code execution issue in ACPICA and two issues in
        the ACPI EC driver which requires rearranging ACPICA code.
      
        Specifics:
      
         - Avoid trying to resolve operands in AML when there are none
           (Amadeusz Sławiński)
      
         - Fix indentation in include/acpi/acpixf.h to help applying patches
           from the upstream ACPICA git (Hans de Goede)
      
         - Make it possible to install an address space handler without
           evaluating _REG for Operation Regions in the given address space
           (Hans de Goede)
      
         - Defer the evaluation of _REG for ECDT described ECs till the
           matching EC device in the DSDT gets parsed and acpi_ec_add() gets
           called for it (Hans de Goede)
      
         - Fix EC address space handler unregistration (Hans de Goede)"
      
      * tag 'acpi-6.2-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: EC: Fix ECDT probe ordering issues
        ACPI: EC: Fix EC address space handler unregistration
        ACPICA: Allow address_space_handler Install and _REG execution as 2 separate steps
        ACPICA: include/acpi/acpixf.h: Fix indentation
        ACPICA: Fix operand resolution
      057b40f4
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.2-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 601c1aa8
      Linus Torvalds authored
      Pull more thermal control updates from Rafael Wysocki:
       "These are updates of assorted thermal drivers, mostly for ARM
        platforms, generally isolated and fairly straightforward, and the
        recent Intel HFI driver fix for systems without HFI support.
      
        Specifics:
      
         - Avoid clearing the HFI status bit on systems without HFI support
           which triggers unchecked MSR access errors (Srinivas Pandruvada)
      
         - Add sm8450 and sm8550 QCom compatible string to DT bindings (Luca
           Weiss, Neil Armstrong)
      
         - Use devm_platform_get_and_ioremap_resource on the ST platform to
           group two calls into a single one (Minghao Chi)
      
         - Use GENMASK instead of bitmaps and validate the temperature after
           reading it in the imx8mm_thermal driver (Marcus Folkesson)
      
         - Convert generic-adc-thermal to DT schema (Rob Herring)
      
         - Fix debug print message with inverted logic in the k3_j72xx_bandgap
           driver (Keerthy)
      
         - Fix memory leak on thermal_of_zone_register() failure (Ido
           Schimmel)
      
         - Add support for IPQ8074 in the tsens thermal driver along with the
           DT bindings (Robert Marko)
      
         - Fix and rework the debugfs code in the tsens driver (Christian
           Marangi)
      
         - Add calibration and DT documentation for the imx8mm driver (Marek
           Vasut)
      
         - Add DT bindings and compatible for the Mediatek SoCs mt7981 and
           mt7983 (Daniel Golle)
      
         - Don't show an error message if it happens at probe time while it
           will be deferred on the QCom SPMI ADC driver (Johan Hovold)
      
         - Add HWMon support for the imx8mm board (Alexander Stein)
      
         - Remove pointless include from the power allocator governor
           (Christophe JAILLET)
      
         - Add interrupt DT bindings for QCom SoCs SC8280XP, SM6350 and SM8450
           (Krzysztof Kozlowski)
      
         - Fix inaccurate warning message for the QCom tsens gen2 (Luca Weiss)
      
         - Demote error log of thermal zone register to debug in the tsens
           QCom driver (Manivannan Sadhasivam)
      
         - Consolidate the the efuse values and the errata handling in the TI
           Bandgap driver (Bryan Brattlof)
      
         - Document Renesas RZ/Five as compatible with RZ/G2UL in the DT
           bindings (Lad Prabhakar)
      
         - Fix the irq handler return value in the LMh driver (Bjorn
           Andersson)
      
         - Delete empty platform remove callback from imx_sc_thermal (Uwe
           Kleine-König)"
      
      * tag 'thermal-6.2-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (35 commits)
        thermal/drivers/imx_sc_thermal: Drop empty platform remove function
        thermal/drivers/qcom/lmh: Fix irq handler return value
        dt-bindings: thermal: qcom-tsens: Add compatible for sm8550
        thermal/drivers/st: Use devm_platform_get_and_ioremap_resource()
        dt-bindings: thermal: rzg2l-thermal: Document RZ/Five SoC
        dt-bindings: thermal: k3-j72xx: conditionally require efuse reg range
        dt-bindings: thermal: k3-j72xx: elaborate on binding description
        thermal/drivers/k3_j72xx_bandgap: Map fuse_base only for erratum workaround
        thermal/drivers/k3_j72xx_bandgap: Remove fuse_base from structure
        thermal/drivers/k3_j72xx_bandgap: Use bool for i2128 erratum flag
        thermal/drivers/k3_j72xx_bandgap: Simplify k3_thermal_get_temp() function
        thermal/drivers/qcom: Demote error log of thermal zone register to debug
        thermal/drivers/qcom/temp-alarm: Fix inaccurate warning for gen2
        dt-bindings: thermal: qcom-tsens: narrow interrupts for SC8280XP, SM6350 and SM8450
        thermal/core/power allocator: Remove a useless include
        thermal/drivers/imx8mm: Add hwmon support
        thermal: qcom-spmi-adc-tm5: suppress probe-deferral error message
        dt-bindings: thermal: mediatek: add compatible string for MT7986 and MT7981 SoC
        thermal: ti-soc-thermal: Drop comma after SoC match table sentinel
        thermal/drivers/imx: Add support for loading calibration data from OCOTP
        ...
      601c1aa8
    • Will Deacon's avatar
      Revert "arm64: errata: Workaround possible Cortex-A715 [ESR|FAR]_ELx corruption" · c0cd1d54
      Will Deacon authored
      This reverts commit 44ecda71.
      
      All versions of this patch on the mailing list, including the version
      that ended up getting merged, have portions of code guarded by the
      non-existent CONFIG_ARM64_WORKAROUND_2645198 option. Although Anshuman
      says he tested the code with some additional debug changes [1], I'm
      hesitant to fix the CONFIG option and light up a bunch of code right
      before I (and others) disappear for the end of year holidays, during
      which time we won't be around to deal with any fallout.
      
      So revert the change for now. We can bring back a fixed, tested version
      for a later -rc when folks are thinking about things other than trees
      and turkeys.
      
      [1] https://lore.kernel.org/r/b6f61241-e436-5db1-1053-3b441080b8d6@arm.comReported-by: default avatarLukas Bulwahn <lukas.bulwahn@gmail.com>
      Link: https://lore.kernel.org/r/20221215094811.23188-1-lukas.bulwahn@gmail.comSigned-off-by: default avatarWill Deacon <will@kernel.org>
      c0cd1d54
    • Linus Torvalds's avatar
      Merge tag 'gpio-updates-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · c0f234ff
      Linus Torvalds authored
      Pull gpio updates from Bartosz Golaszewski:
       "We have a new GPIO multiplexer driver, bunch of driver updates and
        refactoring in the core GPIO library.
      
        GPIO core:
         - teach gpiolib to work with software nodes for HW description
         - remove ARCH_NR_GPIOS treewide as we no longer impose any limit on
           the number of GPIOS since the allocation became entirely dynamic
         - add support for HW quirks for Cirrus CS42L56 codec, Marvell NFC
           controller, Freescale PCIe and Ethernet controller, Himax LCDs and
           Mediatek mt2701
         - refactor OF quirk code
         - some general refactoring of the OF and ACPI code, adding new
           helpers, minor tweaks and fixes, making fwnode usage consistent
           etc.
      
        GPIO uAPI:
         - fix an issue where the user-space can trigger a NULL-pointer
           dereference in the kernel by opening a device file, forcing a
           driver unbind and then calling one of the syscalls on the
           associated file descriptor
      
        New drivers:
         - add gpio-latch: a new GPIO multiplexer based on latches connected
           to other GPIOs
      
        Driver updates:
         - convert i2c GPIO expanders to using .probe_new()
         - drop the gpio-sta2x11 driver
         - factor out common code for the ACCES IDIO-16 family of controllers
           and use this new library wherever applicable in drivers
         - add DT support to gpio-hisi
         - allow building gpio-davinci as a module and increase its maxItems
           property
         - add support for a new model to gpio-pca9570
         - other minor changes to various drivers"
      
      * tag 'gpio-updates-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (66 commits)
        gpio: sim: set a limit on the number of GPIOs
        gpiolib: protect the GPIO device against being dropped while in use by user-space
        gpiolib: cdev: fix NULL-pointer dereferences
        gpiolib: Provide to_gpio_device() helper
        gpiolib: Unify access to the device properties
        gpio: Do not include <linux/kernel.h> when not really needed.
        gpio: pcf857x: Convert to i2c's .probe_new()
        gpio: pca953x: Convert to i2c's .probe_new()
        gpio: max732x: Convert to i2c's .probe_new()
        dt-bindings: gpio: gpio-davinci: Increase maxItems in gpio-line-names
        gpiolib: ensure that fwnode is properly set
        gpio: sl28cpld: Replace irqchip mask_invert with unmask_base
        gpiolib: of: Use correct fwnode for DT-probed chips
        gpiolib: of: Drop redundant check in of_mm_gpiochip_remove()
        gpiolib: of: Prepare of_mm_gpiochip_add_data() for fwnode
        gpiolib: add support for software nodes
        gpiolib: consolidate GPIO lookups
        gpiolib: acpi: avoid leaking ACPI details into upper gpiolib layers
        gpiolib: acpi: teach acpi_find_gpio() to handle data-only nodes
        gpiolib: acpi: change acpi_find_gpio() to accept firmware node
        ...
      c0f234ff
    • Rafael J. Wysocki's avatar
      Merge branch 'acpi-ec' · 3d03140c
      Rafael J. Wysocki authored
      Merge additional ACPI EC driver fixes for 6.2-rc1:
      
       - Fix EC address space handler unregistration (Hans de Goede).
      
       - Defer the evaluation of _REG for ECDT described ECs till the matching
         EC device in the DSDT gets parsed and acpi_ec_add() gets called for
         it (Hans de Goede).
      
      * acpi-ec:
        ACPI: EC: Fix ECDT probe ordering issues
        ACPI: EC: Fix EC address space handler unregistration
      3d03140c
    • Linus Torvalds's avatar
      Merge tag 'fbdev-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · 9fa4abc9
      Linus Torvalds authored
      Pull fbdev updates from Helge Deller:
       "The most relevant change are the patches from Dmitry Torokhov to
        switch omapfb to the gpiod API.
      
        The other patches are small and fix e.g. UML build issues, improve the
        error paths and cleanup code"
      
      * tag 'fbdev-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev: (32 commits)
        fbdev: fbcon: release buffer when fbcon_do_set_font() failed
        fbdev: sh_mobile_lcdcfb: use sysfs_emit() to instead of scnprintf()
        fbdev: uvesafb: use sysfs_emit() to instead of scnprintf()
        fbdev: uvesafb: Simplify uvesafb_remove()
        fbdev: uvesafb: Fixes an error handling path in uvesafb_probe()
        fbdev: uvesafb: don't build on UML
        fbdev: geode: don't build on UML
        fbdev: ep93xx-fb: Add missing clk_disable_unprepare in ep93xxfb_probe()
        fbdev: matroxfb: Convert to i2c's .probe_new()
        fbdev: da8xx-fb: add missing regulator_disable() in fb_probe
        fbdev: controlfb: fix spelling mistake "paramaters"->"parameters"
        fbdev: vermilion: decrease reference count in error path
        fbdev: smscufx: fix error handling code in ufx_usb_probe
        fbdev: via: Fix error in via_core_init()
        fbdev: pm2fb: fix missing pci_disable_device()
        fbdev: pxafb: Remove unnecessary print function dev_err()
        fbdev: omapfb: panel-sharp-ls037v7dw01: fix included headers
        fbdev: omapfb: panel-tpo-td028ttec1: stop including gpio.h
        fbdev: omapfb: panel-lgphilips-lb035q02: remove backlight GPIO handling
        fbdev: omapfb: encoder-opa362: fix included headers
        ...
      9fa4abc9
    • Rafael J. Wysocki's avatar
      Merge branch 'acpica' · f7eae09b
      Rafael J. Wysocki authored
      Merge additional ACPICA changes for 6.2-rc1:
      
       - Avoid trying to resolve operands in AML when there are none (Amadeusz
         Sławiński).
      
       - Fix indentation in include/acpi/acpixf.h to help applying patches
         from the upstream ACPICA git (Hans de Goede).
      
       - Make it possible to install an address space handler without
         evaluating _REG for Operation Regions in the given address space (Hans
         de Goede).
      
      * acpica:
        ACPICA: Allow address_space_handler Install and _REG execution as 2 separate steps
        ACPICA: include/acpi/acpixf.h: Fix indentation
        ACPICA: Fix operand resolution
      f7eae09b
    • Linus Torvalds's avatar
      Merge tag '6.2-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd · 504a73d4
      Linus Torvalds authored
      Pull ksmbd updates from Steve French:
       "Six ksmbd server fixes"
      
      * tag '6.2-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd:
        ksmbd: Convert to use sysfs_emit()/sysfs_emit_at() APIs
        ksmbd: Fix resource leak in smb2_lock()
        ksmbd: Fix resource leak in ksmbd_session_rpc_open()
        ksmbd: replace one-element arrays with flexible-array members
        ksmbd: use F_SETLK when unlocking a file
        ksmbd: set SMB2_SESSION_FLAG_ENCRYPT_DATA when enforcing data encryption for this share
      504a73d4
    • Jason Gunthorpe's avatar
      RDMA/rxe: Fix compile warnings on 32-bit · 5fc24e60
      Jason Gunthorpe authored
      Move the conditional code into a function, with two varients so it is
      harder to make these kinds of mistakes.
      
       drivers/infiniband/sw/rxe/rxe_resp.c: In function 'atomic_write_reply':
       drivers/infiniband/sw/rxe/rxe_resp.c:794:13: error: unused variable 'payload' [-Werror=unused-variable]
         794 |         int payload = payload_size(pkt);
             |             ^~~~~~~
       drivers/infiniband/sw/rxe/rxe_resp.c:793:24: error: unused variable 'mr' [-Werror=unused-variable]
         793 |         struct rxe_mr *mr = qp->resp.mr;
             |                        ^~
       drivers/infiniband/sw/rxe/rxe_resp.c:791:19: error: unused variable 'dst' [-Werror=unused-variable]
         791 |         u64 src, *dst;
             |                   ^~~
       drivers/infiniband/sw/rxe/rxe_resp.c:791:13: error: unused variable 'src' [-Werror=unused-variable]
         791 |         u64 src, *dst;
      
      Fixes: 034e285f ("RDMA/rxe: Make responder support atomic write on RC service")
      Link: https://lore.kernel.org/linux-rdma/Y5s+EVE7eLWQqOwv@nvidia.com/Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      5fc24e60
    • Andreas Gruenbacher's avatar
      gfs2: Remove support for glock holder auto-demotion (2) · 6b46a061
      Andreas Gruenbacher authored
      As a follow-up to the previous commit, move the recovery related code in
      __gfs2_glock_dq() to gfs2_glock_dq() where it better fits.  No
      functional change.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      6b46a061
    • Andreas Gruenbacher's avatar
      gfs2: Remove support for glock holder auto-demotion · ba3e77a4
      Andreas Gruenbacher authored
      Remove the support for glock holder auto-demotion (commit dc732906
      and folow-ups) as we are not planning to use this feature, and the
      additional code therefore only adds unnecessary complexity.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      ba3e77a4
  4. 14 Dec, 2022 7 commits
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 041fae9c
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we've added two features: F2FS_IOC_START_ATOMIC_REPLACE
        and a per-block age-based extent cache.
      
        F2FS_IOC_START_ATOMIC_REPLACE is a variant of the previous atomic
        write feature which guarantees a per-file atomicity. It would be more
        efficient than AtomicFile implementation in Android framework.
      
        The per-block age-based extent cache implements another type of extent
        cache in memory which keeps the per-block age in a file, so that block
        allocator could split the hot and cold data blocks more accurately.
      
        Enhancements:
         - introduce F2FS_IOC_START_ATOMIC_REPLACE
         - refactor extent_cache to add a new per-block-age-based extent cache support
         - introduce discard_urgent_util, gc_mode, max_ordered_discard sysfs knobs
         - add proc entry to show discard_plist info
         - optimize iteration over sparse directories
         - add barrier mount option
      
        Bug fixes:
         - avoid victim selection from previous victim section
         - fix to enable compress for newly created file if extension matches
         - set zstd compress level correctly
         - initialize locks early in f2fs_fill_super() to fix bugs reported by syzbot
         - correct i_size change for atomic writes
         - allow to read node block after shutdown
         - allow to set compression for inlined file
         - fix gc mode when gc_urgent_high_remaining is 1
         - should put a page when checking the summary info
      
        Minor fixes and various clean-ups in GC, discard, debugfs, sysfs, and
        doc"
      
      * tag 'f2fs-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (63 commits)
        f2fs: reset wait_ms to default if any of the victims have been selected
        f2fs: fix some format WARNING in debug.c and sysfs.c
        f2fs: don't call f2fs_issue_discard_timeout() when discard_cmd_cnt is 0 in f2fs_put_super()
        f2fs: fix iostat parameter for discard
        f2fs: Fix spelling mistake in label: free_bio_enrty_cache -> free_bio_entry_cache
        f2fs: add block_age-based extent cache
        f2fs: allocate the extent_cache by default
        f2fs: refactor extent_cache to support for read and more
        f2fs: remove unnecessary __init_extent_tree
        f2fs: move internal functions into extent_cache.c
        f2fs: specify extent cache for read explicitly
        f2fs: introduce f2fs_is_readonly() for readability
        f2fs: remove F2FS_SET_FEATURE() and F2FS_CLEAR_FEATURE() macro
        f2fs: do some cleanup for f2fs module init
        MAINTAINERS: Add f2fs bug tracker link
        f2fs: remove the unused flush argument to change_curseg
        f2fs: open code allocate_segment_by_default
        f2fs: remove struct segment_allocation default_salloc_ops
        f2fs: introduce discard_urgent_util sysfs node
        f2fs: define MIN_DISCARD_GRANULARITY macro
        ...
      041fae9c
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.2-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · eb67d239
      Linus Torvalds authored
      Pull RISC-V updates from Palmer Dabbelt:
      
       - Support for the T-Head PMU via the perf subsystem
      
       - ftrace support for rv32
      
       - Support for non-volatile memory devices
      
       - Various fixes and cleanups
      
      * tag 'riscv-for-linus-6.2-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (52 commits)
        Documentation: RISC-V: patch-acceptance: s/implementor/implementer
        Documentation: RISC-V: Mention the UEFI Standards
        Documentation: RISC-V: Allow patches for non-standard behavior
        Documentation: RISC-V: Fix a typo in patch-acceptance
        riscv: Fixup compile error with !MMU
        riscv: Fix P4D_SHIFT definition for 3-level page table mode
        riscv: Apply a static assert to riscv_isa_ext_id
        RISC-V: Add some comments about the shadow and overflow stacks
        RISC-V: Align the shadow stack
        RISC-V: Ensure Zicbom has a valid block size
        RISC-V: Introduce riscv_isa_extension_check
        RISC-V: Improve use of isa2hwcap[]
        riscv: Don't duplicate _ALTERNATIVE_CFG* macros
        riscv: alternatives: Drop the underscores from the assembly macro names
        riscv: alternatives: Don't name unused macro parameters
        riscv: Don't duplicate __ALTERNATIVE_CFG in __ALTERNATIVE_CFG_2
        riscv: mm: call best_map_size many times during linear-mapping
        riscv: Move cast inside kernel_mapping_[pv]a_to_[vp]a
        riscv: Fix crash during early errata patching
        riscv: boot: add zstd support
        ...
      eb67d239
    • Linus Torvalds's avatar
      Merge tag 'x86_core_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 94a85511
      Linus Torvalds authored
      Pull x86 core updates from Borislav Petkov:
      
       - Add the call depth tracking mitigation for Retbleed which has been
         long in the making. It is a lighterweight software-only fix for
         Skylake-based cores where enabling IBRS is a big hammer and causes a
         significant performance impact.
      
         What it basically does is, it aligns all kernel functions to 16 bytes
         boundary and adds a 16-byte padding before the function, objtool
         collects all functions' locations and when the mitigation gets
         applied, it patches a call accounting thunk which is used to track
         the call depth of the stack at any time.
      
         When that call depth reaches a magical, microarchitecture-specific
         value for the Return Stack Buffer, the code stuffs that RSB and
         avoids its underflow which could otherwise lead to the Intel variant
         of Retbleed.
      
         This software-only solution brings a lot of the lost performance
         back, as benchmarks suggest:
      
             https://lore.kernel.org/all/20220915111039.092790446@infradead.org/
      
         That page above also contains a lot more detailed explanation of the
         whole mechanism
      
       - Implement a new control flow integrity scheme called FineIBT which is
         based on the software kCFI implementation and uses hardware IBT
         support where present to annotate and track indirect branches using a
         hash to validate them
      
       - Other misc fixes and cleanups
      
      * tag 'x86_core_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (80 commits)
        x86/paravirt: Use common macro for creating simple asm paravirt functions
        x86/paravirt: Remove clobber bitmask from .parainstructions
        x86/debug: Include percpu.h in debugreg.h to get DECLARE_PER_CPU() et al
        x86/cpufeatures: Move X86_FEATURE_CALL_DEPTH from bit 18 to bit 19 of word 11, to leave space for WIP X86_FEATURE_SGX_EDECCSSA bit
        x86/Kconfig: Enable kernel IBT by default
        x86,pm: Force out-of-line memcpy()
        objtool: Fix weak hole vs prefix symbol
        objtool: Optimize elf_dirty_reloc_sym()
        x86/cfi: Add boot time hash randomization
        x86/cfi: Boot time selection of CFI scheme
        x86/ibt: Implement FineIBT
        objtool: Add --cfi to generate the .cfi_sites section
        x86: Add prefix symbols for function padding
        objtool: Add option to generate prefix symbols
        objtool: Avoid O(bloody terrible) behaviour -- an ode to libelf
        objtool: Slice up elf_create_section_symbol()
        kallsyms: Revert "Take callthunks into account"
        x86: Unconfuse CONFIG_ and X86_FEATURE_ namespaces
        x86/retpoline: Fix crash printing warning
        x86/paravirt: Fix a !PARAVIRT build warning
        ...
      94a85511
    • Linus Torvalds's avatar
      Merge tag 'apparmor-pr-2022-12-14' of... · 93761c93
      Linus Torvalds authored
      Merge tag 'apparmor-pr-2022-12-14' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor
      
      Pull apparmor updates from John Johansen:
       "Features:
         - switch to zstd compression for profile raw data
      
        Cleanups:
         - simplify obtaining the newest label on a cred
         - remove useless static inline functions
         - compute permission conversion on policy unpack
         - refactor code to share common permissins
         - refactor unpack to group policy backwards compatiblity code
         - add __init annotation to aa_{setup/teardown}_dfa_engine()
      
        Bug Fixes:
         - fix a memleak in
             - multi_transaction_new()
             - free_ruleset()
             - unpack_profile()
             - alloc_ns()
         - fix lockdep warning when removing a namespace
         - fix regression in stacking due to label flags
         - fix loading of child before parent
         - fix kernel-doc comments that differ from fns
         - fix spelling errors in comments
         - store return value of unpack_perms_table() to signed variable"
      
      * tag 'apparmor-pr-2022-12-14' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor: (64 commits)
        apparmor: Fix uninitialized symbol 'array_size' in policy_unpack_test.c
        apparmor: Add __init annotation to aa_{setup/teardown}_dfa_engine()
        apparmor: Fix memleak in alloc_ns()
        apparmor: Fix memleak issue in unpack_profile()
        apparmor: fix a memleak in free_ruleset()
        apparmor: Fix spelling of function name in comment block
        apparmor: Use pointer to struct aa_label for lbs_cred
        AppArmor: Fix kernel-doc
        LSM: Fix kernel-doc
        AppArmor: Fix kernel-doc
        apparmor: Fix loading of child before parent
        apparmor: refactor code that alloc null profiles
        apparmor: fix obsoleted comments for aa_getprocattr() and audit_resource()
        apparmor: remove useless static inline functions
        apparmor: Fix unpack_profile() warn: passing zero to 'ERR_PTR'
        apparmor: fix uninitialize table variable in error in unpack_trans_table
        apparmor: store return value of unpack_perms_table() to signed variable
        apparmor: Fix kunit test for out of bounds array
        apparmor: Fix decompression of rawdata for read back to userspace
        apparmor: Fix undefined references to zstd_ symbols
        ...
      93761c93
    • Linus Torvalds's avatar
      Merge tag 'v6.2-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 64e7003c
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "API:
         - Optimise away self-test overhead when they are disabled
         - Support symmetric encryption via keyring keys in af_alg
         - Flip hwrng default_quality, the default is now maximum entropy
      
        Algorithms:
         - Add library version of aesgcm
         - CFI fixes for assembly code
         - Add arm/arm64 accelerated versions of sm3/sm4
      
        Drivers:
         - Remove assumption on arm64 that kmalloc is DMA-aligned
         - Fix selftest failures in rockchip
         - Add support for RK3328/RK3399 in rockchip
         - Add deflate support in qat
         - Merge ux500 into stm32
         - Add support for TEE for PCI ID 0x14CA in ccp
         - Add mt7986 support in mtk
         - Add MaxLinear platform support in inside-secure
         - Add NPCM8XX support in npcm"
      
      * tag 'v6.2-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (184 commits)
        crypto: ux500/cryp - delete driver
        crypto: stm32/cryp - enable for use with Ux500
        crypto: stm32 - enable drivers to be used on Ux500
        dt-bindings: crypto: Let STM32 define Ux500 CRYP
        hwrng: geode - Fix PCI device refcount leak
        hwrng: amd - Fix PCI device refcount leak
        crypto: qce - Set DMA alignment explicitly
        crypto: octeontx2 - Set DMA alignment explicitly
        crypto: octeontx - Set DMA alignment explicitly
        crypto: keembay - Set DMA alignment explicitly
        crypto: safexcel - Set DMA alignment explicitly
        crypto: hisilicon/hpre - Set DMA alignment explicitly
        crypto: chelsio - Set DMA alignment explicitly
        crypto: ccree - Set DMA alignment explicitly
        crypto: ccp - Set DMA alignment explicitly
        crypto: cavium - Set DMA alignment explicitly
        crypto: img-hash - Fix variable dereferenced before check 'hdev->req'
        crypto: arm64/ghash-ce - use frame_push/pop macros consistently
        crypto: arm64/crct10dif - use frame_push/pop macros consistently
        crypto: arm64/aes-modes - use frame_push/pop macros consistently
        ...
      64e7003c
    • Linus Torvalds's avatar
      Merge tag 'hardening-v6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 48ea09cd
      Linus Torvalds authored
      Pull kernel hardening updates from Kees Cook:
      
       - Convert flexible array members, fix -Wstringop-overflow warnings, and
         fix KCFI function type mismatches that went ignored by maintainers
         (Gustavo A. R. Silva, Nathan Chancellor, Kees Cook)
      
       - Remove the remaining side-effect users of ksize() by converting
         dma-buf, btrfs, and coredump to using kmalloc_size_roundup(), add
         more __alloc_size attributes, and introduce full testing of all
         allocator functions. Finally remove the ksize() side-effect so that
         each allocation-aware checker can finally behave without exceptions
      
       - Introduce oops_limit (default 10,000) and warn_limit (default off) to
         provide greater granularity of control for panic_on_oops and
         panic_on_warn (Jann Horn, Kees Cook)
      
       - Introduce overflows_type() and castable_to_type() helpers for cleaner
         overflow checking
      
       - Improve code generation for strscpy() and update str*() kern-doc
      
       - Convert strscpy and sigphash tests to KUnit, and expand memcpy tests
      
       - Always use a non-NULL argument for prepare_kernel_cred()
      
       - Disable structleak plugin in FORTIFY KUnit test (Anders Roxell)
      
       - Adjust orphan linker section checking to respect CONFIG_WERROR (Xin
         Li)
      
       - Make sure siginfo is cleared for forced SIGKILL (haifeng.xu)
      
       - Fix um vs FORTIFY warnings for always-NULL arguments
      
      * tag 'hardening-v6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: (31 commits)
        ksmbd: replace one-element arrays with flexible-array members
        hpet: Replace one-element array with flexible-array member
        um: virt-pci: Avoid GCC non-NULL warning
        signal: Initialize the info in ksignal
        lib: fortify_kunit: build without structleak plugin
        panic: Expose "warn_count" to sysfs
        panic: Introduce warn_limit
        panic: Consolidate open-coded panic_on_warn checks
        exit: Allow oops_limit to be disabled
        exit: Expose "oops_count" to sysfs
        exit: Put an upper limit on how often we can oops
        panic: Separate sysctl logic from CONFIG_SMP
        mm/pgtable: Fix multiple -Wstringop-overflow warnings
        mm: Make ksize() a reporting-only function
        kunit/fortify: Validate __alloc_size attribute results
        drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()
        drm/fsl-dcu: Fix return type of fsl_dcu_drm_connector_mode_valid()
        driver core: Add __alloc_size hint to devm allocators
        overflow: Introduce overflows_type() and castable_to_type()
        coredump: Proactively round up to kmalloc bucket size
        ...
      48ea09cd
    • Linus Torvalds's avatar
      Merge tag 'memblock-v6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock · ad76bf1f
      Linus Torvalds authored
      Pull memblock updates from Mike Rapoport:
       "Extend test coverage:
      
         - add tests that trigger reallocation of memblock structures from
           memblock itself via memblock_double_array()
      
         - add tests for memblock_alloc_exact_nid_raw() that verify that
           requested node and memory range constraints are respected"
      
      * tag 'memblock-v6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
        memblock tests: remove completed TODO item
        memblock tests: add generic NUMA tests for memblock_alloc_exact_nid_raw
        memblock tests: add bottom-up NUMA tests for memblock_alloc_exact_nid_raw
        memblock tests: add top-down NUMA tests for memblock_alloc_exact_nid_raw
        memblock tests: introduce range tests for memblock_alloc_exact_nid_raw
        memblock test: Update TODO list
        memblock test: Add test to memblock_reserve() 129th region
        memblock test: Add test to memblock_add() 129th region
      ad76bf1f