1. 11 Aug, 2022 1 commit
    • Linus Torvalds's avatar
      crypto: blake2b: effectively disable frame size warning · 1d3551ce
      Linus Torvalds authored
      It turns out that gcc-12.1 has some nasty problems with register
      allocation on a 32-bit x86 build for the 64-bit values used in the
      generic blake2b implementation, where the pattern of 64-bit rotates and
      xor operations ends up making gcc generate horrible code.
      
      As a result it ends up with a ridiculously large stack frame for all the
      spills it generates, resulting in the following build problem:
      
          crypto/blake2b_generic.c: In function ‘blake2b_compress_one_generic’:
          crypto/blake2b_generic.c:109:1: error: the frame size of 2640 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]
      
      on the same test-case, clang ends up generating a stack frame that is
      just 296 bytes (and older gcc versions generate a slightly bigger one at
      428 bytes - still nowhere near that almost 3kB monster stack frame of
      gcc-12.1).
      
      The issue is fixed both in mainline and the GCC 12 release branch [1],
      but current release compilers end up failing the i386 allmodconfig build
      due to this issue.
      
      Disable the warning for now by simply raising the frame size for this
      one file, just to keep this issue from having people turn off WERROR.
      
      Link: https://lore.kernel.org/all/CAHk-=wjxqgeG2op+=W9sqgsWqCYnavC+SRfVyopu9-31S6xw+Q@mail.gmail.com/
      Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105930 [1]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1d3551ce
  2. 10 Aug, 2022 10 commits
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-5.20-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · aeb6e6ac
      Linus Torvalds authored
      Pull NFS client updates from Trond Myklebust:
       "Highlights include:
      
        Stable fixes:
         - pNFS/flexfiles: Fix infinite looping when the RDMA connection
           errors out
      
        Bugfixes:
         - NFS: fix port value parsing
         - SUNRPC: Reinitialise the backchannel request buffers before reuse
         - SUNRPC: fix expiry of auth creds
         - NFSv4: Fix races in the legacy idmapper upcall
         - NFS: O_DIRECT fixes from Jeff Layton
         - NFSv4.1: Fix OP_SEQUENCE error handling
         - SUNRPC: Fix an RPC/RDMA performance regression
         - NFS: Fix case insensitive renames
         - NFSv4/pnfs: Fix a use-after-free bug in open
         - NFSv4.1: RECLAIM_COMPLETE must handle EACCES
      
        Features:
         - NFSv4.1: session trunking enhancements
         - NFSv4.2: READ_PLUS performance optimisations
         - NFS: relax the rules for rsize/wsize mount options
         - NFS: don't unhash dentry during unlink/rename
         - SUNRPC: Fail faster on bad verifier
         - NFS/SUNRPC: Various tracing improvements"
      
      * tag 'nfs-for-5.20-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (46 commits)
        NFS: Improve readpage/writepage tracing
        NFS: Improve O_DIRECT tracing
        NFS: Improve write error tracing
        NFS: don't unhash dentry during unlink/rename
        NFSv4/pnfs: Fix a use-after-free bug in open
        NFS: nfs_async_write_reschedule_io must not recurse into the writeback code
        SUNRPC: Don't reuse bvec on retransmission of the request
        SUNRPC: Reinitialise the backchannel request buffers before reuse
        NFSv4.1: RECLAIM_COMPLETE must handle EACCES
        NFSv4.1 probe offline transports for trunking on session creation
        SUNRPC create a function that probes only offline transports
        SUNRPC export xprt_iter_rewind function
        SUNRPC restructure rpc_clnt_setup_test_and_add_xprt
        NFSv4.1 remove xprt from xprt_switch if session trunking test fails
        SUNRPC create an rpc function that allows xprt removal from rpc_clnt
        SUNRPC enable back offline transports in trunking discovery
        SUNRPC create an iterator to list only OFFLINE xprts
        NFSv4.1 offline trunkable transports on DESTROY_SESSION
        SUNRPC add function to offline remove trunkable transports
        SUNRPC expose functions for offline remote xprt functionality
        ...
      aeb6e6ac
    • Linus Torvalds's avatar
      Merge tag 'hwmon-fixes-for-v6.0-rc1' of... · f4144564
      Linus Torvalds authored
      Merge tag 'hwmon-fixes-for-v6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fixes from Guenter Roeck:
       "Fix two regressions in nct6775 and lm90 drivers"
      
      * tag 'hwmon-fixes-for-v6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (nct6775) Fix platform driver suspend regression
        hwmon: (lm90) Fix error return value from detect function
      f4144564
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v5.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux · b196f3d1
      Linus Torvalds authored
      Pull rpmsg fixes from Bjorn Andersson:
       "This fixes schema validation warnings in the Devicetree bindings for
        SMD and SMD RPM"
      
      * tag 'rpmsg-v5.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux:
        dt-bindings: soc: qcom: smd-rpm: extend example
        dt-bindings: soc: qcom: smd: reference SMD edge schema
      b196f3d1
    • Linus Torvalds's avatar
      Merge tag 'mm-stable-2022-08-09' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm · b1701d5e
      Linus Torvalds authored
      Pull remaining MM updates from Andrew Morton:
       "Three patch series - two that perform cleanups and one feature:
      
         - hugetlb_vmemmap cleanups from Muchun Song
      
         - hardware poisoning support for 1GB hugepages, from Naoya Horiguchi
      
         - highmem documentation fixups from Fabio De Francesco"
      
      * tag 'mm-stable-2022-08-09' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (23 commits)
        Documentation/mm: add details about kmap_local_page() and preemption
        highmem: delete a sentence from kmap_local_page() kdocs
        Documentation/mm: rrefer kmap_local_page() and avoid kmap()
        Documentation/mm: avoid invalid use of addresses from kmap_local_page()
        Documentation/mm: don't kmap*() pages which can't come from HIGHMEM
        highmem: specify that kmap_local_page() is callable from interrupts
        highmem: remove unneeded spaces in kmap_local_page() kdocs
        mm, hwpoison: enable memory error handling on 1GB hugepage
        mm, hwpoison: skip raw hwpoison page in freeing 1GB hugepage
        mm, hwpoison: make __page_handle_poison returns int
        mm, hwpoison: set PG_hwpoison for busy hugetlb pages
        mm, hwpoison: make unpoison aware of raw error info in hwpoisoned hugepage
        mm, hwpoison, hugetlb: support saving mechanism of raw error pages
        mm/hugetlb: make pud_huge() and follow_huge_pud() aware of non-present pud entry
        mm/hugetlb: check gigantic_page_runtime_supported() in return_unused_surplus_pages()
        mm: hugetlb_vmemmap: use PTRS_PER_PTE instead of PMD_SIZE / PAGE_SIZE
        mm: hugetlb_vmemmap: move code comments to vmemmap_dedup.rst
        mm: hugetlb_vmemmap: improve hugetlb_vmemmap code readability
        mm: hugetlb_vmemmap: replace early_param() with core_param()
        mm: hugetlb_vmemmap: move vmemmap code related to HugeTLB to hugetlb_vmemmap.c
        ...
      b1701d5e
    • Linus Torvalds's avatar
      Merge tag 'cxl-for-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl · c2356983
      Linus Torvalds authored
      Pull cxl updates from Dan Williams:
       "Compute Express Link (CXL) updates for 6.0:
      
         - Introduce a 'struct cxl_region' object with support for
           provisioning and assembling persistent memory regions.
      
         - Introduce alloc_free_mem_region() to accompany the existing
           request_free_mem_region() as a method to allocate physical memory
           capacity out of an existing resource.
      
         - Export insert_resource_expand_to_fit() for the CXL subsystem to
           late-publish CXL platform windows in iomem_resource.
      
         - Add a polled mode PCI DOE (Data Object Exchange) driver service and
           use it in cxl_pci to retrieve the CDAT (Coherent Device Attribute
           Table)"
      
      * tag 'cxl-for-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl: (74 commits)
        cxl/hdm: Fix skip allocations vs multiple pmem allocations
        cxl/region: Disallow region granularity != window granularity
        cxl/region: Fix x1 interleave to greater than x1 interleave routing
        cxl/region: Move HPA setup to cxl_region_attach()
        cxl/region: Fix decoder interleave programming
        Documentation: cxl: remove dangling kernel-doc reference
        cxl/region: describe targets and nr_targets members of cxl_region_params
        cxl/regions: add padding for cxl_rr_ep_add nested lists
        cxl/region: Fix IS_ERR() vs NULL check
        cxl/region: Fix region reference target accounting
        cxl/region: Fix region commit uninitialized variable warning
        cxl/region: Fix port setup uninitialized variable warnings
        cxl/region: Stop initializing interleave granularity
        cxl/hdm: Fix DPA reservation vs cxl_endpoint_decoder lifetime
        cxl/acpi: Minimize granularity for x1 interleaves
        cxl/region: Delete 'region' attribute from root decoders
        cxl/acpi: Autoload driver for 'cxl_acpi' test devices
        cxl/region: decrement ->nr_targets on error in cxl_region_attach()
        cxl/region: prevent underflow in ways_to_cxl()
        cxl/region: uninitialized variable in alloc_hpa()
        ...
      c2356983
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 5e2e7383
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "Outside the pinctrl driver and DT bindings we hit some Arm DT files,
        patched by the maintainers.
      
        Other than that it is business as usual.
      
        Core changes:
      
         - Add PINCTRL_PINGROUP() helper macro (and use it in the AMD driver).
      
        New drivers:
      
         - Intel Meteor Lake support.
      
         - Reneasas RZ/V2M and r8a779g0 (R-Car V4H).
      
         - AXP209 variants AXP221, AXP223 and AXP809.
      
         - Qualcomm MSM8909, PM8226, PMP8074 and SM6375.
      
         - Allwinner D1.
      
        Improvements:
      
         - Proper pin multiplexing in the AMD driver.
      
         - Mediatek MT8192 can use generic drive strength and pin bias, then
           fixes on top plus some I2C pin group fixes.
      
         - Have the Allwinner Sunplus SP7021 use the generic DT schema and
           make interrupts optional.
      
         - Handle Qualcomm SC7280 ADSP.
      
         - Handle Qualcomm MSM8916 CAMSS GP clock muxing.
      
         - High impedance bias on ZynqMP.
      
         - Serialize StarFive access to MMIO.
      
         - Immutable gpiochip for BCM2835, Ingenic, Qualcomm SPMI GPIO"
      
      * tag 'pinctrl-v6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (117 commits)
        dt-bindings: pinctrl: qcom,pmic-gpio: add PM8226 constraints
        pinctrl: qcom: Make PINCTRL_SM8450 depend on PINCTRL_MSM
        pinctrl: qcom: sm8250: Fix PDC map
        pinctrl: amd: Fix an unused variable
        dt-bindings: pinctrl: mt8186: Add and use drive-strength-microamp
        dt-bindings: pinctrl: mt8186: Add gpio-line-names property
        ARM: dts: imxrt1170-pinfunc: Add pinctrl binding header
        pinctrl: amd: Use unicode for debugfs output
        pinctrl: amd: Fix newline declaration in debugfs output
        pinctrl: at91: Fix typo 'the the' in comment
        dt-bindings: pinctrl: st,stm32: Correct 'resets' property name
        pinctrl: mvebu: Missing a blank line after declarations.
        pinctrl: qcom: Add SM6375 TLMM driver
        dt-bindings: pinctrl: Add DT schema for SM6375 TLMM
        dt-bindings: pinctrl: mt8195: Use drive-strength-microamp in examples
        Revert "pinctrl: qcom: spmi-gpio: make the irqchip immutable"
        pinctrl: imx93: Add MODULE_DEVICE_TABLE()
        pinctrl: sunxi: Add driver for Allwinner D1
        pinctrl: sunxi: Make some layout parameters dynamic
        pinctrl: sunxi: Refactor register/offset calculation
        ...
      5e2e7383
    • Linus Torvalds's avatar
      Merge tag 'apparmor-pr-2022-08-08' of... · 00aa9d0b
      Linus Torvalds authored
      Merge tag 'apparmor-pr-2022-08-08' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor
      
      Pull AppArmor updates from John Johansen:
       "This is mostly cleanups and bug fixes with the one bigger change being
        Mathew Wilcox's patch to use XArrays instead of the IDR from the
        thread around the locking weirdness.
      
        Features:
         - Convert secid mapping to XArrays instead of IDR
         - Add a kernel label to use on kernel objects
         - Extend policydb permission set by making use of the xbits
         - Make export of raw binary profile to userspace optional
         - Enable tuning of policy paranoid load for embedded systems
         - Don't create raw_sha1 symlink if sha1 hashing is disabled
         - Allow labels to carry debug flags
      
        Cleanups:
         - Update MAINTAINERS file
         - Use struct_size() helper in kmalloc()
         - Move ptrace mediation to more logical task.{h,c}
         - Resolve uninitialized symbol warnings
         - Remove redundant ret variable
         - Mark alloc_unconfined() as static
         - Update help description of policy hash for introspection
         - Remove some casts which are no-longer required
      
        Bug Fixes:
         - Fix aa_label_asxprint return check
         - Fix reference count leak in aa_pivotroot()
         - Fix memleak in aa_simple_write_to_buffer()
         - Fix kernel doc comments
         - Fix absroot causing audited secids to begin with =
         - Fix quiet_denied for file rules
         - Fix failed mount permission check error message
         - Disable showing the mode as part of a secid to secctx
         - Fix setting unconfined mode on a loaded profile
         - Fix overlapping attachment computation
         - Fix undefined reference to `zlib_deflate_workspacesize'"
      
      * tag 'apparmor-pr-2022-08-08' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor: (34 commits)
        apparmor: Update MAINTAINERS file with new email address
        apparmor: correct config reference to intended one
        apparmor: move ptrace mediation to more logical task.{h,c}
        apparmor: extend policydb permission set by making use of the xbits
        apparmor: allow label to carry debug flags
        apparmor: fix overlapping attachment computation
        apparmor: fix setting unconfined mode on a loaded profile
        apparmor: Fix some kernel-doc comments
        apparmor: Mark alloc_unconfined() as static
        apparmor: disable showing the mode as part of a secid to secctx
        apparmor: Convert secid mapping to XArrays instead of IDR
        apparmor: add a kernel label to use on kernel objects
        apparmor: test: Remove some casts which are no-longer required
        apparmor: Fix memleak in aa_simple_write_to_buffer()
        apparmor: fix reference count leak in aa_pivotroot()
        apparmor: Fix some kernel-doc comments
        apparmor: Fix undefined reference to `zlib_deflate_workspacesize'
        apparmor: fix aa_label_asxprint return check
        apparmor: Fix some kernel-doc comments
        apparmor: Fix some kernel-doc comments
        ...
      00aa9d0b
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 0af5cb34
      Linus Torvalds authored
      Pull Kbuild updates from Masahiro Yamada:
      
       - Remove the support for -O3 (CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3)
      
       - Fix error of rpm-pkg cross-builds
      
       - Support riscv for checkstack tool
      
       - Re-enable -Wformwat warnings for Clang
      
       - Clean up modpost, Makefiles, and misc scripts
      
      * tag 'kbuild-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (30 commits)
        modpost: remove .symbol_white_list field entirely
        modpost: remove unneeded .symbol_white_list initializers
        modpost: add PATTERNS() helper macro
        modpost: shorten warning messages in report_sec_mismatch()
        Revert "Kbuild, lto, workaround: Don't warn for initcall_reference in modpost"
        modpost: use more reliable way to get fromsec in section_rel(a)()
        modpost: add array range check to sec_name()
        modpost: refactor get_secindex()
        kbuild: set EXIT trap before creating temporary directory
        modpost: remove unused Elf_Sword macro
        Makefile.extrawarn: re-enable -Wformat for clang
        kbuild: add dtbs_prepare target
        kconfig: Qt5: tell the user which packages are required
        modpost: use sym_get_data() to get module device_table data
        modpost: drop executable ELF support
        checkstack: add riscv support for scripts/checkstack.pl
        kconfig: shorten the temporary directory name for cc-option
        scripts: headers_install.sh: Update config leak ignore entries
        kbuild: error out if $(INSTALL_MOD_PATH) contains % or :
        kbuild: error out if $(KBUILD_EXTMOD) contains % or :
        ...
      0af5cb34
    • Zev Weiss's avatar
      hwmon: (nct6775) Fix platform driver suspend regression · f4e6960f
      Zev Weiss authored
      Commit c3963bc0 ("hwmon: (nct6775) Split core and platform
      driver") introduced a slight change in nct6775_suspend() in order to
      avoid an otherwise-needless symbol export for nct6775_update_device(),
      replacing a call to that function with a simple dev_get_drvdata()
      instead.
      
      As it turns out, there is no guarantee that nct6775_update_device()
      is ever called prior to suspend. If this happens, the resume function
      ends up writing bad data into the various chip registers, which results
      in a crash shortly after resume.
      
      To fix the problem, just add the symbol export and return to using
      nct6775_update_device() as was employed previously.
      Reported-by: default avatarZoltán Kővágó <dirty.ice.hu@gmail.com>
      Tested-by: default avatarZoltán Kővágó <dirty.ice.hu@gmail.com>
      Fixes: c3963bc0 ("hwmon: (nct6775) Split core and platform driver")
      Cc: stable@kernel.org
      Signed-off-by: default avatarZev Weiss <zev@bewilderbeest.net>
      Link: https://lore.kernel.org/r/20220810052646.13825-1-zev@bewilderbeest.net
      [groeck: Updated description]
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      f4e6960f
    • Guenter Roeck's avatar
      hwmon: (lm90) Fix error return value from detect function · 7aeef154
      Guenter Roeck authored
      lm90_detect_nuvoton() is supposed to return NULL if it can not detect
      a chip, or a pointer to the chip name if it does. Under some circumstances
      it returns an error pointer instead. Some versions of gcc interpret an
      ERR_PTR as region of size 0 and generate an error message.
      
        In function ‘__fortify_strlen’,
            inlined from ‘strlcpy’ at ./include/linux/fortify-string.h:159:10,
            inlined from ‘lm90_detect’ at drivers/hwmon/lm90.c:2550:2:
        ./include/linux/fortify-string.h:50:33: error:
            ‘__builtin_strlen’ reading 1 or more bytes from a region of size 0
           50 | #define __underlying_strlen     __builtin_strlen
              |                                 ^
        ./include/linux/fortify-string.h:141:24: note:
            in expansion of macro ‘__underlying_strlen’
          141 |                 return __underlying_strlen(p);
              |                        ^~~~~~~~~~~~~~~~~~~
      
      Returning NULL instead of ERR_PTR() fixes the problem.
      
      Fixes: c7cebce9 ("hwmon: (lm90) Rework detect function")
      Reported-by: default avatarIngo Molnar <mingo@kernel.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Kees Cook <keescook@chromium.org>
      Tested-by: default avatarIngo Molnar <mingo@kernel.org>
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      7aeef154
  3. 09 Aug, 2022 29 commits