1. 22 Jan, 2023 19 commits
    • Masahiro Yamada's avatar
      fixdep: avoid parsing the same file over again · faa91c47
      Masahiro Yamada authored
      The dep files (*.d files) emitted by C compilers usually contain the
      deduplicated list of included files.
      
      One exceptional case is when a header is included by the -include
      command line option, and also by #include directive.
      
      For example, the top Makefile adds the command line option,
      "-include $(srctree)/include/linux/kconfig.h". You do not need to
      include <linux/kconfig.h> in every source file.
      
      In fact, include/linux/kconfig.h is listed twice in many .*.cmd files
      due to include/linux/xarray.h having "#include <linux/kconfig.h>".
      I did not fix that since it is a small redundancy.
      
      However, this is more annoying for rustc. rustc emits the dependency
      for each emission type.
      
      For example, cmd_rustc_library emits dep-info, obj, and metadata.
      So, the emitted *.d file contains the dependency for those 3 targets,
      which makes fixdep parse the same file 3 times.
      
        $ grep rust/alloc/raw_vec.rs rust/.alloc.o.cmd
          rust/alloc/raw_vec.rs \
          rust/alloc/raw_vec.rs \
          rust/alloc/raw_vec.rs \
      
      To skip the second parsing, this commit adds a hash table for parsed
      files, just like we did for CONFIG options.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Acked-by: default avatarMiguel Ojeda <ojeda@kernel.org>
      Tested-by: default avatarMiguel Ojeda <ojeda@kernel.org>
      Reviewed-by: default avatarVincenzo Palazzo <vincenzopalazzodev@gmail.com>
      faa91c47
    • Masahiro Yamada's avatar
      fixdep: refactor hash table lookup · 871d6573
      Masahiro Yamada authored
      Change the hash table code so it will be easier to add the second table.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: default avatarMiguel Ojeda <ojeda@kernel.org>
      Tested-by: default avatarMiguel Ojeda <ojeda@kernel.org>
      871d6573
    • Masahiro Yamada's avatar
      kbuild: remove sed commands after rustc rules · 2185242f
      Masahiro Yamada authored
      rustc may put comments in dep-info, so sed is used to drop them before
      passing it to fixdep.
      
      Now that fixdep can remove comments, Makefiles do not need to run sed.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: default avatarMiguel Ojeda <ojeda@kernel.org>
      Tested-by: default avatarMiguel Ojeda <ojeda@kernel.org>
      Reviewed-by: default avatarVincenzo Palazzo <vincenzopalazzodev@gmail.com>
      2185242f
    • Masahiro Yamada's avatar
      fixdep: parse Makefile more correctly to handle comments etc. · bc6df812
      Masahiro Yamada authored
      fixdep parses dependency files (*.d) emitted by the compiler.
      
      *.d files are Makefiles describing the dependencies of the main source
      file.
      
      fixdep understands minimal Makefile syntax. It works well enough for
      GCC and Clang, but not for rustc.
      
      This commit improves the parser a little more for better processing
      comments, escape sequences, etc.
      
      My main motivation is to drop comments. rustc may output comments
      (e.g. env-dep). Currentyly, rustc build rules invoke sed to remove
      comments, but it is more efficient to do it in fixdep.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Acked-by: default avatarMiguel Ojeda <ojeda@kernel.org>
      Tested-by: default avatarMiguel Ojeda <ojeda@kernel.org>
      bc6df812
    • Masahiro Yamada's avatar
      kbuild: specify output names separately for each emission type from rustc · 295d8398
      Masahiro Yamada authored
      In Kbuild, two different rules must not write to the same file, but
      it happens when compiling rust source files.
      
      For example, set CONFIG_SAMPLE_RUST_MINIMAL=m and run the following:
      
        $ make -j$(nproc) samples/rust/rust_minimal.o samples/rust/rust_minimal.rsi \
                          samples/rust/rust_minimal.s samples/rust/rust_minimal.ll
          [snip]
          RUSTC [M] samples/rust/rust_minimal.o
          RUSTC [M] samples/rust/rust_minimal.rsi
          RUSTC [M] samples/rust/rust_minimal.s
          RUSTC [M] samples/rust/rust_minimal.ll
        mv: cannot stat 'samples/rust/rust_minimal.d': No such file or directory
        make[3]: *** [scripts/Makefile.build:334: samples/rust/rust_minimal.ll] Error 1
        make[3]: *** Waiting for unfinished jobs....
        mv: cannot stat 'samples/rust/rust_minimal.d': No such file or directory
        make[3]: *** [scripts/Makefile.build:309: samples/rust/rust_minimal.o] Error 1
        mv: cannot stat 'samples/rust/rust_minimal.d': No such file or directory
        make[3]: *** [scripts/Makefile.build:326: samples/rust/rust_minimal.s] Error 1
        make[2]: *** [scripts/Makefile.build:504: samples/rust] Error 2
        make[1]: *** [scripts/Makefile.build:504: samples] Error 2
        make: *** [Makefile:2008: .] Error 2
      
      The reason for the error is that 4 threads running in parallel renames
      the same file, samples/rust/rust_minimal.d.
      
      This does not happen when compiling C or assembly files because
      -Wp,-MMD,$(depfile) explicitly specifies the dependency filepath.
      $(depfile) is a unique path for each target.
      
      Currently, rustc is only given --out-dir and --emit=<list-of-types>
      So, all the rust build rules output the dep-info into the default
      <CRATE_NAME>.d, which causes the path conflict.
      
      Fortunately, the --emit option is able to specify the output path
      individually, with the form --emit=<type>=<path>.
      
      Add --emit=dep-info=$(depfile) to the common part. Also, remove the
      redundant --out-dir because the output path is specified for each type.
      
      The code gets much cleaner because we do not need to rename *.d files.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: default avatarMiguel Ojeda <ojeda@kernel.org>
      Tested-by: default avatarMiguel Ojeda <ojeda@kernel.org>
      Reviewed-by: default avatarVincenzo Palazzo <vincenzopalazzodev@gmail.com>
      295d8398
    • Masahiro Yamada's avatar
      kbuild: refactor host*_flags · 16169a47
      Masahiro Yamada authored
      Remove _host*_flags. No functional change is intended.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: default avatarMiguel Ojeda <ojeda@kernel.org>
      Tested-by: default avatarMiguel Ojeda <ojeda@kernel.org>
      16169a47
    • Masahiro Yamada's avatar
      kbuild: unify cmd_dt_S_dtb and cmd_dt_S_dtbo · ecd42fba
      Masahiro Yamada authored
      cmd_dt_S_dtb and cmd_dt_S_dtbo are almost the same; the only difference
      is the prefix of the begin/end symbols. (__dtb vs __dtbo)
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: default avatarNicolas Schier <nicolas@fjasle.eu>
      ecd42fba
    • Masahiro Yamada's avatar
      kbuild: add more comments for KBUILD_NOCMDDEP=1 · ee2162bd
      Masahiro Yamada authored
      The cmd-check for KBUILD_NOCMDDEP=1 may not be clear until you see
      commit c4d5ee13 ("kbuild: make KBUILD_NOCMDDEP=1 handle empty
      built-in.o").
      
      When a phony target (i.e. FORCE) is the only prerequisite, Kbuild
      uses a tricky way to detect that the target does not exist.
      
      Add more comments.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: default avatarNicolas Schier <nicolas@fjasle.eu>
      ee2162bd
    • Masahiro Yamada's avatar
      kbuild: rename cmd_$@ to savedcmd_$@ in *.cmd files · 92215e7a
      Masahiro Yamada authored
      The cmd-check macro compares $(cmd_$@) and $(cmd_$1), but a pitfall is
      that you cannot use cmd_<target> as the variable name for the command.
      
      For example, the following code will not work in the top Makefile
      or ./Kbuild.
      
          quiet_cmd_foo = GEN     $@
                cmd_foo = touch $@
      
          targets += foo
          foo: FORCE
                  $(call if_changed,foo)
      
      In this case, both $@ and $1 are expanded to 'foo', so $(cmd_check)
      is always empty.
      
      We do not need to use the same prefix for cmd_$@ and cmd_$1.
      Rename the former to savedcmd_$@.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: default avatarNicolas Schier <nicolas@fjasle.eu>
      92215e7a
    • Masahiro Yamada's avatar
      kbuild: make W=1 warn files that are tracked but ignored by git · 91ecf7ff
      Masahiro Yamada authored
      The top .gitignore comments about how to detect files breaking
      .gitignore rules, but people rarely care about it.
      
      Add a new W=1 warning to detect files that are tracked but ignored by
      git. If git is not installed or the source tree is not tracked by git
      at all, this script does not print anything.
      
      Running it on v6.2-rc1 detected the following:
      
        $ make W=1 misc-check
        Documentation/devicetree/bindings/.yamllint: warning: ignored by one of the .gitignore files
        drivers/clk/.kunitconfig: warning: ignored by one of the .gitignore files
        drivers/gpu/drm/tests/.kunitconfig: warning: ignored by one of the .gitignore files
        drivers/hid/.kunitconfig: warning: ignored by one of the .gitignore files
        fs/ext4/.kunitconfig: warning: ignored by one of the .gitignore files
        fs/fat/.kunitconfig: warning: ignored by one of the .gitignore files
        kernel/kcsan/.kunitconfig: warning: ignored by one of the .gitignore files
        lib/kunit/.kunitconfig: warning: ignored by one of the .gitignore files
        mm/kfence/.kunitconfig: warning: ignored by one of the .gitignore files
        tools/testing/selftests/arm64/tags/.gitignore: warning: ignored by one of the .gitignore files
        tools/testing/selftests/arm64/tags/Makefile: warning: ignored by one of the .gitignore files
        tools/testing/selftests/arm64/tags/run_tags_test.sh: warning: ignored by one of the .gitignore files
        tools/testing/selftests/arm64/tags/tags_test.c: warning: ignored by one of the .gitignore files
      
      These are ignored by the '.*' or 'tags' in the top .gitignore, but
      there is no rule to negate it.
      
      You might be tempted to do 'git add -f' but I want to have the real
      issue fixed (by fixing a .gitignore, or by renaming files, etc.).
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: default avatarNathan Chancellor <nathan@kernel.org>
      Reviewed-by: default avatarNicolas Schier <nicolas@fjasle.eu>
      91ecf7ff
    • Masahiro Yamada's avatar
      .gitignore: update the command to check tracked files being ignored · b8a9ddca
      Masahiro Yamada authored
      Recent git versions do not accept the noted command.
      
        $ git ls-files -i --exclude-standard
        fatal: ls-files -i must be used with either -o or -c
      
      The -c was implied before, but we need to make it explicit since
      git commit b338e9f66873 ("ls-files: error out on -i unless -o or -c
      are specified").
      
      Also, replace --exclude-standard with --exclude-per-directory=.gitignore
      so that everyone will get consistent results.
      
      git-ls-files(1) says:
      
        --exclude-standard
            Add the standard Git exclusions: .git/info/exclude, .gitignore in
            each directory, and the user's global exclusion file.
      
      We cannot predict what is locally added to .git/info/exclude or the
      user's global exclusion file.
      
      We can only manage .gitignore files committed to the repository.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: default avatarMiguel Ojeda <ojeda@kernel.org>
      b8a9ddca
    • Masahiro Yamada's avatar
      kbuild: clean up stale file removal · 8f99eb85
      Masahiro Yamada authored
      More than one year has passed since the copied *.[cS] files were
      removed from arch/*/boot/compressed/.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      8f99eb85
    • Masahiro Yamada's avatar
      kbuild: drop V=0 support · 83d98d73
      Masahiro Yamada authored
      The top Makefile sets KBUILD_VERBOSE to 0 by default, it looks weird
      now because V=1 and V=2 can be OR'ed as V=12. The default should be
      empty.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: default avatarNicolas Schier <nicolas@fjasle.eu>
      83d98d73
    • Masahiro Yamada's avatar
      kbuild: allow to combine multiple V= levels · 6ae4b986
      Masahiro Yamada authored
      Commit a6de553d ("kbuild: Allow to combine multiple W= levels")
      supported W=123 to enable all the extra warning groups.
      
      I think a similar idea is applicable to the V= option.
      
        V=1 echos the whole command
        V=2 prints the reason for rebuilding
      
      These are orthogonal, and can be enabled at the same time.
      
      This commit supports V=12 to enable both of them.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Tested-by: default avatarNicolas Schier <nicolas@fjasle.eu>
      Reviewed-by: default avatarNicolas Schier <nicolas@fjasle.eu>
      6ae4b986
    • Masahiro Yamada's avatar
      kbuild: do not print extra logs for V=2 · c0d3b831
      Masahiro Yamada authored
      Some scripts increase the verbose level when V=1, but others when
      not V=0.
      
      I think the former is correct because V=2 is not a log level but
      a switch to print the reason for rebuilding.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: default avatarNicolas Schier <nicolas@fjasle.eu>
      c0d3b831
    • Masahiro Yamada's avatar
      kbuild: print short log in addition to the whole command with V=1 · 8962b6b4
      Masahiro Yamada authored
      "make V=1" prints the whole command instead of the short log, but I
      think it is nicer to print both so that you can easily spot the build
      rule of your interest.
      
      This commit changes V=1 to print the short log (the line starts with
      '#'), followed by the full log.
      
      In parallel builds, the short/full logs from the same build rule may
      be interspersed. If you want to avoid it, please add -Otarget option.
      Kbuild will never set it by default because Make would buffer the logs
      and lose the escape sequences. (Modern compilers print warnings and
      errors in color, but only when they write to a terminal.)
      
      This is also a preparation for supporting V=12 because V=2 appends the
      reason for rebuilding to the short log.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Tested-by: default avatarNicolas Schier <nicolas@fjasle.eu>
      Reviewed-by: default avatarNicolas Schier <nicolas@fjasle.eu>
      8962b6b4
    • Masahiro Yamada's avatar
      kbuild: refactor silent mode detection · fc5d57a9
      Masahiro Yamada authored
      Factor out $(findstring s,...).
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Reviewed-by: default avatarNicolas Schier <nicolas@fjasle.eu>
      fc5d57a9
    • Linus Torvalds's avatar
      Linux 6.2-rc5 · 2241ab53
      Linus Torvalds authored
      2241ab53
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.2-2023-01-21' of git://git.kernel.dk/linux · 95f184d0
      Linus Torvalds authored
      Pull another io_uring fix from Jens Axboe:
       "Just a single fix for a regression that happened in this release due
        to a poll change. Normally I would've just deferred it to next week,
        but since the original fix got picked up by stable, I think it's
        better to just send this one off separately.
      
        The issue is around the poll race fix, and how it mistakenly also got
        applied to multishot polling. Those don't need the race fix, and we
        should not be doing any reissues for that case. Exhaustive test cases
        were written and committed to the liburing regression suite for the
        reported issue, and additions for similar issues"
      
      * tag 'io_uring-6.2-2023-01-21' of git://git.kernel.dk/linux:
        io_uring/poll: don't reissue in case of poll race on multishot request
      95f184d0
  2. 21 Jan, 2023 9 commits
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · f6714402
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are some small char/misc and other subsystem driver fixes for
        6.2-rc5 to resolve a few reported issues. They include:
      
         - long time pending fastrpc fixes (should have gone into 6.1, my
           fault)
      
         - mei driver/bus fixes and new device ids
      
         - interconnect driver fixes for reported problems
      
         - vmci bugfix
      
         - w1 driver bugfixes for reported problems
      
        Almost all of these have been in linux-next with no reported problems,
        the rest have all passed 0-day bot testing in my tree and on the
        mailing lists where they have sat too long due to me taking a long
        time to catch up on my pending patch queue"
      
      * tag 'char-misc-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        VMCI: Use threaded irqs instead of tasklets
        misc: fastrpc: Pass bitfield into qcom_scm_assign_mem
        gsmi: fix null-deref in gsmi_get_variable
        misc: fastrpc: Fix use-after-free race condition for maps
        misc: fastrpc: Don't remove map on creater_process and device_release
        misc: fastrpc: Fix use-after-free and race in fastrpc_map_find
        misc: fastrpc: fix error code in fastrpc_req_mmap()
        mei: me: add meteor lake point M DID
        mei: bus: fix unlink on bus in error path
        w1: fix WARNING after calling w1_process()
        w1: fix deadloop in __w1_remove_master_device()
        comedi: adv_pci1760: Fix PWM instruction handling
        interconnect: qcom: rpm: Use _optional func for provider clocks
        interconnect: qcom: msm8996: Fix regmap max_register values
        interconnect: qcom: msm8996: Provide UFS clocks to A2NoC
        dt-bindings: interconnect: Add UFS clocks to MSM8996 A2NoC
      f6714402
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · c88a3114
      Linus Torvalds authored
      Pull driver core fixes from Greg KH:
       "Here are three small driver and kernel core fixes for 6.2-rc5. They
        include:
      
         - potential gadget fixup in do_prlimit
      
         - device property refcount leak fix
      
         - test_async_probe bugfix for reported problem"
      
      * tag 'driver-core-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        prlimit: do_prlimit needs to have a speculation check
        driver core: Fix test_async_probe_init saves device in wrong array
        device property: fix of node refcount leak in fwnode_graph_get_next_endpoint()
      c88a3114
    • Linus Torvalds's avatar
      Merge tag 'staging-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · bb86d657
      Linus Torvalds authored
      Pull staging driver fix from Greg KH:
       "Here is a single staging driver fix for 6.2-rc5. It resolves a build
        issue reported and Fixed by Arnd in the vc04_services driver. It's
        been in linux-next this week with no reported problems"
      
      * tag 'staging-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: vchiq_arm: fix enum vchiq_status return types
      bb86d657
    • Linus Torvalds's avatar
      Merge tag 'tty-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · bd5cc6ee
      Linus Torvalds authored
      Pull tty/serial driver fixes from Greg KH:
       "Here are some small tty and serial driver fixes for 6.2-rc5 that
        resolve a number of tiny reported issues and some new device ids. They
        include:
      
         - new device id for the exar serial driver
      
         - speakup tty driver bugfix
      
         - atmel serial driver baudrate fixup
      
         - stm32 serial driver bugfix and then revert as the bugfix broke the
           build. That will come back in a later pull request once it is all
           worked out properly.
      
         - amba-pl011 serial driver rs486 mode bugfix
      
         - qcom_geni serial driver bugfix
      
        Most of these have been in linux-next with no reported problems (well,
        other than the build breakage which generated the revert), the new
        device id passed 0-day testing"
      
      * tag 'tty-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        serial: exar: Add support for Sealevel 7xxxC serial cards
        Revert "serial: stm32: Merge hard IRQ and threaded IRQ handling into single IRQ handler"
        tty: serial: qcom_geni: avoid duplicate struct member init
        serial: atmel: fix incorrect baudrate setup
        tty: fix possible null-ptr-defer in spk_ttyio_release
        serial: stm32: Merge hard IRQ and threaded IRQ handling into single IRQ handler
        serial: amba-pl011: fix high priority character transmission in rs486 mode
        serial: pch_uart: Pass correct sg to dma_unmap_sg()
        tty: serial: qcom-geni-serial: fix slab-out-of-bounds on RX FIFO buffer
      bd5cc6ee
    • Linus Torvalds's avatar
      Merge tag 'usb-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · e67da288
      Linus Torvalds authored
      Pull USB / Thunderbolt fixes from Greg KH:
       "Here are a number of small USB and Thunderbolt driver fixes and new
        device id changes for 6.2-rc5. Included in here are:
      
         - thunderbolt bugfixes for reported problems
      
         - new usb-serial driver ids added
      
         - onboard_hub usb driver fixes for much-reported problems
      
         - xhci bugfixes
      
         - typec bugfixes
      
         - ehci-fsl driver module alias fix
      
         - iowarrior header size fix
      
         - usb gadget driver fixes
      
        All of these, except for the iowarrior fix, have been in linux-next
        with no reported issues. The iowarrior fix passed the 0-day testing
        and is a one digit change based on a reported problem in the driver
        (which was written to a spec, not the real device that is now
        available)"
      
      * tag 'usb-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (40 commits)
        USB: misc: iowarrior: fix up header size for USB_DEVICE_ID_CODEMERCS_IOW100
        usb: host: ehci-fsl: Fix module alias
        usb: dwc3: fix extcon dependency
        usb: core: hub: disable autosuspend for TI TUSB8041
        USB: fix misleading usb_set_intfdata() kernel doc
        usb: gadget: f_ncm: fix potential NULL ptr deref in ncm_bitrate()
        USB: gadget: Add ID numbers to configfs-gadget driver names
        usb: typec: tcpm: Fix altmode re-registration causes sysfs create fail
        usb: gadget: g_webcam: Send color matching descriptor per frame
        usb: typec: altmodes/displayport: Use proper macro for pin assignment check
        usb: typec: altmodes/displayport: Fix pin assignment calculation
        usb: typec: altmodes/displayport: Add pin assignment helper
        usb: gadget: f_fs: Ensure ep0req is dequeued before free_request
        usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait
        usb: misc: onboard_hub: Move 'attach' work to the driver
        usb: misc: onboard_hub: Invert driver registration order
        usb: ucsi: Ensure connector delayed work items are flushed
        usb: musb: fix error return code in omap2430_probe()
        usb: chipidea: core: fix possible constant 0 if use IS_ERR(ci->role_switch)
        xhci: Detect lpm incapable xHC USB3 roothub ports from ACPI tables
        ...
      e67da288
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v6.2-3' of... · 83cd5fd0
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v6.2-3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Hide LDFLAGS_vmlinux from decompressor Makefiles to fix error
         messages when GNU Make 4.4 is used.
      
       - Fix 'make modules' build error when CONFIG_DEBUG_INFO_BTF_MODULES=y.
      
       - Fix warnings emitted by GNU Make 4.4 in scripts/kconfig/Makefile.
      
       - Support GNU Make 4.4 for scripts/jobserver-exec.
      
       - Show clearer error message when kernel/gen_kheaders.sh fails due to
         missing cpio.
      
      * tag 'kbuild-fixes-v6.2-3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kheaders: explicitly validate existence of cpio command
        scripts: support GNU make 4.4 in jobserver-exec
        kconfig: Update all declared targets
        scripts: rpm: make clear that mkspec script contains 4.13 feature
        init/Kconfig: fix LOCALVERSION_AUTO help text
        kbuild: fix 'make modules' error when CONFIG_DEBUG_INFO_BTF_MODULES=y
        kbuild: export top-level LDFLAGS_vmlinux only to scripts/Makefile.vmlinux
        init/version-timestamp.c: remove unneeded #include <linux/version.h>
        docs: kbuild: remove mention to dropped $(objtree) feature
      83cd5fd0
    • Linus Torvalds's avatar
      ext4: deal with legacy signed xattr name hash values · f3bbac32
      Linus Torvalds authored
      We potentially have old hashes of the xattr names generated on systems
      with signed 'char' types.  Now that everybody uses '-funsigned-char',
      those hashes will no longer match.
      
      This only happens if you use xattrs names that have the high bit set,
      which probably doesn't happen in practice, but the xfstest generic/454
      shows it.
      
      Instead of adding a new "signed xattr hash filesystem" bit and having to
      deal with all the possible combinations, just calculate the hash both
      ways if the first one fails, and always generate new hashes with the
      proper unsigned char version.
      Reported-by: default avatarkernel test robot <oliver.sang@intel.com>
      Link: https://lore.kernel.org/oe-lkp/202212291509.704a11c9-oliver.sang@intel.com
      Link: https://lore.kernel.org/all/CAHk-=whUNjwqZXa-MH9KMmc_CpQpoFKFjAB9ZKHuu=TbsouT4A@mail.gmail.com/
      Exposed-by: 3bc753c0 ("kbuild: treat char as always unsigned")
      Cc: Eric Biggers <ebiggers@kernel.org>
      Cc: Andreas Dilger <adilger@dilger.ca>
      Cc: Theodore Ts'o <tytso@mit.edu>,
      Cc: Jason Donenfeld <Jason@zx2c4.com>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f3bbac32
    • Greg Kroah-Hartman's avatar
      prlimit: do_prlimit needs to have a speculation check · 73979060
      Greg Kroah-Hartman authored
      do_prlimit() adds the user-controlled resource value to a pointer that
      will subsequently be dereferenced.  In order to help prevent this
      codepath from being used as a spectre "gadget" a barrier needs to be
      added after checking the range.
      Reported-by: default avatarJordy Zomer <jordyzomer@google.com>
      Tested-by: default avatarJordy Zomer <jordyzomer@google.com>
      Suggested-by: default avatarLinus Torvalds <torvalds@linuxfoundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      73979060
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · f883675b
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
      
       - fix a potential race condition and always set GPIOs used as interrupt
         source to input in gpio-mxc
      
       - fix a GPIO ACPI-related issue with system suspend on Clevo NL5xRU
      
      * tag 'gpio-fixes-for-v6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpiolib: acpi: Add a ignore wakeup quirk for Clevo NL5xRU
        gpiolib: acpi: Allow ignoring wake capability on pins that aren't in _AEI
        gpio: mxc: Always set GPIOs used as interrupt source to INPUT mode
        gpio: mxc: Protect GPIO irqchip RMW with bgpio spinlock
      f883675b
  3. 20 Jan, 2023 12 commits
    • Linus Torvalds's avatar
      Merge tag '6.2-rc4-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 4e31bada
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
      
       - important fix for packet signature calculation error
      
       - three fixes to correct DFS deadlock, and DFS refresh problem
      
       - remove an unused DFS function, and duplicate tcon refresh code
      
       - DFS cache lookup fix
      
       - uninitialized rc fix
      
      * tag '6.2-rc4-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: remove unused function
        cifs: do not include page data when checking signature
        cifs: fix return of uninitialized rc in dfs_cache_update_tgthint()
        cifs: handle cache lookup errors different than -ENOENT
        cifs: remove duplicate code in __refresh_tcon()
        cifs: don't take exclusive lock for updating target hints
        cifs: avoid re-lookups in dfs_cache_find()
        cifs: fix potential deadlock in cache_refresh_path()
      4e31bada
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v6.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 8440ffcd
      Linus Torvalds authored
      Pull pin control fixes from Linus Walleij:
      
       - Compilation fix for Sunplus sp7021
      
       - Add some missing headers after a cleanup to the Nomadik driver
      
       - Fix pull type and mux routes on Rockchip RK3568
      
      * tag 'pinctrl-v6.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: rockchip: fix mux route data for rk3568
        pinctrl: rockchip: fix reading pull type on rk3568
        pinctrl: nomadik: Add missing header(s)
        pinctrl: sp7021: fix unused function warning
      8440ffcd
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 8974efaa
      Linus Torvalds authored
      Pull rdma fixes from Jason Gunthorpe:
      
       - Several hfi1 patches fixing some long standing driver bugs
      
       - Overflow when working with sg lists with elements greater than 4G
      
       - An rxe regression with object numbering after the mrs reach their
         limit
      
       - A theoretical problem with the scatterlist merging code
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        lib/scatterlist: Fix to calculate the last_pg properly
        IB/hfi1: Remove user expected buffer invalidate race
        IB/hfi1: Immediately remove invalid memory from hardware
        IB/hfi1: Fix expected receive setup error exit issues
        IB/hfi1: Reserve user expected TIDs
        IB/hfi1: Reject a zero-length user expected buffer
        RDMA/core: Fix ib block iterator counter overflow
        RDMA/rxe: Prevent faulty rkey generation
        RDMA/rxe: Fix inaccurate constants in rxe_type_info
      8974efaa
    • Jens Axboe's avatar
      io_uring/poll: don't reissue in case of poll race on multishot request · 8caa03f1
      Jens Axboe authored
      A previous commit fixed a poll race that can occur, but it's only
      applicable for multishot requests. For a multishot request, we can safely
      ignore a spurious wakeup, as we never leave the waitqueue to begin with.
      
      A blunt reissue of a multishot armed request can cause us to leak a
      buffer, if they are ring provided. While this seems like a bug in itself,
      it's not really defined behavior to reissue a multishot request directly.
      It's less efficient to do so as well, and not required to rearm anything
      like it is for singleshot poll requests.
      
      Cc: stable@vger.kernel.org
      Fixes: 6e5aedb9 ("io_uring/poll: attempt request issue after racy poll wakeup")
      Reported-and-tested-by: default avatarOlivier Langlois <olivier@trillion01.com>
      Link: https://github.com/axboe/liburing/issues/778Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      8caa03f1
    • Linus Torvalds's avatar
      Merge tag 'block-6.2-2023-01-20' of git://git.kernel.dk/linux · edc00350
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "Various little tweaks all over the place:
      
         - NVMe pull request via Christoph:
             - fix controller shutdown regression in nvme-apple (Janne Grunau)
             - fix a polling on timeout regression in nvme-pci (Keith Busch)
      
         - Fix a bug in the read request side request allocation caching
           (Pavel)
      
         - pktcdvd was brought back after we configured a NULL return on bio
           splits, make it consistent with the others (me)
      
         - BFQ refcount fix (Yu)
      
         - Block cgroup policy activation fix (Yu)
      
         - Fix for an md regression introduced in the 6.2 cycle (Adrian)"
      
      * tag 'block-6.2-2023-01-20' of git://git.kernel.dk/linux:
        nvme-pci: fix timeout request state check
        nvme-apple: only reset the controller when RTKit is running
        nvme-apple: reset controller during shutdown
        block: fix hctx checks for batch allocation
        block/rnbd-clt: fix wrong max ID in ida_alloc_max
        blk-cgroup: fix missing pd_online_fn() while activating policy
        pktcdvd: check for NULL returna fter calling bio_split_to_limits()
        block, bfq: switch 'bfqg->ref' to use atomic refcount apis
        md: fix incorrect declaration about claim_rdev in md_import_device
      edc00350
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.2-2023-01-20' of git://git.kernel.dk/linux · 9c38747f
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "Fixes for the MSG_RING opcode. Nothing really major:
      
         - Fix an overflow missing serialization around posting CQEs to the
           target ring (me)
      
         - Disable MSG_RING on a ring that isn't enabled yet. There's nothing
           really wrong with allowing it, but 1) it's somewhat odd as nobody
           can receive them yet, and 2) it means that using the right delivery
           mechanism might change. As nobody should be sending CQEs to a ring
           that isn't enabled yet, let's just disable it (Pavel)
      
         - Tweak to when we decide to post remotely or not for MSG_RING
           (Pavel)"
      
      * tag 'io_uring-6.2-2023-01-20' of git://git.kernel.dk/linux:
        io_uring/msg_ring: fix remote queue to disabled ring
        io_uring/msg_ring: fix flagging remote execution
        io_uring/msg_ring: fix missing lock on overflow for IOPOLL
        io_uring/msg_ring: move double lock/unlock helpers higher up
      9c38747f
    • Linus Torvalds's avatar
      Merge tag 'for-6.2-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 26e57507
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
      
       - fix potential out-of-bounds access to leaf data when seeking in an
         inline file
      
       - fix potential crash in quota when rescan races with disable
      
       - reimplement super block signature scratching by marking page/folio
         dirty and syncing block device, allow removing write_one_page
      
      * tag 'for-6.2-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: fix race between quota rescan and disable leading to NULL pointer deref
        btrfs: fix invalid leaf access due to inline extent during lseek
        btrfs: stop using write_one_page in btrfs_scratch_superblock
        btrfs: factor out scratching of one regular super block
      26e57507
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-fixes-6.2-rc5' of... · d9166cb3
      Linus Torvalds authored
      Merge tag 'linux-kselftest-fixes-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull Kselftest fix from Shuah Khan:
       "Fix an error seen during unconfigured LLVM builds"
      
      * tag 'linux-kselftest-fixes-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        kselftest: Fix error message for unconfigured LLVM builds
      d9166cb3
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · dc181759
      Linus Torvalds authored
      Pull thermal control fix from Rafael Wysocki:
       "Modify __thermal_cooling_device_register() to make it call
        put_device() after invoking device_register() and fix up a few error
        paths calling thermal_cooling_device_destroy_sysfs() unnecessarily
        (Viresh Kumar)"
      
      * tag 'thermal-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: core: call put_device() only after device_register() fails
      dc181759
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · fe563a2c
      Linus Torvalds authored
      Pull ACPI fixes from Rafael Wysocki:
       "These update the ACPICA entry in MAINTAINERS, add a backlight handling
        quirk and fix the ACPI PRM (platform runtime) mechanism support.
      
        Specifics:
      
         - Update the ACPICA development list address in MAINTAINERS to the
           new one that does not bounce (Rafael Wysocki)
      
         - Check whether EFI runtime is available when registering the ACPI
           PRM address space handler and when running it (Ard Biesheuvel)
      
         - Add backlight=native DMI quirk for Acer Aspire 4810T to the ACPI
           video driver (Hans de Goede)"
      
      * tag 'acpi-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: PRM: Check whether EFI runtime is available
        ACPI: video: Add backlight=native DMI quirk for Acer Aspire 4810T
        MAINTAINERS: Update the ACPICA development list address
      fe563a2c
    • Linus Torvalds's avatar
      Merge tag 'mmc-v6.2-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 1670d7e6
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
      
       - sunxi-mmc: Fix clock refcount imbalance during unbind
      
       - sdhci-esdhc-imx: Fix some tuning settings
      
      * tag 'mmc-v6.2-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: sunxi-mmc: Fix clock refcount imbalance during unbind
        mmc: sdhci-esdhc-imx: correct the tuning start tap and step setting
      1670d7e6
    • Linus Torvalds's avatar
      Merge tag 'soc-fixes-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 1ed46384
      Linus Torvalds authored
      Pull ARM SoC DT and driver fixes from Arnd Bergmann:
       "Lots of dts fixes for Qualcomm Snapdragon and NXP i.MX platforms,
        including:
      
         - A regression fix for SDHCI controllers on Inforce 6540, and another
           SDHCI fix on SM8350
      
         - Reenable cluster idle on sm8250 after the the code fix is upstream
      
         - multiple fixes for the QMP PHY binding, needing an incompatible dt
           change
      
         - The reserved memory map is updated on Xiaomi Mi 4C and Huawei Nexus
           6P, to avoid instabilities caused by use of protected memory
           regions
      
         - Fix i.MX8MP DT for missing GPC Interrupt, power-domain typo and USB
           clock error
      
         - A couple of verdin-imx8mm DT fixes for audio playback support
      
         - Fix pca9547 i2c-mux node name for i.MX and Vybrid device trees
      
         - Fix an imx93-11x11-evk uSDHC pad setting problem that causes Micron
           eMMC CMD8 CRC error in HS400ES/HS400 mode
      
        The remaining ARM and RISC-V platforms only have very few smaller dts
        bugfixes this time:
      
         - A fix for the SiFive unmatched board's PCI memory space
      
         - A revert to fix a regression with GPIO on Marvell Armada
      
         - A fix for the UART address on Marvell AC5
      
         - Missing chip-select phandles for stm32 boards
      
         - Selecting the correct clock for the sam9x60 memory controller
      
         - Amlogic based Odroid-HC4 needs a revert to restore USB
           functionality.
      
        And finally, there are some minor code fixes:
      
         - Build fixes for OMAP1, pxa, riscpc, raspberry pi firmware, and zynq
           firmware
      
         - memory controller driver fixes for an OMAP regression and older
           bugs on tegra, atmel and mvebu
      
         - reset controller fixes for ti-sci and uniphier platforms
      
         - ARM SCMI firmware fixes for a couple of rare corner cases
      
         - Qualcomm platform driver fixes for incorrect error handling and a
           backwards compatibility fix for the apr driver using older dtb
      
         - NXP i.MX SoC driver fixes for HDMI output, error handling in the
           imx8 soc-id and missing reference counting on older cpuid code"
      
      * tag 'soc-fixes-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (60 commits)
        firmware: zynqmp: fix declarations for gcc-13
        ARM: dts: stm32: Fix qspi pinctrl phandle for stm32mp151a-prtt1l
        ARM: dts: stm32: Fix qspi pinctrl phandle for stm32mp157c-emstamp-argon
        ARM: dts: stm32: Fix qspi pinctrl phandle for stm32mp15xx-dhcom-som
        ARM: dts: stm32: Fix qspi pinctrl phandle for stm32mp15xx-dhcor-som
        ARM: dts: at91: sam9x60: fix the ddr clock for sam9x60
        ARM: omap1: fix building gpio15xx
        ARM: omap1: fix !ARCH_OMAP1_ANY link failures
        firmware: raspberrypi: Fix type assignment
        arm64: dts: qcom: msm8992-libra: Fix the memory map
        arm64: dts: qcom: msm8992: Don't use sfpb mutex
        PM: AVS: qcom-cpr: Fix an error handling path in cpr_probe()
        arm64: dts: msm8994-angler: fix the memory map
        arm64: dts: marvell: AC5/AC5X: Fix address for UART1
        ARM: footbridge: drop unnecessary inclusion
        Revert "ARM: dts: armada-39x: Fix compatible string for gpios"
        Revert "ARM: dts: armada-38x: Fix compatible string for gpios"
        ARM: pxa: enable PXA310/PXA320 for DT-only build
        riscv: dts: sifive: fu740: fix size of pcie 32bit memory
        soc: qcom: apr: Make qcom,protection-domain optional again
        ...
      1ed46384