1. 30 Jun, 2023 22 commits
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · ca7ce08d
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "Updates to the usual drivers (ufs, pm80xx, libata-scsi, smartpqi,
        lpfc, qla2xxx).
      
        We have a couple of major core changes impacting other systems:
      
         - Command Duration Limits, which spills into block and ATA
      
         - block level Persistent Reservation Operations, which touches block,
           nvme, target and dm
      
        Both of these are added with merge commits containing a cover letter
        explaining what's going on"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (187 commits)
        scsi: core: Improve warning message in scsi_device_block()
        scsi: core: Replace scsi_target_block() with scsi_block_targets()
        scsi: core: Don't wait for quiesce in scsi_device_block()
        scsi: core: Don't wait for quiesce in scsi_stop_queue()
        scsi: core: Merge scsi_internal_device_block() and device_block()
        scsi: sg: Increase number of devices
        scsi: bsg: Increase number of devices
        scsi: qla2xxx: Remove unused nvme_ls_waitq wait queue
        scsi: ufs: ufs-pci: Add support for Intel Arrow Lake
        scsi: sd: sd_zbc: Use PAGE_SECTORS_SHIFT
        scsi: ufs: wb: Add explicit flush_threshold sysfs attribute
        scsi: ufs: ufs-qcom: Switch to the new ICE API
        scsi: ufs: dt-bindings: qcom: Add ICE phandle
        scsi: ufs: ufs-mediatek: Set UFSHCD_QUIRK_MCQ_BROKEN_RTC quirk
        scsi: ufs: ufs-mediatek: Set UFSHCD_QUIRK_MCQ_BROKEN_INTR quirk
        scsi: ufs: core: Add host quirk UFSHCD_QUIRK_MCQ_BROKEN_RTC
        scsi: ufs: core: Add host quirk UFSHCD_QUIRK_MCQ_BROKEN_INTR
        scsi: ufs: core: Remove dedicated hwq for dev command
        scsi: ufs: core: mcq: Fix the incorrect OCS value for the device command
        scsi: ufs: dt-bindings: samsung,exynos: Drop unneeded quotes
        ...
      ca7ce08d
    • Linus Torvalds's avatar
      Merge tag 'ata-6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · 1546cd4b
      Linus Torvalds authored
      Pull ata updates from Damien Le Moal:
      
       - Add support for the .remove_new callback to the ata_platform code to
         simplify device removal interface (Uwe)
      
       - Code simplification in ata_dev_revalidate() (Yahu)
      
       - Fix code indentation and coding style in the pata_parport protocol
         modules to avoid warnings from static code analyzers (me)
      
       - Clarify ata_eh_qc_retry() behavior with better comments (Niklas)
      
       - Simplify and improve ata_change_queue_depth() behavior to have a
         consistent behavior between libsas managed devices and libata managed
         devices (e.g. AHCI connected devices) (me)
      
       - Cleanup libata-scsi and libata-eh code to use the ata_ncq_enabled()
         and ata_ncq_supported() helpers instead of open coding flags tests
         (me)
      
       - Cleanup ahci_reset_controller() code (me)
      
       - Change the pata_octeon_cf and sata_svw drivers to use
         of_property_read_reg() to simplify the code (Rob, me)
      
       - Remove unnecessary include files from ahci_octeon driver (me)
      
       - Modify the DesignWare ahci dt bindings to add support for the
         Rockchip RK3588 AHCI (Sebastian)
      
      * tag 'ata-6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata: (29 commits)
        dt-bindings: phy: rockchip: rk3588 has two reset lines
        dt-bindings: ata: dwc-ahci: add Rockchip RK3588
        dt-bindings: ata: dwc-ahci: add PHY clocks
        ata: ahci_octeon: Remove unnecessary include
        ata: pata_octeon_cf: Add missing header include
        ata: ahci: Cleanup ahci_reset_controller()
        ata: Use of_property_read_reg() to parse "reg"
        ata: libata-scsi: Use ata_ncq_supported in ata_scsi_dev_config()
        ata: libata-eh: Use ata_ncq_enabled() in ata_eh_speed_down()
        ata: libata-sata: Improve ata_change_queue_depth()
        ata: libata-sata: Simplify ata_change_queue_depth()
        ata: libata-eh: Clarify ata_eh_qc_retry() behavior at call site
        ata: pata_parport: Fix on26 module code indentation and style
        ata: pata_parport: Fix on20 module code indentation and style
        ata: pata_parport: Fix ktti module code indentation and style
        ata: pata_parport: Fix kbic module code indentation and style
        ata: pata_parport: Fix friq module code indentation and style
        ata: pata_parport: Fix fit3 module code indentation and style
        ata: pata_parport: Fix fit2 module code indentation and style
        ata: pata_parport: Fix epia module code indentation and style
        ...
      1546cd4b
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v6.5-1-2023-06-28' of... · b30d7a77
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v6.5-1-2023-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next
      
      Pull perf tools updates from Namhyung Kim:
       "Internal cleanup:
      
         - Refactor PMU data management to handle hybrid systems in a generic
           way.
      
           Do more work in the lexer so that legacy event types parse more
           easily. A side-effect of this is that if a PMU is specified,
           scanning sysfs is avoided improving start-up time.
      
         - Fix hybrid metrics, for example, the TopdownL1 works for both
           performance and efficiency cores on Intel machines. To support
           this, sort and regroup events after parsing.
      
         - Add reference count checking for the 'thread' data structure.
      
         - Lots of fixes for memory leaks in various places thanks to the ASAN
           and Ian's refcount checker.
      
         - Reduce the binary size by replacing static variables with local or
           dynamically allocated memory.
      
         - Introduce shared_mutex for annotate data to reduce memory
           footprint.
      
         - Make filesystem access library functions more thread safe.
      
        Test:
      
         - Organize cpu_map tests into a single suite.
      
         - Add metric value validation test to check if the values are within
           correct value ranges.
      
         - Add perf stat stdio output test to check if event and metric names
           match.
      
         - Add perf data converter JSON output test.
      
         - Fix a lot of issues reported by shellcheck(1). This is a
           preparation to enable shellcheck by default.
      
         - Make the large x86 new instructions test optional at build time
           using EXTRA_TESTS=1.
      
         - Add a test for libpfm4 events.
      
        perf script:
      
         - Add 'dsoff' outpuf field to display offset from the DSO.
      
            $ perf script -F comm,pid,event,ip,dsoff
               ls 2695501 cycles:      152cc73ef4b5 (/usr/lib/x86_64-linux-gnu/ld-2.31.so+0x1c4b5)
               ls 2695501 cycles:  ffffffff99045b3e ([kernel.kallsyms])
               ls 2695501 cycles:  ffffffff9968e107 ([kernel.kallsyms])
               ls 2695501 cycles:  ffffffffc1f54afb ([kernel.kallsyms])
               ls 2695501 cycles:  ffffffff9968382f ([kernel.kallsyms])
               ls 2695501 cycles:  ffffffff99e00094 ([kernel.kallsyms])
               ls 2695501 cycles:      152cc718a8d0 (/usr/lib/x86_64-linux-gnu/libselinux.so.1+0x68d0)
               ls 2695501 cycles:  ffffffff992a6db0 ([kernel.kallsyms])
      
         - Adjust width for large PID/TID values.
      
        perf report:
      
         - Robustify reading addr2line output for srcline by checking sentinel
           output before the actual data and by using timeout of 1 second.
      
         - Allow config terms (like 'name=ABC') with breakpoint events.
      
            $ perf record -e mem:0x55feb98dd169:x/name=breakpoint/ -p 19646 -- sleep 1
      
        perf annotate:
      
         - Handle x86 instruction suffix like 'l' in 'movl' generally.
      
         - Parse instruction operands properly even with a whitespace. This is
           needed for llvm-objdump output.
      
         - Support RISC-V binutils lookup using the triplet prefixes.
      
         - Add '<' and '>' key to navigate to prev/next symbols in TUI.
      
         - Fix instruction association and parsing for LoongArch.
      
        perf stat:
      
         - Add --per-cache aggregation option, optionally specify a cache
           level like `--per-cache=L2`.
      
            $ sudo perf stat --per-cache -a -e ls_dmnd_fills_from_sys.ext_cache_remote --\
              taskset -c 0-15,64-79,128-143,192-207\
              perf bench sched messaging -p -t -l 100000 -g 8
      
              # Running 'sched/messaging' benchmark:
              # 20 sender and receiver threads per group
              # 8 groups == 320 threads run
      
              Total time: 7.648 [sec]
      
              Performance counter stats for 'system wide':
      
              S0-D0-L3-ID0             16         17,145,912      ls_dmnd_fills_from_sys.ext_cache_remote
              S0-D0-L3-ID8             16         14,977,628      ls_dmnd_fills_from_sys.ext_cache_remote
              S0-D0-L3-ID16            16            262,539      ls_dmnd_fills_from_sys.ext_cache_remote
              S0-D0-L3-ID24            16              3,140      ls_dmnd_fills_from_sys.ext_cache_remote
              S0-D0-L3-ID32            16             27,403      ls_dmnd_fills_from_sys.ext_cache_remote
              S0-D0-L3-ID40            16             17,026      ls_dmnd_fills_from_sys.ext_cache_remote
              S0-D0-L3-ID48            16              7,292      ls_dmnd_fills_from_sys.ext_cache_remote
              S0-D0-L3-ID56            16              2,464      ls_dmnd_fills_from_sys.ext_cache_remote
              S1-D1-L3-ID64            16         22,489,306      ls_dmnd_fills_from_sys.ext_cache_remote
              S1-D1-L3-ID72            16         21,455,257      ls_dmnd_fills_from_sys.ext_cache_remote
              S1-D1-L3-ID80            16             11,619      ls_dmnd_fills_from_sys.ext_cache_remote
              S1-D1-L3-ID88            16             30,978      ls_dmnd_fills_from_sys.ext_cache_remote
              S1-D1-L3-ID96            16             37,628      ls_dmnd_fills_from_sys.ext_cache_remote
              S1-D1-L3-ID104           16             13,594      ls_dmnd_fills_from_sys.ext_cache_remote
              S1-D1-L3-ID112           16             10,164      ls_dmnd_fills_from_sys.ext_cache_remote
              S1-D1-L3-ID120           16             11,259      ls_dmnd_fills_from_sys.ext_cache_remote
      
                    7.779171484 seconds time elapsed
      
         - Change default (no event/metric) formatting for default metrics so
           that events are hidden and the metric and group appear.
      
             Performance counter stats for 'ls /':
      
                          1.85 msec task-clock                       #    0.594 CPUs utilized
                             0      context-switches                 #    0.000 /sec
                             0      cpu-migrations                   #    0.000 /sec
                            97      page-faults                      #   52.517 K/sec
                     2,187,173      cycles                           #    1.184 GHz
                     2,474,459      instructions                     #    1.13  insn per cycle
                       531,584      branches                         #  287.805 M/sec
                        13,626      branch-misses                    #    2.56% of all branches
                                    TopdownL1                 #     23.5 %  tma_backend_bound
                                                              #     11.5 %  tma_bad_speculation
                                                              #     39.1 %  tma_frontend_bound
                                                              #     25.9 %  tma_retiring
      
         - Allow --cputype option to have any PMU name (not just hybrid).
      
         - Fix output value not to added when it runs multiple times with -r
           option.
      
        perf list:
      
         - Show metricgroup description from JSON file called
           metricgroups.json.
      
         - Allow 'pfm' argument to list only libpfm4 events and check each
           event is supported before showing it.
      
        JSON vendor events:
      
         - Avoid event grouping using "NO_GROUP_EVENTS" constraints. The
           topdown events are correctly grouped even if no group exists.
      
         - Add "Default" metric group to print it in the default output. And
           use "DefaultMetricgroupName" to indicate the real metric group
           name.
      
         - Add AmpereOne core PMU events.
      
        Misc:
      
         - Define man page date correctly.
      
         - Track exception level properly on ARM CoreSight ETM.
      
         - Allow anonymous struct, union or enum when retrieving type names
           from DWARF.
      
         - Fix incorrect filename when calling `perf inject --jit`.
      
         - Handle PLT size correctly on LoongArch"
      
      * tag 'perf-tools-for-v6.5-1-2023-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next: (269 commits)
        perf test: Skip metrics w/o event name in stat STD output linter
        perf test: Reorder event name checks in stat STD output linter
        perf pmu: Remove a hard coded cpu PMU assumption
        perf pmus: Add notion of default PMU for JSON events
        perf unwind: Fix map reference counts
        perf test: Set PERF_EXEC_PATH for script execution
        perf script: Initialize buffer for regs_map()
        perf tests: Fix test_arm_callgraph_fp variable expansion
        perf symbol: Add LoongArch case in get_plt_sizes()
        perf test: Remove x permission from lib/stat_output.sh
        perf test: Rerun failed metrics with longer workload
        perf test: Add skip list for metrics known would fail
        perf test: Add metric value validation test
        perf jit: Fix incorrect file name in DWARF line table
        perf annotate: Fix instruction association and parsing for LoongArch
        perf annotation: Switch lock from a mutex to a sharded_mutex
        perf sharded_mutex: Introduce sharded_mutex
        tools: Fix incorrect calculation of object size by sizeof
        perf subcmd: Fix missing check for return value of malloc() in add_cmdname()
        perf parse-events: Remove unneeded semicolon
        ...
      b30d7a77
    • Linus Torvalds's avatar
      Merge tag 'probes-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · d2a6fd45
      Linus Torvalds authored
      Pull probes updates from Masami Hiramatsu:
      
       - fprobe: Pass return address to the fprobe entry/exit callbacks so
         that the callbacks don't need to analyze pt_regs/stack to find the
         function return address.
      
       - kprobe events: cleanup usage of TPARG_FL_FENTRY and TPARG_FL_RETURN
         flags so that those are not set at once.
      
       - fprobe events:
            - Add a new fprobe events for tracing arbitrary function entry and
              exit as a trace event.
            - Add a new tracepoint events for tracing raw tracepoint as a
              trace event. This allows user to trace non user-exposed
              tracepoints.
            - Move eprobe's event parser code into probe event common file.
            - Introduce BTF (BPF type format) support to kernel probe (kprobe,
              fprobe and tracepoint probe) events so that user can specify
              traced function arguments by name. This also applies the type of
              argument when fetching the argument.
            - Introduce '$arg*' wildcard support if BTF is available. This
              expands the '$arg*' meta argument to all function argument
              automatically.
            - Check the return value types by BTF. If the function returns
              'void', '$retval' is rejected.
            - Add some selftest script for fprobe events, tracepoint events
              and BTF support.
            - Update documentation about the fprobe events.
            - Some fixes for above features, document and selftests.
      
       - selftests for ftrace (in addition to the new fprobe events):
            - Add a test case for multiple consecutive probes in a function
              which checks if ftrace based kprobe, optimized kprobe and normal
              kprobe can be defined in the same target function.
            - Add a test case for optimized probe, which checks whether kprobe
              can be optimized or not.
      
      * tag 'probes-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tracing/probes: Fix tracepoint event with $arg* to fetch correct argument
        Documentation: Fix typo of reference file name
        tracing/probes: Fix to return NULL and keep using current argc
        selftests/ftrace: Add new test case which checks for optimized probes
        selftests/ftrace: Add new test case which adds multiple consecutive probes in a function
        Documentation: tracing/probes: Add fprobe event tracing document
        selftests/ftrace: Add BTF arguments test cases
        selftests/ftrace: Add tracepoint probe test case
        tracing/probes: Add BTF retval type support
        tracing/probes: Add $arg* meta argument for all function args
        tracing/probes: Support function parameters if BTF is available
        tracing/probes: Move event parameter fetching code to common parser
        tracing/probes: Add tracepoint support on fprobe_events
        selftests/ftrace: Add fprobe related testcases
        tracing/probes: Add fprobe events for tracing function entry and exit.
        tracing/probes: Avoid setting TPARG_FL_FENTRY and TPARG_FL_RETURN
        fprobe: Pass return address to the handlers
      d2a6fd45
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · cccf0c2e
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
      
       - Add new feature to have function graph tracer record the return
         value. Adds a new option: funcgraph-retval ; when set, will show the
         return value of a function in the function graph tracer.
      
       - Also add the option: funcgraph-retval-hex where if it is not set, and
         the return value is an error code, then it will return the decimal of
         the error code, otherwise it still reports the hex value.
      
       - Add the file /sys/kernel/tracing/osnoise/per_cpu/cpu<cpu>/timerlat_fd
         That when a application opens it, it becomes the task that the timer
         lat tracer traces. The application can also read this file to find
         out how it's being interrupted.
      
       - Add the file /sys/kernel/tracing/available_filter_functions_addrs
         that works just the same as available_filter_functions but also shows
         the addresses of the functions like kallsyms, except that it gives
         the address of where the fentry/mcount jump/nop is. This is used by
         BPF to make it easier to attach BPF programs to ftrace hooks.
      
       - Replace strlcpy with strscpy in the tracing boot code.
      
      * tag 'trace-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tracing: Fix warnings when building htmldocs for function graph retval
        riscv: ftrace: Enable HAVE_FUNCTION_GRAPH_RETVAL
        tracing/boot: Replace strlcpy with strscpy
        tracing/timerlat: Add user-space interface
        tracing/osnoise: Skip running osnoise if all instances are off
        tracing/osnoise: Switch from PF_NO_SETAFFINITY to migrate_disable
        ftrace: Show all functions with addresses in available_filter_functions_addrs
        selftests/ftrace: Add funcgraph-retval test case
        LoongArch: ftrace: Enable HAVE_FUNCTION_GRAPH_RETVAL
        x86/ftrace: Enable HAVE_FUNCTION_GRAPH_RETVAL
        arm64: ftrace: Enable HAVE_FUNCTION_GRAPH_RETVAL
        tracing: Add documentation for funcgraph-retval and funcgraph-retval-hex
        function_graph: Support recording and printing the return value of function
        fgraph: Add declaration of "struct fgraph_ret_regs"
      cccf0c2e
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.5-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 533925cb
      Linus Torvalds authored
      Pull RISC-V updates from Palmer Dabbelt:
      
       - Support for ACPI
      
       - Various cleanups to the ISA string parsing, including making them
         case-insensitive
      
       - Support for the vector extension
      
       - Support for independent irq/softirq stacks
      
       - Our CPU DT binding now has "unevaluatedProperties: false"
      
      * tag 'riscv-for-linus-6.5-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (78 commits)
        riscv: hibernate: remove WARN_ON in save_processor_state
        dt-bindings: riscv: cpus: switch to unevaluatedProperties: false
        dt-bindings: riscv: cpus: add a ref the common cpu schema
        riscv: stack: Add config of thread stack size
        riscv: stack: Support HAVE_SOFTIRQ_ON_OWN_STACK
        riscv: stack: Support HAVE_IRQ_EXIT_ON_IRQ_STACK
        RISC-V: always report presence of extensions formerly part of the base ISA
        dt-bindings: riscv: explicitly mention assumption of Zicntr & Zihpm support
        RISC-V: remove decrement/increment dance in ISA string parser
        RISC-V: rework comments in ISA string parser
        RISC-V: validate riscv,isa at boot, not during ISA string parsing
        RISC-V: split early & late of_node to hartid mapping
        RISC-V: simplify register width check in ISA string parsing
        perf: RISC-V: Limit the number of counters returned from SBI
        riscv: replace deprecated scall with ecall
        riscv: uprobes: Restore thread.bad_cause
        riscv: mm: try VMA lock-based page fault handling first
        riscv: mm: Pre-allocate PGD entries for vmalloc/modules area
        RISC-V: hwprobe: Expose Zba, Zbb, and Zbs
        RISC-V: Track ISA extensions per hart
        ...
      533925cb
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · d8b0bd57
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
      
       - Extend KCSAN support to 32-bit and BookE. Add some KCSAN annotations
      
       - Make ELFv2 ABI the default for 64-bit big-endian kernel builds, and
         use the -mprofile-kernel option (kernel specific ftrace ABI) for big
         endian ELFv2 kernels
      
       - Add initial Dynamic Execution Control Register (DEXCR) support, and
         allow the ROP protection instructions to be used on Power 10
      
       - Various other small features and fixes
      
      Thanks to Aditya Gupta, Aneesh Kumar K.V, Benjamin Gray, Brian King,
      Christophe Leroy, Colin Ian King, Dmitry Torokhov, Gaurav Batra, Jean
      Delvare, Joel Stanley, Marco Elver, Masahiro Yamada, Nageswara R Sastry,
      Nathan Chancellor, Naveen N Rao, Nayna Jain, Nicholas Piggin, Paul
      Gortmaker, Randy Dunlap, Rob Herring, Rohan McLure, Russell Currey,
      Sachin Sant, Timothy Pearson, Tom Rix, and Uwe Kleine-König.
      
      * tag 'powerpc-6.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (76 commits)
        powerpc: remove checks for binutils older than 2.25
        powerpc: Fail build if using recordmcount with binutils v2.37
        powerpc/iommu: TCEs are incorrectly manipulated with DLPAR add/remove of memory
        powerpc/iommu: Only build sPAPR access functions on pSeries
        powerpc: powernv: Annotate data races in opal events
        powerpc: Mark writes registering ipi to host cpu through kvm and polling
        powerpc: Annotate accesses to ipi message flags
        powerpc: powernv: Fix KCSAN datarace warnings on idle_state contention
        powerpc: Mark [h]ssr_valid accesses in check_return_regs_valid
        powerpc: qspinlock: Enforce qnode writes prior to publishing to queue
        powerpc: qspinlock: Mark accesses to qnode lock checks
        powerpc/powernv/pci: Remove last IODA1 defines
        powerpc/powernv/pci: Remove MVE code
        powerpc/powernv/pci: Remove ioda1 support
        powerpc: 52xx: Make immr_id DT match tables static
        powerpc: mpc512x: Remove open coded "ranges" parsing
        powerpc: fsl_soc: Use of_range_to_resource() for "ranges" parsing
        powerpc: fsl: Use of_property_read_reg() to parse "reg"
        powerpc: fsl_rio: Use of_range_to_resource() for "ranges" parsing
        macintosh: Use of_property_read_reg() to parse "reg"
        ...
      d8b0bd57
    • Kees Cook's avatar
      pid: Replace struct pid 1-element array with flex-array · b69f0aeb
      Kees Cook authored
      For pid namespaces, struct pid uses a dynamically sized array member,
      "numbers".  This was implemented using the ancient 1-element fake
      flexible array, which has been deprecated for decades.
      
      Replace it with a C99 flexible array, refactor the array size
      calculations to use struct_size(), and address elements via indexes.
      Note that the static initializer (which defines a single element) works
      as-is, and requires no special handling.
      
      Without this, CONFIG_UBSAN_BOUNDS (and potentially
      CONFIG_FORTIFY_SOURCE) will trigger bounds checks:
      
        https://lore.kernel.org/lkml/20230517-bushaltestelle-super-e223978c1ba6@brauner
      
      Cc: Christian Brauner <brauner@kernel.org>
      Cc: Jan Kara <jack@suse.cz>
      Cc: Jeff Xu <jeffxu@google.com>
      Cc: Andreas Gruenbacher <agruenba@redhat.com>
      Cc: Daniel Verkamp <dverkamp@chromium.org>
      Cc: "Paul E. McKenney" <paulmck@kernel.org>
      Cc: Jeff Xu <jeffxu@google.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Boqun Feng <boqun.feng@gmail.com>
      Cc: Luis Chamberlain <mcgrof@kernel.org>
      Cc: Frederic Weisbecker <frederic@kernel.org>
      Reported-by: syzbot+ac3b41786a2d0565b6d5@syzkaller.appspotmail.com
      [brauner: dropped unrelated changes and remove 0 with NULL cast]
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b69f0aeb
    • Linus Torvalds's avatar
      Merge tag 'loongarch-6.5' of... · 112e7e21
      Linus Torvalds authored
      Merge tag 'loongarch-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
      
      Pull LoongArch updates from Huacai Chen:
      
       - preliminary ClangBuiltLinux enablement
      
       - add support to clone a time namespace
      
       - add vector extensions support
      
       - add SMT (Simultaneous Multi-Threading) support
      
       - support dbar with different hints
      
       - introduce hardware page table walker
      
       - add jump-label implementation
      
       - add rethook and uprobes support
      
       - some bug fixes and other small changes
      
      * tag 'loongarch-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson: (28 commits)
        LoongArch: Remove five DIE_* definitions in kdebug.h
        LoongArch: Add uprobes support
        LoongArch: Use larch_insn_gen_break() for kprobes
        LoongArch: Add larch_insn_gen_break() to generate break insns
        LoongArch: Check for AMO instructions in insns_not_supported()
        LoongArch: Move three functions from kprobes.c to inst.c
        LoongArch: Replace kretprobe with rethook
        LoongArch: Add jump-label implementation
        LoongArch: Select HAVE_DEBUG_KMEMLEAK to support kmemleak
        LoongArch: Export some arch-specific pm interfaces
        LoongArch: Introduce hardware page table walker
        LoongArch: Support dbar with different hints
        LoongArch: Add SMT (Simultaneous Multi-Threading) support
        LoongArch: Add vector extensions support
        LoongArch: Add support to clone a time namespace
        Makefile: Add loongarch target flag for Clang compilation
        LoongArch: Mark Clang LTO as working
        LoongArch: Include KBUILD_CPPFLAGS in CHECKFLAGS invocation
        LoongArch: vDSO: Use CLANG_FLAGS instead of filtering out '--target='
        LoongArch: Tweak CFLAGS for Clang compatibility
        ...
      112e7e21
    • Linus Torvalds's avatar
      csky: fix up lock_mm_and_find_vma() conversion · e55e5df1
      Linus Torvalds authored
      As already mentioned in my merge message for the 'expand-stack' branch,
      we have something like 24 different versions of the page fault path for
      all our different architectures, all just _slightly_ different due to
      various historical reasons (usually related to exactly when they
      branched off the original i386 version, and the details of the other
      architectures they had in their history).
      
      And a few of them had some silly mistake in the conversion.
      
      Most of the architectures call the faulting address 'address' in the
      fault path.  But not all.  Some just call it 'addr'.  And if you end up
      doing a bit too much copy-and-paste, you end up with the wrong version
      in the places that do it differently.
      
      In this case it was csky.
      
      Fixes: a050ba1e ("mm/fault: convert remaining simple cases to lock_mm_and_find_vma()")
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e55e5df1
    • Linus Torvalds's avatar
      Merge tag 'memblock-v6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock · 075e3335
      Linus Torvalds authored
      Pull memblock updates from Mike Rapoport:
      
       - add test for memblock_alloc_node()
      
       - minor coding style fixes
      
       - add flags and nid info in memblock debugfs
      
      * tag 'memblock-v6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
        memblock: Update nid info in memblock debugfs
        memblock: Add flags and nid info in memblock debugfs
        Fix some coding style errors in memblock.c
        Add tests for memblock_alloc_node()
      075e3335
    • Linus Torvalds's avatar
      parisc: fix expand_stack() conversion · ea3f8272
      Linus Torvalds authored
      In commit 8d7071af ("mm: always expand the stack with the mmap write
      lock held") I tried to deal with the remaining odd page fault handling
      cases.  The oddest one is ia64, which has stacks that grow both up and
      down.  And because ia64 was _so_ odd, I asked people to verify the end
      result.
      
      But a close second oddity is parisc, which is the only one that has a
      main stack growing up (our "CONFIG_STACK_GROWSUP" config option).  But
      it looked obvious enough that I didn't worry about it.
      
      I should have worried a bit more.  Not because it was particularly
      complex, but because I just used the wrong variable name.
      
      The previous vma isn't called "prev", it's called "prev_vma".  Blush.
      
      Fixes: 8d7071af ("mm: always expand the stack with the mmap write lock held")
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ea3f8272
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-6.5-2023-06-28' of git://git.infradead.org/users/hch/dma-mapping · 1e6d5dea
      Linus Torvalds authored
      Pull dma-mapping updates from Christoph Hellwig:
      
       - swiotlb cleanups (Petr Tesarik)
      
       - use kvmalloc_array (gaoxu)
      
       - a small step towards removing is_swiotlb_active (Christoph Hellwig)
      
       - fix a Kconfig typo Sui Jingfeng)
      
      * tag 'dma-mapping-6.5-2023-06-28' of git://git.infradead.org/users/hch/dma-mapping:
        drm/nouveau: stop using is_swiotlb_active
        swiotlb: use the atomic counter of total used slabs if available
        swiotlb: remove unused field "used" from struct io_tlb_mem
        dma-remap: use kvmalloc_array/kvfree for larger dma memory remap
        dma-mapping: fix a Kconfig typo
      1e6d5dea
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 7ede5f78
      Linus Torvalds authored
      Pull rdma updates from Jason Gunthorpe:
       "This cycle saw a focus on rxe and bnxt_re drivers:
      
         - Code cleanups for irdma, rxe, rtrs, hns, vmw_pvrdma
      
         - rxe uses workqueues instead of tasklets
      
         - rxe has better compliance around access checks for MRs and rereg_mr
      
         - mana supportst he 'v2' FW interface for RX coalescing
      
         - hfi1 bug fix for stale cache entries in its MR cache
      
         - mlx5 buf fix to handle FW failures when destroying QPs
      
         - erdma HW has a new doorbell allocation mechanism for uverbs that is
           secure
      
         - Lots of small cleanups and rework in bnxt_re:
             - Use the common mmap functions
             - Support disassociation
             - Improve FW command flow
             - support for 'low latency push'"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (71 commits)
        RDMA/bnxt_re: Fix an IS_ERR() vs NULL check
        RDMA/bnxt_re: Fix spelling mistake "priviledged" -> "privileged"
        RDMA/bnxt_re: Remove duplicated include in bnxt_re/main.c
        RDMA/bnxt_re: Refactor code around bnxt_qplib_map_rc()
        RDMA/bnxt_re: Remove incorrect return check from slow path
        RDMA/bnxt_re: Enable low latency push
        RDMA/bnxt_re: Reorg the bar mapping
        RDMA/bnxt_re: Move the interface version to chip context structure
        RDMA/bnxt_re: Query function capabilities from firmware
        RDMA/bnxt_re: Optimize the bnxt_re_init_hwrm_hdr usage
        RDMA/bnxt_re: Add disassociate ucontext support
        RDMA/bnxt_re: Use the common mmap helper functions
        RDMA/bnxt_re: Initialize opcode while sending message
        RDMA/cma: Remove NULL check before dev_{put, hold}
        RDMA/rxe: Simplify cq->notify code
        RDMA/rxe: Fixes mr access supported list
        RDMA/bnxt_re: optimize the parameters passed to helper functions
        RDMA/bnxt_re: remove redundant cmdq_bitmap
        RDMA/bnxt_re: use firmware provided max request timeout
        RDMA/bnxt_re: cancel all control path command waiters upon error
        ...
      7ede5f78
    • Linus Torvalds's avatar
      Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd · 31929ae0
      Linus Torvalds authored
      Pull iommufd updates from Jason Gunthorpe:
       "Just two syzkaller fixes, both for the same basic issue: using the
        area pointer during an access forced unmap while the locks protecting
        it were let go"
      
      * tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd:
        iommufd: Call iopt_area_contig_done() under the lock
        iommufd: Do not access the area pointer after unlocking
      31929ae0
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · d35ac6ac
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
       "Core changes:
         - iova_magazine_alloc() optimization
         - Make flush-queue an IOMMU driver capability
         - Consolidate the error handling around device attachment
      
        AMD IOMMU changes:
         - AVIC Interrupt Remapping Improvements
         - Some minor fixes and cleanups
      
        Intel VT-d changes from Lu Baolu:
         - Small and misc cleanups
      
        ARM-SMMU changes from Will Deacon:
         - Device-tree binding updates:
            - Add missing clocks for SC8280XP and SA8775 Adreno SMMUs
            - Add two new Qualcomm SMMUs in SDX75 and SM6375
         - Workarounds for Arm MMU-700 errata:
            - 1076982: Avoid use of SEV-based cmdq wakeup
            - 2812531: Terminate command batches with a CMD_SYNC
            - Enforce single-stage translation to avoid nesting-related errata
         - Set the correct level hint for range TLB invalidation on teardown
      
        .. and some other minor fixes and cleanups (including Freescale PAMU
        and virtio-iommu changes)"
      
      * tag 'iommu-updates-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (50 commits)
        iommu/vt-d: Remove commented-out code
        iommu/vt-d: Remove two WARN_ON in domain_context_mapping_one()
        iommu/vt-d: Handle the failure case of dmar_reenable_qi()
        iommu/vt-d: Remove unnecessary (void*) conversions
        iommu/amd: Remove extern from function prototypes
        iommu/amd: Use BIT/BIT_ULL macro to define bit fields
        iommu/amd: Fix DTE_IRQ_PHYS_ADDR_MASK macro
        iommu/amd: Fix compile error for unused function
        iommu/amd: Improving Interrupt Remapping Table Invalidation
        iommu/amd: Do not Invalidate IRT when IRTE caching is disabled
        iommu/amd: Introduce Disable IRTE Caching Support
        iommu/amd: Remove the unused struct amd_ir_data.ref
        iommu/amd: Switch amd_iommu_update_ga() to use modify_irte_ga()
        iommu/arm-smmu-v3: Set TTL invalidation hint better
        iommu/arm-smmu-v3: Document nesting-related errata
        iommu/arm-smmu-v3: Add explicit feature for nesting
        iommu/arm-smmu-v3: Document MMU-700 erratum 2812531
        iommu/arm-smmu-v3: Work around MMU-600 erratum 1076982
        dt-bindings: arm-smmu: Add SDX75 SMMU compatible
        dt-bindings: arm-smmu: Add SM6375 GPU SMMU
        ...
      d35ac6ac
    • Linus Torvalds's avatar
      sparc32: fix lock_mm_and_find_vma() conversion · 0b26eadb
      Linus Torvalds authored
      The sparc32 conversion to lock_mm_and_find_vma() in commit a050ba1e
      ("mm/fault: convert remaining simple cases to lock_mm_and_find_vma()")
      missed the fact that we didn't actually have a 'regs' pointer available
      in the 'force_user_fault()' case.
      
      It's there in the regular page fault path ("do_sparc_fault()"), but not
      the window underflow/overflow paths.
      
      Which is all fine - we can just pass in a NULL pointer.  The register
      state is only used to avoid deadlock with kernel faults, which is not
      the case for any of these register window faults.
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Fixes: a050ba1e ("mm/fault: convert remaining simple cases to lock_mm_and_find_vma()")
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0b26eadb
    • Linus Torvalds's avatar
      Merge tag 'sysctl-6.5-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · 82a2a510
      Linus Torvalds authored
      Pull sysctl fix from Luis Chamberlain:
       "A missed minor fix which Matthieu Baerts noted I had not picked up"
      
      * tag 'sysctl-6.5-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux:
        sysctl: fix unused proc_cap_handler() function warning
      82a2a510
    • Linus Torvalds's avatar
      Merge tag 'unmap-fix-20230629' of git://git.infradead.org/users/dwmw2/linux · 43ec8a62
      Linus Torvalds authored
      Pull mm fix from David Woodhouse:
       "Fix error return from do_vmi_align_munmap()"
      
      * tag 'unmap-fix-20230629' of git://git.infradead.org/users/dwmw2/linux:
        mm/mmap: Fix error return in do_vmi_align_munmap()
      43ec8a62
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.4-rc7-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 3ad7b12c
      Linus Torvalds authored
      Pull tracing fix from Steven Rostedt:
       "Fix user event write on buffer disabled.
      
        The user events write currently returns the size of what was supposed
        to be written when tracing is disabled and nothing was written.
      
        Instead, behave like trace_marker and return -EBADF, as that is what
        is returned if a file is opened for read only, and a write is
        performed on it. Writing to the buffer that is disabled is like trying
        to write to a file opened for read only, as the buffer still can be
        read, but just not written to.
      
        This also includes test cases for this use case"
      
      * tag 'trace-v6.4-rc7-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        selftests/user_events: Add test cases when event is disabled
        selftests/user_events: Enable the event before write_fault test in ftrace self-test
        tracing/user_events: Fix incorrect return value for writing operation when events are disabled
      3ad7b12c
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.5-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 2eb15b42
      Linus Torvalds authored
      Pull ACPI fix from Rafael Wysocki:
       "Fix suspend-to-idle breakage on multiple systems introduced by one of
        the recent commits that may cause the affected systems to overheat
        while suspended"
      
      * tag 'acpi-6.5-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: EC: Fix acpi_ec_dispatch_gpe()
      2eb15b42
    • Ingo Molnar's avatar
      objtool: Remove btrfs_assertfail() from the noreturn exceptions list · 06697ca6
      Ingo Molnar authored
      The objtool merge in commit 6f612579 ("Merge tag 'objtool-core ...")
      generated a semantic conflict that was not resolved.
      
      The btrfs_assertfail() entry was removed from the noreturn list in
      commit b831306b ("btrfs: print assertion failure report and stack
      trace from the same line") because btrfs_assertfail() was changed from a
      noreturn function into a macro.
      
      The noreturn list was then moved from check.c to noreturns.h in commit
      6245ce4a ("objtool: Move noreturn function list to separate file"),
      and should be removed from that post-merge as well.
      
      Do it explicitly.
      
      Cc: David Sterba <dsterba@suse.com>
      Cc: Josh Poimboeuf <jpoimboe@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      06697ca6
  2. 29 Jun, 2023 18 commits
    • Linus Torvalds's avatar
      Merge tag 'slab-for-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab · 632f54b4
      Linus Torvalds authored
      Pull slab updates from Vlastimil Babka:
      
       - SLAB deprecation:
      
         Following the discussion at LSF/MM 2023 [1] and no objections, the
         SLAB allocator is deprecated by renaming the config option (to make
         its users notice) to CONFIG_SLAB_DEPRECATED with updated help text.
         SLUB should be used instead. Existing defconfigs with CONFIG_SLAB are
         also updated.
      
       - SLAB_NO_MERGE kmem_cache flag (Jesper Dangaard Brouer):
      
         There are (very limited) cases where kmem_cache merging is
         undesirable, and existing ways to prevent it are hacky. Introduce a
         new flag to do that cleanly and convert the existing hacky users.
         Btrfs plans to use this for debug kernel builds (that use case is
         always fine), networking for performance reasons (that should be very
         rare).
      
       - Replace the usage of weak PRNGs (David Keisar Schmidt):
      
         In addition to using stronger RNGs for the security related features,
         the code is a bit cleaner.
      
       - Misc code cleanups (SeongJae Parki, Xiongwei Song, Zhen Lei, and
         zhaoxinchao)
      
      Link: https://lwn.net/Articles/932201/ [1]
      
      * tag 'slab-for-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
        mm/slab_common: use SLAB_NO_MERGE instead of negative refcount
        mm/slab: break up RCU readers on SLAB_TYPESAFE_BY_RCU example code
        mm/slab: add a missing semicolon on SLAB_TYPESAFE_BY_RCU example code
        mm/slab_common: reduce an if statement in create_cache()
        mm/slab: introduce kmem_cache flag SLAB_NO_MERGE
        mm/slab: rename CONFIG_SLAB to CONFIG_SLAB_DEPRECATED
        mm/slab: remove HAVE_HARDENED_USERCOPY_ALLOCATOR
        mm/slab_common: Replace invocation of weak PRNG
        mm/slab: Replace invocation of weak PRNG
        slub: Don't read nr_slabs and total_objects directly
        slub: Remove slabs_node() function
        slub: Remove CONFIG_SMP defined check
        slub: Put objects_show() into CONFIG_SLUB_DEBUG enabled block
        slub: Correct the error code when slab_kset is NULL
        mm/slab: correct return values in comment for _kmem_cache_create()
      632f54b4
    • Linus Torvalds's avatar
      Merge tag 'soc-arm-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · bf1fa6f1
      Linus Torvalds authored
      Pull ARM SoC updates from Arnd Bergmann:
       "These are mostly minor cleanups and bugfixes that address harmless
        problems.
      
        The largest branch is a conversion of the omap platform to use GPIO
        descriptors throughout the tree, for any devices that are not fully
        converted to devicetree.
      
        The Samsung Exynos platform gains back support for the Exynos4212 chip
        that was previously unused and removed but is now used for the Samsung
        Galaxy Tab3"
      
      * tag 'soc-arm-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (24 commits)
        ARM: omap2: Fix copy/paste bug
        MAINTAINERS: Replace my email address
        Input: ads7846 - fix pointer cast warning
        Input: ads7846 - Fix usage of match data
        ARM: omap2: Fix checkpatch issues
        arm: omap1: replace printk() with pr_err macro
        ARM: omap: Fix checkpatch issues
        ARM: s3c: Switch i2c drivers back to use .probe()
        ARM: versatile: mark mmc_status() static
        ARM: spear: include "pl080.h" for pl080_get_signal() prototype
        ARM: sa1100: address missing prototype warnings
        ARM: pxa: fix missing-prototypes warnings
        ARM: orion5x: fix d2net gpio initialization
        ARM: omap2: fix missing tick_broadcast() prototype
        ARM: omap1: add missing include
        ARM: lpc32xx: add missing include
        ARM: imx: add missing include
        ARM: highbank: add missing include
        ARM: ep93xx: fix missing-prototype warnings
        ARM: davinci: fix davinci_cpufreq_init() declaration
        ...
      bf1fa6f1
    • Linus Torvalds's avatar
      Merge tag 'soc-defconfig-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 0873694a
      Linus Torvalds authored
      Pull ARM SoC defconfig updates from Arnd Bergmann:
       "The arm64 defconfig file gets the usual updates to enable addition
        device drivers as well as the sparx5 and realtek SoC platforms.
      
        For arm32, there are only a couple of cleanup patches for imx, renesas
        and rockchips"
      
      * tag 'soc-defconfig-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (23 commits)
        arm64: defconfig: Enable Rockchip I2S TDM and ES8316 drivers
        arm64: defconfig: update RK8XX MFD config
        ARM: multi_v7_defconfig: update MFD_RK808 name
        arm64: defconfig: Enable UBIFS
        arm64: defconfig: enable drivers for Verdin AM62
        arm64: defconfig: Build SM6115 display and GPU clock controller drivers
        arm64: defconfig: Build display clock controller driver for QCM2290
        arm64: defconfig: Build interconnect driver for QCM2290
        arm64: defconfig: Build Global Clock Controller driver for QCM2290
        arm64: defconfig: Build MSM power manager driver
        arm64: defconfig: Enable sc828x0xp lpasscc clock controller
        arm64: defconfig: Enable the TI SN65DSI83 driver
        arm64: defconfig: Enable Renesas MTU3a counter config
        arm64: defconfig: enable Mediatek PMIC key
        arm64: defconfig: enable MT6357 regulator
        ARM: imx_v6_v7_defconfig: Remove KERNEL_LZO config
        arm64: defconfig: Enable ipq6018 apss clock and PLL controller
        arm64: defconfig: Enable ARCH_SPARX5 and ARCH_REALTEK
        arm64: defconfig: enable FSA4480 driver as module
        ARM: shmobile: defconfig: Refresh for v6.4-rc1
        ...
      0873694a
    • Linus Torvalds's avatar
      Merge tag 'soc-drivers-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · e4c8d018
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "Nothing surprising in the SoC specific drivers, with the usual
        updates:
      
         - Added or improved SoC driver support for Tegra234, Exynos4121,
           RK3588, as well as multiple Mediatek and Qualcomm chips
      
         - SCMI firmware gains support for multiple SMC/HVC transport and
           version 3.2 of the protocol
      
         - Cleanups amd minor changes for the reset controller, memory
           controller, firmware and sram drivers
      
         - Minor changes to amd/xilinx, samsung, tegra, nxp, ti, qualcomm,
           amlogic and renesas SoC specific drivers"
      
      * tag 'soc-drivers-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (118 commits)
        dt-bindings: interrupt-controller: Convert Amlogic Meson GPIO interrupt controller binding
        MAINTAINERS: add PHY-related files to Amlogic SoC file list
        drivers: meson: secure-pwrc: always enable DMA domain
        tee: optee: Use kmemdup() to replace kmalloc + memcpy
        soc: qcom: geni-se: Do not bother about enable/disable of interrupts in secondary sequencer
        dt-bindings: sram: qcom,imem: document qdu1000
        soc: qcom: icc-bwmon: Fix MSM8998 count unit
        dt-bindings: soc: qcom,rpmh-rsc: Require power-domains
        soc: qcom: socinfo: Add Soc ID for IPQ5300
        dt-bindings: arm: qcom,ids: add SoC ID for IPQ5300
        soc: qcom: Fix a IS_ERR() vs NULL bug in probe
        soc: qcom: socinfo: Add support for new fields in revision 19
        soc: qcom: socinfo: Add support for new fields in revision 18
        dt-bindings: firmware: scm: Add compatible for SDX75
        soc: qcom: mdt_loader: Fix split image detection
        dt-bindings: memory-controllers: drop unneeded quotes
        soc: rockchip: dtpm: use C99 array init syntax
        firmware: tegra: bpmp: Add support for DRAM MRQ GSCs
        soc/tegra: pmc: Use devm_clk_notifier_register()
        soc/tegra: pmc: Simplify debugfs initialization
        ...
      e4c8d018
    • Arnd Bergmann's avatar
      sysctl: fix unused proc_cap_handler() function warning · 554588e8
      Arnd Bergmann authored
      Since usermodehelper_table() is marked static now, we get a
      warning about it being unused when SYSCTL is disabled:
      
      kernel/umh.c:497:12: error: 'proc_cap_handler' defined but not used [-Werror=unused-function]
      
      Just move it inside of the same #ifdef.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Tested-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
      Fixes: 861dc0b4 ("sysctl: move umh sysctl registration to its own file")
      Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Tested-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
      [mcgrof: adjust new commit ID for Fixes tag]
      Signed-off-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
      554588e8
    • Linus Torvalds's avatar
      Merge tag 'soc-newsoc-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · a9025a5f
      Linus Torvalds authored
      Pull new ARM SoC support from Arnd Bergmann:
       "There are two new SoC families this time, and both appear fairly
        similar: The Nuvoton MA35D1 and the STMicroelectronics STM32MP2 are
        both dual-core Cortex-A35 based chips for the low-power industrial
        embedded market, and they mark the first 64-bit product in a widely
        used family of 32-bit Arm MCUs and SoCs.
      
        The way into the kernel is completely different here: The team at ST
        has a long history of working upstream with their STM32MP1 and other
        SoCs, and they produced a complete port to arm64 together with the
        initial announcement. Nuvoton also has multiple SoC product lines with
        current or previous upstream support, but those are maintained by
        third parties and are unrelated. The patch series from Nuvoton's Jacky
        Huang had to go through many revisisions to get to this point and is
        still missing a few drivers including the serial port for the moment.
      
        The branch contains the devicetree files as well as all the code
        changes, in order to have something that can be tested standalone"
      
      * tag 'soc-newsoc-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (25 commits)
        clk: nuvoton: Use clk_parent_data instead of string for parent clock
        clk: nuvoton: Update all constant hex values to lowercase
        clk: nuvoton: Add clk-ma35d1.h for driver extern functions
        remoteproc: stm32: use correct format strings on 64-bit
        MAINTAINERS: add entry for ARM/STM32 ARCHITECTURE
        arm64: defconfig: enable ARCH_STM32 and STM32 serial driver
        arm64: dts: st: add stm32mp257f-ev1 board support
        dt-bindings: stm32: document stm32mp257f-ev1 board
        arm64: dts: st: introduce stm32mp25 pinctrl files
        arm64: dts: st: introduce stm32mp25 SoCs family
        arm64: introduce STM32 family on Armv8 architecture
        dt-bindings: stm32: add st,stm32mp25-syscfg compatible for syscon
        pinctrl: stm32: add stm32mp257 pinctrl support
        dt-bindings: pinctrl: stm32: support for stm32mp257 and additional packages
        Documentation/process: add soc maintainer handbook
        reset: RESET_NUVOTON_MA35D1 should depend on ARCH_MA35
        reset: Add Nuvoton ma35d1 reset driver support
        clk: nuvoton: Add clock driver for ma35d1 clock controller
        arm64: dts: nuvoton: Add initial ma35d1 device tree
        dt-bindings: serial: Document ma35d1 uart controller
        ...
      a9025a5f
    • Linus Torvalds's avatar
      Merge tag 'soc-dt-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 6c1561fb
      Linus Torvalds authored
      Pull ARM SoC devicetree updates from Arnd Bergmann:
       "The biggest change this time is for the 32-bit devicetree files, which
        are all moved to a new location, using separate subdirectories for
        each SoC vendor, following the same scheme that is used on arm64, mips
        and riscv. This has been discussed for many years, but so far we never
        did this as there was a plan to move the files out of the kernel
        entirely, which has never happened.
      
        The impact of this will be that all external patches no longer apply,
        and anything depending on the location of the dtb files in the build
        directory will have to change. The installed files after 'make
        dtbs_install' keep the current location.
      
        There are six added SoCs here that are largely variants of previously
        added chips. Two other chips are added in a separate branch along with
        their device drivers.
      
         - The Samsung Exynos 4212 makes its return after the Samsung Galaxy
           Express phone is addded at last. The SoC support was originally
           added in 2012 but removed again in 2017 as it was unused at the
           time.
      
         - Amlogic C3 is a Cortex-A35 based smart IP camera chip
      
         - Qualcomm MSM8939 (Snapdragon 615) is a more featureful variant of
           the still common MSM8916 (Snapdragon 410) phone chip that has been
           supported for a long time.
      
         - Qualcomm SC8180x (Snapdragon 8cx) is one of their earlier high-end
           laptop chips, used in the Lenovo Flex 5G, which is added along with
           the reference board.
      
         - Qualcomm SDX75 is the latest generation modem chip that is used as
           a peripherial in phones but can also run a standalone Linux. Unlike
           the prior 32-bit SDX65 and SDX55, this now has a 64-bit Cortex-A55.
      
         - Alibaba T-Head TH1520 is a quad-core RISC-V chip based on the
           Xuantie C910 core, a step up from all previously added rv64 chips.
      
        All of the above come with reference board implementations, those
        included there are 39 new board files, but only five more 32-bit this
        time, probably a new low:
      
         - Marantec Maveo board based on dhcor imx6ull module
      
         - Endian 4i Edge 200, based on the armv5 Marvell Kirkwood chip
      
         - Epson Moverio BT-200 AR glasses based on TI OMAP4
      
         - PHYTEC STM32MP1-3 Dev board based on STM32MP15 PHYTEC SOM
      
         - ICnova ADB4006 board based on Allwinner A20
      
        On the 64-bit side, there are also fewer addded machines than we had
        in the recent releases:
      
         - Three boards based on NXP i.MX8: Emtop SoM & Baseboard, NXP i.MX8MM
           EVKB board and i.MX8MP based Gateworks Venice gw7905-2x device.
      
         - NVIDIA IGX Orin and Jetson Orin Nano boards, both based on tegra234
      
         - Qualcomm gains support for 6 reference boards on various members of
           their IPQ networking SoC series, as well as the Sony Xperia M4 Aqua
           phone, the Acer Aspire 1 laptop, and the Fxtec Pro1X board on top
           of the various reference platforms for their new chips.
      
         - Rockchips support for several newer boards: Indiedroid Nova
           (rk3588), Edgeble Neural Compute Module 6B (rk3588), FriendlyARM
           NanoPi R2C Plus (rk3328), Anbernic RG353PS (rk3566), Lunzn
           Fastrhino R66S/R68S (rk3568)
      
         - TI K3/AM625 based PHYTEC phyBOARD-Lyra-AM625 board and Toradex
           Verdin family with AM62 COM, carrier and dev boards
      
        Other changes to existing boards contain the usual minor improvements
        along with
      
         - continued updates to clean up dts files based on dtc warnings and
           binding checks, in particular cache properties and node names
      
         - support for devicetree overlays on at91, bcm283x
      
         - significant additions to existing SoC support on mediatek,
           qualcomm, ti k3 family, starfive jh71xx, NXP i.MX6 and i.MX8, ST
           STM32MP1
      
        As usual, a lot more detail is available in the individual merge
        commits"
      
      * tag 'soc-dt-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (926 commits)
        ARM: mvebu: fix unit address on armada-390-db flash
        ARM: dts: Move .dts files to vendor sub-directories
        kbuild: Support flat DTBs install
        ARM: dts: Add .dts files missing from the build
        ARM: dts: allwinner: Use quoted #include
        ARM: dts: lan966x: kontron-d10: add PHY interrupts
        ARM: dts: lan966x: kontron-d10: fix SPI CS
        ARM: dts: lan966x: kontron-d10: fix board reset
        ARM: dts: at91: Enable device-tree overlay support for AT91 boards
        arm: dts: Enable device-tree overlay support for AT91 boards
        arm64: dts: exynos: Remove clock from Exynos850 pmu_system_controller
        ARM: dts: at91: use generic name for shutdown controller
        ARM: dts: BCM5301X: Add cells sizes to PCIe nodes
        dt-bindings: firmware: brcm,kona-smc: convert to YAML
        riscv: dts: sort makefile entries by directory
        riscv: defconfig: enable T-HEAD SoC
        MAINTAINERS: add entry for T-HEAD RISC-V SoC
        riscv: dts: thead: add sipeed Lichee Pi 4A board device tree
        riscv: dts: add initial T-HEAD TH1520 SoC device tree
        riscv: Add the T-HEAD SoC family Kconfig option
        ...
      6c1561fb
    • Linus Torvalds's avatar
      Merge tag 'mips_6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · b775d6c5
      Linus Torvalds authored
      Pull MIPS updates from Thomas Bogendoerfer:
      
       - add support for TP-Link HC220 G5 v1
      
       - add support for Wifi/Bluetooth on CI20
      
       - rework Ralink clock and reset handling
      
       - cleanups and fixes
      
      * tag 'mips_6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (58 commits)
        MIPS: Loongson64: DTS: Add RTC support to Loongson-2K1000
        MIPS: Loongson64: DTS: Add RTC support to LS7A PCH
        MIPS: OCTEON: octeon-usb: cleanup divider calculation
        MIPS: OCTEON: octeon-usb: introduce dwc3_octeon_{read,write}q
        MIPS: OCTEON: octeon-usb: move gpio config to separate function
        MIPS: OCTEON: octeon-usb: use bitfields for shim register
        MIPS: OCTEON: octeon-usb: use bitfields for host config register
        MIPS: OCTEON: octeon-usb: use bitfields for control register
        MIPS: OCTEON: octeon-usb: add all register offsets
        mips: ralink: match all supported system controller compatible strings
        MIPS: dec: prom: Address -Warray-bounds warning
        MIPS: DTS: CI20: Raise VDDCORE voltage to 1.125 volts
        clk: ralink: mtmips: Fix uninitialized use of ret in mtmips_register_{fixed,factor}_clocks()
        mips: ralink: introduce commonly used remap node function
        mips: pci-mt7620: use dev_info() to log PCIe device detection result
        mips: pci-mt7620: do not print NFTS register value as error log
        MAINTAINERS: add Mediatek MTMIPS Clock maintainer
        mips: ralink: get cpu rate from new driver code
        mips: ralink: remove reset related code
        mips: ralink: mt7620: remove clock related code
        ...
      b775d6c5
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 18f38fed
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
       "Bindings:
      
         - Add some missing type definitions to properties
      
         - Drop unneeded quotes and use absolute paths in bindings
      
         - Remove redundant "binding" or "schema" in binding titles
      
         - Add bindings for Ralink SoCs interrupt controller, QCA2066
           Bluetooth, infineon,irps5401, new NXP i.MX GPT variants, shineworld
           lh133k MIPI SPI panel, Socionext Synquacer platforms, RK3588 PCIe,
           ST M95640 EEPROM, and FSL DCP crypto variants, and Arm Cortex-R52
      
        DT core:
      
         - Improve the reserved-memory range allocation to maximize contiguous
           space
      
         - Use device_set_node() helper in place of open coding"
      
      * tag 'devicetree-for-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (40 commits)
        dt-bindings: interrupt-controller: add Ralink SoCs interrupt controller
        dt-bindings: PCI: dwc: rockchip: Update for RK3588
        dt-bindings: auxdisplay: holtek: Add missing type for "linux,no-autorepeat"
        dt-bindings: input: mediatek,pmic-keys: Fix typo in "linux,keycodes" property name
        dt-bindings: pwm: drop unneeded quotes
        dt-bindings: crypto: drop unneeded quotes
        dt-bindings: arm: socionext: add Synquacer platforms
        dt-bindings: connector: usb: allow a single HS port
        dt-bindings: bus: ti-sysc: fix typo
        of: reserved_mem: Use stable allocation order
        of: reserved_mem: Try to keep range allocations contiguous
        dt-bindings: arm: drop unneeded quotes and use absolute /schemas path
        dt-bindings: firmware: arm,scmi: drop unneeded quotes and use absolute /schemas path
        dt-bindings: dvfs: drop unneeded quotes
        dt-bindings: gpu: drop unneeded quotes
        dt-bindings: i3c: silvaco,i3c-master: drop unneeded quotes
        dt-bindings: rockchip: grf: drop unneeded quotes
        dt-bindings: spmi: mtk,spmi-mtk-pmif: drop unneeded quotes
        dt-bindings: Remove last usage of "binding" or "schema" in titles
        dt-bindings: display: panel: mipi-dbi-spi: add spi-3wire property
        ...
      18f38fed
    • Linus Torvalds's avatar
      Merge tag 'fs_for_v6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · c6b02710
      Linus Torvalds authored
      Pull misc filesystem updates from Jan Kara:
      
       - Rewrite kmap_local() handling in ext2
      
       - Convert ext2 direct IO path to iomap (with some infrastructure tweaks
         associated with that)
      
       - Convert two boilerplate licenses in udf to SPDX identifiers
      
       - Other small udf, ext2, and quota fixes and cleanups
      
      * tag 'fs_for_v6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        udf: Fix uninitialized array access for some pathnames
        ext2: Drop fragment support
        quota: fix warning in dqgrab()
        quota: Properly disable quotas when add_dquot_ref() fails
        fs: udf: udftime: Replace LGPL boilerplate with SPDX identifier
        fs: udf: Replace GPL 2.0 boilerplate license notice with SPDX identifier
        fs: Drop wait_unfrozen wait queue
        ext2_find_entry()/ext2_dotdot(): callers don't need page_addr anymore
        ext2_{set_link,delete_entry}(): don't bother with page_addr
        ext2_put_page(): accept any pointer within the page
        ext2_get_page(): saner type
        ext2: use offset_in_page() instead of open-coding it as subtraction
        ext2_rename(): set_link and delete_entry may fail
        ext2: Add direct-io trace points
        ext2: Move direct-io to use iomap
        ext2: Use generic_buffers_fsync() implementation
        ext4: Use generic_buffers_fsync_noflush() implementation
        fs/buffer.c: Add generic_buffers_fsync*() implementation
        ext2/dax: Fix ext2_setsize when len is page aligned
      c6b02710
    • Linus Torvalds's avatar
      Merge tag 'fsnotify_for_v6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 18c9901d
      Linus Torvalds authored
      Pull fsnotify updates from Jan Kara:
      
       - Support for fanotify events returning file handles for filesystems
         not exportable via NFS
      
       - Improved error handling exportfs functions
      
       - Add missing FS_OPEN events when unusual open helpers are used
      
      * tag 'fsnotify_for_v6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fsnotify: move fsnotify_open() hook into do_dentry_open()
        exportfs: check for error return value from exportfs_encode_*()
        fanotify: support reporting non-decodeable file handles
        exportfs: allow exporting non-decodeable file handles to userspace
        exportfs: add explicit flag to request non-decodeable file handles
        exportfs: change connectable argument to bit flags
      18c9901d
    • Linus Torvalds's avatar
      Merge tag 'dlm-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · 0a37714f
      Linus Torvalds authored
      Pull dlm updates from David Teigland:
       "The dlm posix lock handling (for gfs2) has three notable changes:
      
         - Local pids returned from GETLK are no longer negated. A previous
           patch negating remote pids mistakenly changed local pids also.
      
         - SETLKW operations can now be interrupted only when the process is
           killed, and not from other signals. General interruption was
           resulting in previously acquired locks being cleared, not just the
           in-progress lock. Handling this correctly will require extending a
           cancel capability to user space (a future feature.)
      
         - If multiple threads are requesting posix locks (with SETLKW), fix
           incorrect matching of results to the requests.
      
        The dlm networking has several minor cleanups, and one notable change:
      
         - Avoid delaying ack messages for too long (used for message
           reliability), resulting in a backlog of un-acked messages. These
           could previously be delayed as a result of either too many or too
           few other messages being sent. Now an upper and lower threshold is
           used to determine when an ack should be sent"
      
      * tag 'dlm-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        fs: dlm: remove filter local comms on close
        fs: dlm: add send ack threshold and append acks to msgs
        fs: dlm: handle sequence numbers as atomic
        fs: dlm: handle lkb wait count as atomic_t
        fs: dlm: filter ourself midcomms calls
        fs: dlm: warn about messages from left nodes
        fs: dlm: move dlm_purge_lkb_callbacks to user module
        fs: dlm: cleanup STOP_IO bitflag set when stop io
        fs: dlm: don't check othercon twice
        fs: dlm: unregister memory at the very last
        fs: dlm: fix missing pending to false
        fs: dlm: clear pending bit when queue was empty
        fs: dlm: revert check required context while close
        fs: dlm: fix mismatch of plock results from userspace
        fs: dlm: make F_SETLK use unkillable wait_event
        fs: dlm: interrupt posix locks only when process is killed
        fs: dlm: fix cleanup pending ops when interrupted
        fs: dlm: return positive pid value for F_GETLK
        dlm: Replace all non-returning strlcpy with strscpy
      0a37714f
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.5-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 9e06150d
      Linus Torvalds authored
      Pull xfs updates from Darrick Wong:
       "There's not much going on this cycle -- the large extent counts
        feature graduated, so now users can create more extremely fragmented
        files! :P
      
        The rest are bug fixes; and I'll be sending more next week.
      
         - Fix a problem where shrink would blow out the space reserve by
           declining to shrink the filesystem
      
         - Drop the EXPERIMENTAL tag for the large extent counts feature
      
         - Set FMODE_CAN_ODIRECT and get rid of an address space op
      
         - Fix an AG count overflow bug in growfs if the new device size is
           redonkulously large"
      
      * tag 'xfs-6.5-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: fix ag count overflow during growfs
        xfs: set FMODE_CAN_ODIRECT instead of a dummy direct_IO method
        xfs: drop EXPERIMENTAL tag for large extent counts
        xfs: don't deplete the reserve pool when trying to shrink the fs
      9e06150d
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 53ea167b
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "Various cleanups and bug fixes in ext4's extent status tree,
        journalling, and block allocator subsystems.
      
        Also improve performance for parallel DIO overwrites"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (55 commits)
        ext4: avoid updating the superblock on a r/o mount if not needed
        jbd2: skip reading super block if it has been verified
        ext4: fix to check return value of freeze_bdev() in ext4_shutdown()
        ext4: refactoring to use the unified helper ext4_quotas_off()
        ext4: turn quotas off if mount failed after enabling quotas
        ext4: update doc about journal superblock description
        ext4: add journal cycled recording support
        jbd2: continue to record log between each mount
        jbd2: remove j_format_version
        jbd2: factor out journal initialization from journal_get_superblock()
        jbd2: switch to check format version in superblock directly
        jbd2: remove unused feature macros
        ext4: ext4_put_super: Remove redundant checking for 'sbi->s_journal_bdev'
        ext4: Fix reusing stale buffer heads from last failed mounting
        ext4: allow concurrent unaligned dio overwrites
        ext4: clean up mballoc criteria comments
        ext4: make ext4_zeroout_es() return void
        ext4: make ext4_es_insert_extent() return void
        ext4: make ext4_es_insert_delayed_block() return void
        ext4: make ext4_es_remove_extent() return void
        ...
      53ea167b
    • Linus Torvalds's avatar
      Merge tag 'jfs-6.5' of github.com:kleikamp/linux-shaggy · b9d02c22
      Linus Torvalds authored
      Pull jfs updates from David Kleikamp:
       "Minor bug fixes and cleanups"
      
      * tag 'jfs-6.5' of github.com:kleikamp/linux-shaggy:
        FS: JFS: Check for read-only mounted filesystem in txBegin
        FS: JFS: Fix null-ptr-deref Read in txBegin
        fs: jfs: Fix UBSAN: array-index-out-of-bounds in dbAllocDmapLev
        fs: jfs: (trivial) Fix typo in dbInitTree function
        jfs: jfs_dmap: Validate db_l2nbperpage while mounting
      b9d02c22
    • Linus Torvalds's avatar
      Merge tag 'ovl-update-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/overlayfs/vfs · be3c2131
      Linus Torvalds authored
      Pull overlayfs update from Amir Goldstein:
      
       - fix two NULL pointer deref bugs (Zhihao Cheng)
      
       - add support for "data-only" lower layers destined to be used by
         composefs
      
       - port overlayfs to the new mount api (Christian Brauner)
      
      * tag 'ovl-update-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/overlayfs/vfs: (26 commits)
        ovl: add Amir as co-maintainer
        ovl: reserve ability to reconfigure mount options with new mount api
        ovl: modify layer parameter parsing
        ovl: port to new mount api
        ovl: factor out ovl_parse_options() helper
        ovl: store enum redirect_mode in config instead of a string
        ovl: pass ovl_fs to xino helpers
        ovl: clarify ovl_get_root() semantics
        ovl: negate the ofs->share_whiteout boolean
        ovl: check type and offset of struct vfsmount in ovl_entry
        ovl: implement lazy lookup of lowerdata in data-only layers
        ovl: prepare for lazy lookup of lowerdata inode
        ovl: prepare to store lowerdata redirect for lazy lowerdata lookup
        ovl: implement lookup in data-only layers
        ovl: introduce data-only lower layers
        ovl: remove unneeded goto instructions
        ovl: deduplicate lowerdata and lowerstack[]
        ovl: deduplicate lowerpath and lowerstack[]
        ovl: move ovl_entry into ovl_inode
        ovl: factor out ovl_free_entry() and ovl_stack_*() helpers
        ...
      be3c2131
    • Linus Torvalds's avatar
      gup: avoid stack expansion warning for known-good case · eee9c708
      Linus Torvalds authored
      In commit a425ac53 ("gup: add warning if some caller would seem to
      want stack expansion") I added a temporary warning to catch any strange
      GUP users that would be impacted by the fact that GUP no longer extends
      the stack.
      
      But it turns out that the warning is most easily triggered through
      __access_remote_vm(), that already knows to expand the stack - it just
      does it *after* calling GUP.  So the warning is easy to trigger by just
      running gdb (or similar) and accessing things remotely under the stack.
      
      This just adds a temporary extra "expand stack early" to avoid the
      warning for the already converted case - not because the warning is bad,
      but because getting the warning for this known good case would then hide
      any subsequent warnings for any actually interesting cases.
      
      Let's try to remember to revert this change when we remove the warnings.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      eee9c708
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2023-06-29' of git://anongit.freedesktop.org/drm/drm · 1b722407
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "There is one set of patches to misc for a i915 gsc/mei proxy driver.
      
        Otherwise it's mostly amdgpu/i915/msm, lots of hw enablement and lots
        of refactoring.
      
        core:
         - replace strlcpy with strscpy
         - EDID changes to support further conversion to struct drm_edid
         - Move i915 DSC parameter code to common DRM helpers
         - Add Colorspace functionality
      
        aperture:
         - ignore framebuffers with non-primary devices
      
        fbdev:
         - use fbdev i/o helpers
         - add Kconfig options for fb_ops helpers
         - use new fb io helpers directly in drivers
      
        sysfs:
         - export DRM connector ID
      
        scheduler:
         - Avoid an infinite loop
      
        ttm:
         - store function table in .rodata
         - Add query for TTM mem limit
         - Add NUMA awareness to pools
         - Export ttm_pool_fini()
      
        bridge:
         - fsl-ldb: support i.MX6SX
         - lt9211, lt9611: remove blanking packets
         - tc358768: implement input bus formats, devm cleanups
         - ti-snd65dsi86: implement wait_hpd_asserted
         - analogix: fix endless probe loop
         - samsung-dsim: support swapped clock, fix enabling, support var
           clock
         - display-connector: Add support for external power supply
         - imx: Fix module linking
         - tc358762: Support reset GPIO
      
        panel:
         - nt36523: Support Lenovo J606F
         - st7703: Support Anbernic RG353V-V2
         - InnoLux G070ACE-L01 support
         - boe-tv101wum-nl6: Improve initialization
         - sharp-ls043t1le001: Mode fixes
         - simple: BOE EV121WXM-N10-1850, S6D7AA0
         - Ampire AM-800480L1TMQW-T00H
         - Rocktech RK043FN48H
         - Starry himax83102-j02
         - Starry ili9882t
      
        amdgpu:
         - add new ctx query flag to handle reset better
         - add new query/set shadow buffer for rdna3
         - DCN 3.2/3.1.x/3.0.x updates
         - Enable DC_FP on loongarch
         - PCIe fix for RDNA2
         - improve DC FAMS/SubVP support for better power management
         - partition support for lots of engines
         - Take NUMA into account when allocating memory
         - Add new DRM_AMDGPU_WERROR config parameter to help with CI
         - Initial SMU13 overdrive support
         - Add support for new colorspace KMS API
         - W=1 fixes
      
        amdkfd:
         - Query TTM mem limit rather than hardcoding it
         - GC 9.4.3 partition support
         - Handle NUMA for partitions
         - Add debugger interface for enabling gdb
         - Add KFD event age tracking
      
        radeon:
         - Fix possible UAF
      
        i915:
         - new getparam for PXP support
         - GSC/MEI proxy driver
         - Meteorlake display enablement
         - avoid clearing preallocated framebuffers with TTM
         - implement framebuffer mmap support
         - Disable sampler indirect state in bindless heap
         - Enable fdinfo for GuC backends
         - GuC loading and firmware table handling fixes
         - Various refactors for multi-tile enablement
         - Define MOCS and PAT tables for MTL
         - GSC/MEI support for Meteorlake
         - PMU multi-tile support
         - Large driver kernel doc cleanup
         - Allow VRR toggling and arbitrary refresh rates
         - Support async flips on linear buffers on display ver 12+
         - Expose CRTC CTM property on ILK/SNB/VLV
         - New debugfs for display clock frequencies
         - Hotplug refactoring
         - Display refactoring
         - I915_GEM_CREATE_EXT_SET_PAT for Mesa on Meteorlake
         - Use large rings for compute contexts
         - HuC loading for MTL
         - Allow user to set cache at BO creation
         - MTL powermanagement enhancements
         - Switch to dedicated workqueues to stop using flush_scheduled_work()
         - Move display runtime init under display/
         - Remove 10bit gamma on desktop gen3 parts, they don't support it
      
        habanalabs:
         - uapi: return 0 for user queries if there was a h/w or f/w error
         - Add pci health check when we lose connection with the firmware.
           This can be used to distinguish between pci link down and firmware
           getting stuck.
         - Add more info to the error print when TPC interrupt occur.
         - Firmware fixes
      
        msm:
         - Adreno A660 bindings
         - SM8350 MDSS bindings fix
         - Added support for DPU on sm6350 and sm6375 platforms
         - Implemented tearcheck support to support vsync on SM150 and newer
           platforms
         - Enabled missing features (DSPP, DSC, split display) on sc8180x,
           sc8280xp, sm8450
         - Added support for DSI and 28nm DSI PHY on MSM8226 platform
         - Added support for DSI on sm6350 and sm6375 platforms
         - Added support for display controller on MSM8226 platform
         - A690 GPU support
         - Move cmdstream dumping out of fence signaling path
         - a610 support
         - Support for a6xx devices without GMU
      
        nouveau:
         - NULL ptr before deref fixes
      
        armada:
         - implement fbdev emulation as client
      
        sun4i:
         - fix mipi-dsi dotclock
         - release clocks
      
        vc4:
         - rgb range toggle property
         - BT601 / BT2020 HDMI support
      
        vkms:
         - convert to drmm helpers
         - add reflection and rotation support
         - fix rgb565 conversion
      
        gma500:
         - fix iomem access
      
        shmobile:
         - support renesas soc platform
         - enable fbdev
      
        mxsfb:
         - Add support for i.MX93 LCDIF
      
        stm:
         - dsi: Use devm_ helper
         - ltdc: Fix potential invalid pointer deref
      
        renesas:
         - Group drivers in renesas subdirectory to prepare for new platform
         - Drop deprecated R-Car H3 ES1.x support
      
        meson:
         - Add support for MIPI DSI displays
      
        virtio:
         - add sync object support
      
        mediatek:
         - Add display binding document for MT6795"
      
      * tag 'drm-next-2023-06-29' of git://anongit.freedesktop.org/drm/drm: (1791 commits)
        drm/i915: Fix a NULL vs IS_ERR() bug
        drm/i915: make i915_drm_client_fdinfo() reference conditional again
        drm/i915/huc: Fix missing error code in intel_huc_init()
        drm/i915/gsc: take a wakeref for the proxy-init-completion check
        drm/msm/a6xx: Add A610 speedbin support
        drm/msm/a6xx: Add A619_holi speedbin support
        drm/msm/a6xx: Use adreno_is_aXYZ macros in speedbin matching
        drm/msm/a6xx: Use "else if" in GPU speedbin rev matching
        drm/msm/a6xx: Fix some A619 tunables
        drm/msm/a6xx: Add A610 support
        drm/msm/a6xx: Add support for A619_holi
        drm/msm/adreno: Disable has_cached_coherent in GMU wrapper configurations
        drm/msm/a6xx: Introduce GMU wrapper support
        drm/msm/a6xx: Move CX GMU power counter enablement to hw_init
        drm/msm/a6xx: Extend and explain UBWC config
        drm/msm/a6xx: Remove both GBIF and RBBM GBIF halt on hw init
        drm/msm/a6xx: Add a helper for software-resetting the GPU
        drm/msm/a6xx: Improve a6xx_bus_clear_pending_transactions()
        drm/msm/a6xx: Move a6xx_bus_clear_pending_transactions to a6xx_gpu
        drm/msm/a6xx: Move force keepalive vote removal to a6xx_gmu_force_off()
        ...
      1b722407