1. 11 6月, 2022 20 次提交
    • D
      netfs: Rename the netfs_io_request cleanup op and give it an op pointer · 40a81101
      David Howells 提交于
      The netfs_io_request cleanup op is now always in a position to be given a
      pointer to a netfs_io_request struct, so this can be passed in instead of
      the mapping and private data arguments (both of which are included in the
      struct).
      
      So rename the ->cleanup op to ->free_request (to match ->init_request) and
      pass in the I/O pointer.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Reviewed-by: NJeff Layton <jlayton@kernel.org>
      cc: linux-cachefs@redhat.com
      40a81101
    • L
      netfs: Further cleanups after struct netfs_inode wrapper introduced · e81fb419
      Linus Torvalds 提交于
      Change the signature of netfs helper functions to take a struct netfs_inode
      pointer rather than a struct inode pointer where appropriate, thereby
      relieving the need for the network filesystem to convert its internal inode
      format down to the VFS inode only for netfslib to bounce it back up.  For
      type safety, it's better not to do that (and it's less typing too).
      
      Give netfs_write_begin() an extra argument to pass in a pointer to the
      netfs_inode struct rather than deriving it internally from the file
      pointer.  Note that the ->write_begin() and ->write_end() ops are intended
      to be replaced in the future by netfslib code that manages this without the
      need to call in twice for each page.
      
      netfs_readpage() and similar are intended to be pointed at directly by the
      address_space_operations table, so must stick to the signature dictated by
      the function pointers there.
      
      Changes
      =======
      - Updated the kerneldoc comments and documentation [DH].
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      cc: linux-cachefs@redhat.com
      Link: https://lore.kernel.org/r/CAHk-=wgkwKyNmNdKpQkqZ6DnmUL-x9hp0YBnUGjaPFEAdxDTbw@mail.gmail.com/
      e81fb419
    • D
      afs: Fix some checker issues · 102d8410
      David Howells 提交于
      Remove an unused global variable and make another static as reported by
      make C=1.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      cc: linux-afs@lists.infradead.org
      102d8410
    • L
      Merge tag 'devicetree-fixes-for-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · aa3398fb
      Linus Torvalds 提交于
      Pull more devicetree fixes from Rob Herring:
      
       - More DT meta-schema check fixes from new bindings in merge window
      
       - Fix stale DT binding references from Mauro
      
       - Update various binding maintainers
      
       - Fix in arm,malidp properties to match reality
      
       - Add deprecated 'atheros' vendor prefix
      
      * tag 'devicetree-fixes-for-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: display: arm,malidp: remove bogus RQOS property
        dt-bindings: pinctrl: ralink: Fix 'enum' lists with duplicate entries
        dt-bindings: Drop more redundant 'maxItems/minItems' in if/then schemas
        dt-bindings: nvme: apple,nvme-ans: Drop 'maxItems' from 'apple,sart'
        MAINTAINERS: rectify entries for ARM DRM DRIVERS after dt conversion
        MAINTAINERS: update snps,axs10x-reset.yaml reference
        MAINTAINERS: update dongwoon,dw9807-vcm.yaml reference
        MAINTAINERS: update cortina,gemini-ethernet.yaml reference
        dt-bindings: mfd: rk808: update rockchip,rk808.yaml reference
        dt-bindings: reset: update st,stih407-powerdown.yaml references
        dt-bindings: arm: update vexpress-config.yaml references
        dt-bindings: interrupt-controller: update brcm,l2-intc.yaml reference
        dt-bindings: mfd: bd9571mwv: update rohm,bd9571mwv.yaml reference
        dt-bindings: update Luca Ceresoli's e-mail address
        dt-bindings: msm: update maintainers list with proper id
        dt-bindings: vendor-prefixes: document deprecated Atheros
        dt-bindings: Update QCOM USB subsystem maintainer information
      aa3398fb
    • L
      Merge tag 'pm-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 1bc27dec
      Linus Torvalds 提交于
      Pull power management fixes from Rafael Wysocki:
       "These fix an intel_idle issue introduced during the 5.16 development
        cycle and two recent regressions in the system reboot/poweroff code.
      
        Specifics:
      
         - Fix CPUIDLE_FLAG_IRQ_ENABLE handling in intel_idle (Peter Zijlstra)
      
         - Allow all platforms to use the global poweroff handler and make
           non-syscall poweroff code paths work again (Dmitry Osipenko)"
      
      * tag 'pm-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpuidle,intel_idle: Fix CPUIDLE_FLAG_IRQ_ENABLE
        kernel/reboot: Fix powering off using a non-syscall code paths
        kernel/reboot: Use static handler for register_platform_power_off()
      1bc27dec
    • D
      certs: Convert spaces in certs/Makefile to a tab · d56fd986
      David Howells 提交于
      There's a rule in certs/Makefile for which the command begins with eight
      spaces.  This results in:
      
              ../certs/Makefile:21: FORCE prerequisite is missing
              ../certs/Makefile:21: *** missing separator.  Stop.
      
      Fix this by turning the spaces into a tab.
      
      Fixes: addf4663 ("certs: Check that builtin blacklist hashes are valid")
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Reviewed-by: NJarkko Sakkinen <jarkko@kernel.org>
      Reviewed-by: NMickaël Salaün <mic@linux.microsoft.com>
      cc: keyrings@vger.kernel.org
      Link: https://lore.kernel.org/r/486b1b80-9932-aab6-138d-434c541c934a@digikod.net/ # v1
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d56fd986
    • A
      dt-bindings: display: arm,malidp: remove bogus RQOS property · 0b9431c8
      Andre Przywara 提交于
      As Liviu pointed out, the arm,malidp-arqos-high-level property
      mentioned in the original .txt binding was a mistake, and
      arm,malidp-arqos-value needs to take its place.
      
      The binding commit ce6eb025 ("dt/bindings: display: Add optional
      property node define for Mali DP500") mentions the right name in the
      commit message, but has the wrong name in the diff.
      Commit d298e6a2 ("drm/arm/mali-dp: Add display QoS interface
      configuration for Mali DP500") uses the property in the driver, but uses
      the shorter name.
      
      Remove the wrong property from the binding, and use the proper name in
      the example. The actual property was already documented properly.
      
      Fixes: 2c8b082a ("dt-bindings: display: convert Arm Mali-DP to DT schema")
      Link: https://lore.kernel.org/linux-arm-kernel/YnumGEilUblhBx8E@e110455-lin.cambridge.arm.com/Signed-off-by: NAndre Przywara <andre.przywara@arm.com>
      Reported-by: NLiviu Dudau <liviu.dudau@arm.com>
      Reviewed-by: NLiviu Dudau <liviu.dudau@arm.com>
      Signed-off-by: NRob Herring <robh@kernel.org>
      Link: https://lore.kernel.org/r/20220609162729.1441760-1-andre.przywara@arm.com
      0b9431c8
    • R
      Merge branch 'pm-sysoff' · 67e59f8d
      Rafael J. Wysocki 提交于
      Merge fixes for regressions introduced by the recent rework of the
      system reboot/poweroff code.
      
      * pm-sysoff:
        kernel/reboot: Fix powering off using a non-syscall code paths
        kernel/reboot: Use static handler for register_platform_power_off()
      67e59f8d
    • R
      dt-bindings: pinctrl: ralink: Fix 'enum' lists with duplicate entries · 01aa6cbf
      Rob Herring 提交于
      There's no reason to list the same value twice in an 'enum'. This was fixed
      treewide in commit c3b00681 ("dt-bindings: Fix 'enum' lists with
      duplicate entries"), but this one got added in the merge window.
      
      A meta-schema change will catch future cases.
      Signed-off-by: NRob Herring <robh@kernel.org>
      Acked-by: NSergio Paracuellos <sergio.paracuellos@gmail.com>
      Link: https://lore.kernel.org/r/20220606212239.1360877-1-robh@kernel.org
      01aa6cbf
    • L
      Merge tag 'docs-5.19-3' of git://git.lwn.net/linux · fe43c018
      Linus Torvalds 提交于
      Pull documentation fixes from Jonathan Corbet:
       "A few documentation fixes for 5.19, including moving the new HTE docs
        to a more suitable location, adding loongarch to the features lists,
        and a couple of typo fixes"
      
      * tag 'docs-5.19-3' of git://git.lwn.net/linux:
        docs: arm: tcm: Fix typo in description of TCM and MMU usage
        docs: Move the HTE documentation to driver-api/
        docs: usb: fix literal block marker in usbmon verification example
        Documentation/features: Update the arch support status files
      fe43c018
    • L
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 36a23663
      Linus Torvalds 提交于
      Pull arm64 fixes from Catalin Marinas:
      
       - SME save/restore for EFI fix - incorrect logic for detecting the need
         for saving/restoring the FFR state.
      
       - SME fix for a CPU ID field value.
      
       - Sysreg generation awk script fix (comparison operator).
      
       - Some typos in documentation or comments and silence a sparse warning
         (missing prototype).
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: Add kasan_hw_tags_enable() prototype to silence sparse
        arm64/sme: Fix EFI save/restore
        arm64/fpsimd: Fix typo in comment
        arm64/sysreg: Fix typo in Enum element regex
        arm64/sme: Fix SVE/SME typo in ABI documentation
        arm64/sme: Fix tests for 0b1111 value ID registers
      36a23663
    • L
      Merge tag 'zonefs-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs · ad6e0764
      Linus Torvalds 提交于
      Pull zonefs fixes from Damien Le Moal:
      
       - Fix handling of the explicit-open mount option, and in particular the
         conditions under which this option can be ignored.
      
       - Fix a problem with zonefs iomap_begin method, causing a hang in
         iomap_readahead() when a readahead request reaches the end of a file.
      
      * tag 'zonefs-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs:
        zonefs: fix zonefs_iomap_begin() for reads
        zonefs: Do not ignore explicit_open with active zone limit
        zonefs: fix handling of explicit_open option on mount
      ad6e0764
    • L
      Merge tag 'ata-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · f7a1d00e
      Linus Torvalds 提交于
      Pull ATA fixes from Damien Le Moal:
       "Several small fixes for rc2:
      
         - Remove unused field in struct ata_port (Hannes)
      
         - Fix a potential (very unlikely) NULL pointer dereference in
           ata_host_alloc_pinfo() (Sergey)
      
         - Fix a device reference leak in the pata_octeon_cf driver (Miaoqian)
      
         - Fixes for handling access to the concurrent positioning ranges log
           page used with multi-actuator HDDs (Tyler)
      
         - Fix the values shown by the pio_mode and dma_mode sysfs device
           attributes (Sergey)
      
         - Update the MAINTAINERS file to add libata sysfs ABI documentation
           file (Sergey)"
      
      * tag 'ata-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
        MAINTAINERS: add ATA sysfs file documentation to libata entry
        ata: libata-transport: fix {dma|pio|xfer}_mode sysfs files
        libata: fix translation of concurrent positioning ranges
        libata: fix reading concurrent positioning ranges log
        ata: pata_octeon_cf: Fix refcount leak in octeon_cf_probe
        ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo()
        ata: libata: drop 'sas_last_tag'
      f7a1d00e
    • L
      Merge tag 'sound-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 8f7ac50c
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "A collection of fixes; almost all changes are device-specific small
        fixes over ASoC, HD-audio and USB-audio. No sign of serious breakage,
        so far"
      
      * tag 'sound-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (23 commits)
        ALSA: hda/realtek: Add quirk for HP Dev One
        ALSA: hda/realtek - Add HW8326 support
        ALSA: hda/conexant - Fix loopback issue with CX20632
        ALSA: hda: MTL: add HD Audio PCI ID and HDMI codec vendor ID
        ALSA: usb-audio: Set up (implicit) sync for Saffire 6
        ALSA: usb-audio: Skip generic sync EP parse for secondary EP
        ASoC: wm_adsp: Fix event generation for wm_adsp_fw_put()
        ASoC: es8328: Fix event generation for deemphasis control
        ASoC: wm8962: Fix suspend while playing music
        ASoC: SOF: ipc-msg-injector: Fix reversed if statement
        ASoC: SOF: ipc-msg-injector: Propagate write errors correctly
        ASoC: fsl_sai: Add support for i.MX8MN
        ASoC: SOF: Fix potential NULL pointer dereference
        ALSA: hda/realtek: Fix for quirk to enable speaker output on the Lenovo Yoga DuetITL 2021
        ASoC: cs42l51: Correct minimum value for SX volume control
        ASoC: cs42l56: Correct typo in minimum level for SX volume controls
        ASoC: cs42l52: Correct TLV for Bypass Volume
        ASoC: cs53l30: Correct number of volume levels on SX controls
        ASoC: cs35l36: Update digital volume TLV
        ASoC: cs42l52: Fix TLV scales for mixer controls
        ...
      8f7ac50c
    • L
      Merge tag 'drm-fixes-2022-06-10' of git://anongit.freedesktop.org/drm/drm · 8dd77d44
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Not a huge amount here, mainly a bunch of scattered amdgpu fixes, and
        then some misc panfrost, bridge/panel ones, and one ast fix for
        multi-monitors. Probably pick up a bit more next week like rc3 often
        does.
      
        amdgpu:
         - DCN 3.1 golden settings fix
         - eDP fixes
         - DMCUB fixes
         - GFX11 fixes and cleanups
         - VCN fix for yellow carp
         - GMC11 fixes
         - RAS fixes
         - GPUVM TLB flush fixes
         - SMU13 fixes
         - VCN3 AV1 regression fix
         - VCN2 JPEG fix
         - Other misc fixes
      
        amdkfd:
         - MMU notifier fix
         - Support for more GC 10.3.x families
         - Pinned BO handling fix
         - Partial migration bug fix
      
        panfrost:
         - fix a use after free
      
        ti-sn65dsi83:
         - fix invalid DT configuration
      
        panel:
         - two self refresh fixes
      
        ast:
         - multiple output fix"
      
      * tag 'drm-fixes-2022-06-10' of git://anongit.freedesktop.org/drm/drm: (37 commits)
        drm/ast: Support multiple outputs
        drm/amdgpu/mes: only invalid/prime icache when finish loading both pipe MES FWs.
        drm/amdgpu/jpeg2: Add jpeg vmid update under IB submit
        drm/amdgpu: always flush the TLB on gfx8
        drm/amdgpu: fix limiting AV1 to the first instance on VCN3
        drm/amdkfd:Fix fw version for 10.3.6
        drm/amdgpu: Add MODE register to wave debug info in gfx11
        Revert "drm/amd/display: Pass the new context into disable OTG WA"
        Revert "drm/amdgpu: Ensure the DMA engine is deactivated during set ups"
        drm/atomic: Force bridge self-refresh-exit on CRTC switch
        drm/bridge: analogix_dp: Support PSR-exit to disable transition
        drm/amdgpu: suppress the compile warning about 64 bit type
        drm/amd/pm: suppress compile warnings about possible unaligned accesses
        drm/amdkfd: Fix partial migration bugs
        drm/amdkfd: add pinned BOs to kfd_bo_list
        drm/amdgpu: Update PDEs flush TLB if PTB/PDB moved
        drm/amdgpu: enable tmz by default for GC 10.3.7
        drm/amdkfd: Add GC 10.3.6 and 10.3.7 KFD definitions
        drm/amdkfd: Use mmget_not_zero in MMU notifier
        drm/amdgpu: Resolve RAS GFX error count issue after cold boot on Arcturus
        ...
      8dd77d44
    • L
      Merge tag 'net-5.19-rc2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 68171bbd
      Linus Torvalds 提交于
      Pull networking fixes from Jakub Kicinski:
       "Quick follow up, to cleanly fast-forward net again.
      
        Current release - new code bugs:
      
         - Revert "net/mlx5e: Allow relaxed ordering over VFs"
      
        Previous releases - regressions:
      
         - seg6: fix seg6_lookup_any_nexthop() to handle VRFs using
           flowi_l3mdev
      
        Misc:
      
         - rename TLS_INFO_ZC_SENDFILE to better express the meaning"
      
      * tag 'net-5.19-rc2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net:
        net: seg6: fix seg6_lookup_any_nexthop() to handle VRFs using flowi_l3mdev
        nfp: flower: restructure flow-key for gre+vlan combination
        nfp: avoid unnecessary check warnings in nfp_app_get_vf_config
        tls: Rename TLS_INFO_ZC_SENDFILE to TLS_INFO_ZC_TX
        net/mlx5: fs, fail conflicting actions
        net/mlx5: Rearm the FW tracer after each tracer event
        net/mlx5: E-Switch, pair only capable devices
        net/mlx5e: CT: Fix cleanup of CT before cleanup of TC ct rules
        Revert "net/mlx5e: Allow relaxed ordering over VFs"
        MAINTAINERS: adjust MELLANOX ETHERNET INNOVA DRIVERS to TLS support removal
      68171bbd
    • C
      arm64: Add kasan_hw_tags_enable() prototype to silence sparse · 78cdaf3f
      Catalin Marinas 提交于
      This function is only called from assembly, no need for a prototype
      declaration in a header file. In addition, add #ifdef around the
      function since it is only used when CONFIG_KASAN_HW_TAGS.
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      Reported-by: Nkernel test robot <lkp@intel.com>
      78cdaf3f
    • L
      Merge tag 'for-linus-5.19a-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · f2ecc964
      Linus Torvalds 提交于
      Pull xen updates from Juergen Gross:
      
       - a small cleanup removing "export" of an __init function
      
       - a small series adding a new infrastructure for platform flags
      
       - a series adding generic virtio support for Xen guests (frontend side)
      
      * tag 'for-linus-5.19a-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen: unexport __init-annotated xen_xlate_map_ballooned_pages()
        arm/xen: Assign xen-grant DMA ops for xen-grant DMA devices
        xen/grant-dma-ops: Retrieve the ID of backend's domain for DT devices
        xen/grant-dma-iommu: Introduce stub IOMMU driver
        dt-bindings: Add xen,grant-dma IOMMU description for xen-grant DMA ops
        xen/virtio: Enable restricted memory access using Xen grant mappings
        xen/grant-dma-ops: Add option to restrict memory access under Xen
        xen/grants: support allocating consecutive grants
        arm/xen: Introduce xen_setup_dma_ops()
        virtio: replace arch_has_restricted_virtio_memory_access()
        kernel: add platform_has() infrastructure
      f2ecc964
    • L
      Merge tag 'mips-fixes_5.19_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 7d78b7eb
      Linus Torvalds 提交于
      Pull MIPS fix from Thomas Bogendoerfer:
       "Build fix for Loongson-3"
      
      * tag 'mips-fixes_5.19_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        MIPS: Loongson-3: fix compile mips cpu_hwmon as module build error.
      7d78b7eb
    • M
      arm64/sme: Fix EFI save/restore · 2e990e63
      Mark Brown 提交于
      The EFI save/restore code is confused. When saving the check for saving
      FFR is inverted due to confusion with the streaming mode check, and when
      restoring we check if we need to restore FFR by checking the percpu
      efi_sm_state without the required wrapper rather than based on the
      combination of FA64 support and streaming mode.
      
      Fixes: e0838f63 ("arm64/sme: Save and restore streaming mode over EFI runtime calls")
      Reported-by: Nkernel test robot <lkp@intel.com>
      Reviewed-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      Link: https://lore.kernel.org/r/20220602124132.3528951-1-broonie@kernel.orgSigned-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      2e990e63
  2. 10 6月, 2022 20 次提交
    • X
      bb314511
    • A
      arm64/sysreg: Fix typo in Enum element regex · ce253b85
      Alejandro Tafalla 提交于
      In the awk script, there was a typo with the comparison operator when
      checking if the matched pattern is inside an Enum block.
      This prevented the generation of the whole sysreg-defs.h header.
      
      Fixes: 66847e06 ("arm64: Add sysreg header generation scripting")
      Signed-off-by: NAlejandro Tafalla <atafalla@dnyon.com>
      Reviewed-by: NMark Brown <broonie@kernel.org>
      Link: https://lore.kernel.org/r/20220609204220.12112-1-atafalla@dnyon.comSigned-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      ce253b85
    • J
      Merge tag 'mlx5-fixes-2022-06-08' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · bf56a091
      Jakub Kicinski 提交于
      Saeed Mahameed says:
      
      ====================
      mlx5 fixes 2022-06-08
      
      This series provides bug fixes to mlx5 driver.
      
      * tag 'mlx5-fixes-2022-06-08' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux:
        net/mlx5: fs, fail conflicting actions
        net/mlx5: Rearm the FW tracer after each tracer event
        net/mlx5: E-Switch, pair only capable devices
        net/mlx5e: CT: Fix cleanup of CT before cleanup of TC ct rules
        Revert "net/mlx5e: Allow relaxed ordering over VFs"
        MAINTAINERS: adjust MELLANOX ETHERNET INNOVA DRIVERS to TLS support removal
      ====================
      
      Link: https://lore.kernel.org/r/20220608185855.19818-1-saeed@kernel.orgSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      bf56a091
    • A
      net: seg6: fix seg6_lookup_any_nexthop() to handle VRFs using flowi_l3mdev · a3bd2102
      Andrea Mayer 提交于
      Commit 40867d74 ("net: Add l3mdev index to flow struct and avoid oif
      reset for port devices") adds a new entry (flowi_l3mdev) in the common
      flow struct used for indicating the l3mdev index for later rule and
      table matching.
      The l3mdev_update_flow() has been adapted to properly set the
      flowi_l3mdev based on the flowi_oif/flowi_iif. In fact, when a valid
      flowi_iif is supplied to the l3mdev_update_flow(), this function can
      update the flowi_l3mdev entry only if it has not yet been set (i.e., the
      flowi_l3mdev entry is equal to 0).
      
      The SRv6 End.DT6 behavior in VRF mode leverages a VRF device in order to
      force the routing lookup into the associated routing table. This routing
      operation is performed by seg6_lookup_any_nextop() preparing a flowi6
      data structure used by ip6_route_input_lookup() which, in turn,
      (indirectly) invokes l3mdev_update_flow().
      
      However, seg6_lookup_any_nexthop() does not initialize the new
      flowi_l3mdev entry which is filled with random garbage data. This
      prevents l3mdev_update_flow() from properly updating the flowi_l3mdev
      with the VRF index, and thus SRv6 End.DT6 (VRF mode)/DT46 behaviors are
      broken.
      
      This patch correctly initializes the flowi6 instance allocated and used
      by seg6_lookup_any_nexhtop(). Specifically, the entire flowi6 instance
      is wiped out: in case new entries are added to flowi/flowi6 (as happened
      with the flowi_l3mdev entry), we should no longer have incorrectly
      initialized values. As a result of this operation, the value of
      flowi_l3mdev is also set to 0.
      
      The proposed fix can be tested easily. Starting from the commit
      referenced in the Fixes, selftests [1],[2] indicate that the SRv6
      End.DT6 (VRF mode)/DT46 behaviors no longer work correctly. By applying
      this patch, those behaviors are back to work properly again.
      
      [1] - tools/testing/selftests/net/srv6_end_dt46_l3vpn_test.sh
      [2] - tools/testing/selftests/net/srv6_end_dt6_l3vpn_test.sh
      
      Fixes: 40867d74 ("net: Add l3mdev index to flow struct and avoid oif reset for port devices")
      Reported-by: NAnton Makarov <am@3a-alliance.com>
      Signed-off-by: NAndrea Mayer <andrea.mayer@uniroma2.it>
      Reviewed-by: NDavid Ahern <dsahern@kernel.org>
      Link: https://lore.kernel.org/r/20220608091917.20345-1-andrea.mayer@uniroma2.itSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      a3bd2102
    • J
      Merge branch 'nfp-fixes-for-v5-19' · cd3ff99b
      Jakub Kicinski 提交于
      Simon Horman says:
      
      ====================
      nfp: fixes for v5.19
      
      this short series includes two fixes for the NFP driver.
      
      1. Restructure GRE+VLAN flower offload to address a miss match
         between the NIC firmware and driver implementation which
         prevented these features from working in combination.
      
      2. Prevent unnecessary warnings regarding rate limiting support.-
         It is expected that this feature to not _always_ be present
         but this was not taken into account when the code to check
         for this feature was added.
      ====================
      
      Link: https://lore.kernel.org/r/20220608092901.124780-1-simon.horman@corigine.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      cd3ff99b
    • E
      nfp: flower: restructure flow-key for gre+vlan combination · a0b84334
      Etienne van der Linde 提交于
      Swap around the GRE and VLAN parts in the flow-key offloaded by
      the driver to fit in with other tunnel types and the firmware.
      Without this change used cases with GRE+VLAN on the outer header
      does not get offloaded as the flow-key mismatches what the
      firmware expect.
      
      Fixes: 0d630f58 ("nfp: flower: add support to offload QinQ match")
      Fixes: 5a2b9304 ("nfp: flower-ct: compile match sections of flow_payload")
      Signed-off-by: NEtienne van der Linde <etienne.vanderlinde@corigine.com>
      Signed-off-by: NLouis Peens <louis.peens@corigine.com>
      Signed-off-by: NYinjun Zhang <yinjun.zhang@corigine.com>
      Signed-off-by: NSimon Horman <simon.horman@corigine.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      a0b84334
    • F
      nfp: avoid unnecessary check warnings in nfp_app_get_vf_config · 03d5005f
      Fei Qin 提交于
      nfp_net_sriov_check is added in nfp_app_get_vf_config which intends
      to ensure ivi->vlan_proto and ivi->max_tx_rate/min_tx_rate can be
      read from VF config table only when firmware supports corresponding
      capability.
      
      However, "nfp_app_get_vf_config" can be called by commands like
      "ip a", "ip link set $DEV up" and "ip link set $DEV vf $NUM vlan
      $param" (with VF). When using commands above, many warnings
      "ndo_set_vf_<cap_x> not supported" would appear if firmware doesn't
      support VF rate limit and 802.1ad VLAN assingment. If more VFs are
      created, things could get worse.
      
      Thus, this patch add an extra bool parameter for nfp_net_sriov_check
      to enable/disable the cap check warning report. Unnecessary warnings
      in nfp_app_get_vf_config can be avoided. Valid warnings in kinds of
      vf setting function can be reserved.
      
      Fixes: e0d0e1fd ("nfp: VF rate limit support")
      Fixes: 59359597 ("nfp: support 802.1ad VLAN assingment to VF")
      Signed-off-by: NFei Qin <fei.qin@corigine.com>
      Signed-off-by: NYinjun Zhang <yinjun.zhang@corigine.com>
      Signed-off-by: NLouis Peens <louis.peens@corigine.com>
      Signed-off-by: NSimon Horman <simon.horman@corigine.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      03d5005f
    • M
      tls: Rename TLS_INFO_ZC_SENDFILE to TLS_INFO_ZC_TX · b489a6e5
      Maxim Mikityanskiy 提交于
      To embrace possible future optimizations of TLS, rename zerocopy
      sendfile definitions to more generic ones:
      
      * setsockopt: TLS_TX_ZEROCOPY_SENDFILE- > TLS_TX_ZEROCOPY_RO
      * sock_diag: TLS_INFO_ZC_SENDFILE -> TLS_INFO_ZC_RO_TX
      
      RO stands for readonly and emphasizes that the application shouldn't
      modify the data being transmitted with zerocopy to avoid potential
      disconnection.
      
      Fixes: c1318b39 ("tls: Add opt-in zerocopy mode of sendfile()")
      Signed-off-by: NMaxim Mikityanskiy <maximmi@nvidia.com>
      Link: https://lore.kernel.org/r/20220608153425.3151146-1-maximmi@nvidia.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      b489a6e5
    • D
      Merge tag 'drm-misc-fixes-2022-06-09' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes · 1f192b9e
      Dave Airlie 提交于
      two fixes for panel self-refresh handling, and one to fix
      multiple output support on AST.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      
      From: Maxime Ripard <maxime@cerno.tech>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220609100754.kvrkjy67gqabjuee@houat
      1f192b9e
    • D
      Merge tag 'drm-misc-fixes-2022-05-26' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes · 88bfb6db
      Dave Airlie 提交于
      A use-after-free fix for panfrost, and a DT invalid configuration fix for
      ti-sn65dsi83
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      
      From: Maxime Ripard <maxime@cerno.tech>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220526090532.nvhlmwev5qgln3nb@houat
      88bfb6db
    • D
      netfs: Fix gcc-12 warning by embedding vfs inode in netfs_i_context · 874c8ca1
      David Howells 提交于
      While randstruct was satisfied with using an open-coded "void *" offset
      cast for the netfs_i_context <-> inode casting, __builtin_object_size() as
      used by FORTIFY_SOURCE was not as easily fooled.  This was causing the
      following complaint[1] from gcc v12:
      
        In file included from include/linux/string.h:253,
                         from include/linux/ceph/ceph_debug.h:7,
                         from fs/ceph/inode.c:2:
        In function 'fortify_memset_chk',
            inlined from 'netfs_i_context_init' at include/linux/netfs.h:326:2,
            inlined from 'ceph_alloc_inode' at fs/ceph/inode.c:463:2:
        include/linux/fortify-string.h:242:25: warning: call to '__write_overflow_field' declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning]
          242 |                         __write_overflow_field(p_size_field, size);
              |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      Fix this by embedding a struct inode into struct netfs_i_context (which
      should perhaps be renamed to struct netfs_inode).  The struct inode
      vfs_inode fields are then removed from the 9p, afs, ceph and cifs inode
      structs and vfs_inode is then simply changed to "netfs.inode" in those
      filesystems.
      
      Further, rename netfs_i_context to netfs_inode, get rid of the
      netfs_inode() function that converted a netfs_i_context pointer to an
      inode pointer (that can now be done with &ctx->inode) and rename the
      netfs_i_context() function to netfs_inode() (which is now a wrapper
      around container_of()).
      
      Most of the changes were done with:
      
        perl -p -i -e 's/vfs_inode/netfs.inode/'g \
              `git grep -l 'vfs_inode' -- fs/{9p,afs,ceph,cifs}/*.[ch]`
      
      Kees suggested doing it with a pair structure[2] and a special
      declarator to insert that into the network filesystem's inode
      wrapper[3], but I think it's cleaner to embed it - and then it doesn't
      matter if struct randomisation reorders things.
      
      Dave Chinner suggested using a filesystem-specific VFS_I() function in
      each filesystem to convert that filesystem's own inode wrapper struct
      into the VFS inode struct[4].
      
      Version #2:
       - Fix a couple of missed name changes due to a disabled cifs option.
       - Rename nfs_i_context to nfs_inode
       - Use "netfs" instead of "nic" as the member name in per-fs inode wrapper
         structs.
      
      [ This also undoes commit 507160f4 ("netfs: gcc-12: temporarily
        disable '-Wattribute-warning' for now") that is no longer needed ]
      
      Fixes: bc899ee1 ("netfs: Add a netfs inode context")
      Reported-by: NJeff Layton <jlayton@kernel.org>
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Reviewed-by: NJeff Layton <jlayton@kernel.org>
      Reviewed-by: NKees Cook <keescook@chromium.org>
      Reviewed-by: NXiubo Li <xiubli@redhat.com>
      cc: Jonathan Corbet <corbet@lwn.net>
      cc: Eric Van Hensbergen <ericvh@gmail.com>
      cc: Latchesar Ionkov <lucho@ionkov.net>
      cc: Dominique Martinet <asmadeus@codewreck.org>
      cc: Christian Schoenebeck <linux_oss@crudebyte.com>
      cc: Marc Dionne <marc.dionne@auristor.com>
      cc: Ilya Dryomov <idryomov@gmail.com>
      cc: Steve French <smfrench@gmail.com>
      cc: William Kucharski <william.kucharski@oracle.com>
      cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>
      cc: Dave Chinner <david@fromorbit.com>
      cc: linux-doc@vger.kernel.org
      cc: v9fs-developer@lists.sourceforge.net
      cc: linux-afs@lists.infradead.org
      cc: ceph-devel@vger.kernel.org
      cc: linux-cifs@vger.kernel.org
      cc: samba-technical@lists.samba.org
      cc: linux-fsdevel@vger.kernel.org
      cc: linux-hardening@vger.kernel.org
      Link: https://lore.kernel.org/r/d2ad3a3d7bdd794c6efb562d2f2b655fb67756b9.camel@kernel.org/ [1]
      Link: https://lore.kernel.org/r/20220517210230.864239-1-keescook@chromium.org/ [2]
      Link: https://lore.kernel.org/r/20220518202212.2322058-1-keescook@chromium.org/ [3]
      Link: https://lore.kernel.org/r/20220524101205.GI2306852@dread.disaster.area/ [4]
      Link: https://lore.kernel.org/r/165296786831.3591209.12111293034669289733.stgit@warthog.procyon.org.uk/ # v1
      Link: https://lore.kernel.org/r/165305805651.4094995.7763502506786714216.stgit@warthog.procyon.org.uk # v2
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      874c8ca1
    • Y
      MIPS: Loongson-3: fix compile mips cpu_hwmon as module build error. · 41e45640
      Yupeng Li 提交于
        set cpu_hwmon as a module build with loongson_sysconf, loongson_chiptemp
        undefined error,fix cpu_hwmon compile options to be bool.Some kernel
        compilation error information is as follows:
      
        Checking missing-syscalls for N32
        CALL    scripts/checksyscalls.sh
        Checking missing-syscalls for O32
        CALL    scripts/checksyscalls.sh
        CALL    scripts/checksyscalls.sh
        CHK     include/generated/compile.h
        CC [M]  drivers/platform/mips/cpu_hwmon.o
        Building modules, stage 2.
        MODPOST 200 modules
      ERROR: "loongson_sysconf" [drivers/platform/mips/cpu_hwmon.ko] undefined!
      ERROR: "loongson_chiptemp" [drivers/platform/mips/cpu_hwmon.ko] undefined!
      make[1]: *** [scripts/Makefile.modpost:92:__modpost] 错误 1
      make: *** [Makefile:1261:modules] 错误 2
      Signed-off-by: NYupeng Li <liyupeng@zbhlos.com>
      Reviewed-by: NGuenter Roeck <linux@roeck-us.net>
      Reviewed-by: NHuacai Chen <chenhuacai@kernel.org>
      Signed-off-by: NThomas Bogendoerfer <tsbogend@alpha.franken.de>
      41e45640
    • L
      Merge tag 'fs_for_v5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 3d9f55c5
      Linus Torvalds 提交于
      Pull ext2, writeback, and quota fixes and cleanups from Jan Kara:
       "A fix for race in writeback code and two cleanups in quota and ext2"
      
      * tag 'fs_for_v5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        quota: Prevent memory allocation recursion while holding dq_lock
        writeback: Fix inode->i_io_list not be protected by inode->i_lock error
        fs: Fix syntax errors in comments
      3d9f55c5
    • L
      Merge tag 'powerpc-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 95fc76c8
      Linus Torvalds 提交于
      Pull powerpc fixes from Michael Ellerman:
      
       - On 32-bit fix overread/overwrite of thread_struct via ptrace
         PEEK/POKE.
      
       - Fix softirqs not switching to the softirq stack since we moved
         irq_exit().
      
       - Force thread size increase when KASAN is enabled to avoid stack
         overflows.
      
       - On Book3s 64 mark more code as not to be instrumented by KASAN to
         avoid crashes.
      
       - Exempt __get_wchan() from KASAN checking, as it's inherently racy.
      
       - Fix a recently introduced crash in the papr_scm driver in some
         configurations.
      
       - Remove include of <generated/compile.h> which is forbidden.
      
      Thanks to Ariel Miculas, Chen Jingwen, Christophe Leroy, Erhard Furtner,
      He Ying, Kees Cook, Masahiro Yamada, Nageswara R Sastry, Paul Mackerras,
      Sachin Sant, Vaibhav Jain, and Wanming Hu.
      
      * tag 'powerpc-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/32: Fix overread/overwrite of thread_struct via ptrace
        powerpc/book3e: get rid of #include <generated/compile.h>
        powerpc/kasan: Force thread size increase with KASAN
        powerpc/papr_scm: don't requests stats with '0' sized stats buffer
        powerpc: Don't select HAVE_IRQ_EXIT_ON_IRQ_STACK
        powerpc/kasan: Silence KASAN warnings in __get_wchan()
        powerpc/kasan: Mark more real-mode code as not to be instrumented
      95fc76c8
    • L
      Merge tag 'net-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 825464e7
      Linus Torvalds 提交于
      Pull networking fixes from Paolo Abeni:
       "Including fixes from bpf and netfilter.
      
        Current release - regressions:
      
         - eth: amt: fix possible null-ptr-deref in amt_rcv()
      
        Previous releases - regressions:
      
         - tcp: use alloc_large_system_hash() to allocate table_perturb
      
         - af_unix: fix a data-race in unix_dgram_peer_wake_me()
      
         - nfc: st21nfca: fix memory leaks in EVT_TRANSACTION handling
      
         - eth: ixgbe: fix unexpected VLAN rx in promisc mode on VF
      
        Previous releases - always broken:
      
         - ipv6: fix signed integer overflow in __ip6_append_data
      
         - netfilter:
             - nat: really support inet nat without l3 address
             - nf_tables: memleak flow rule from commit path
      
         - bpf: fix calling global functions from BPF_PROG_TYPE_EXT programs
      
         - openvswitch: fix misuse of the cached connection on tuple changes
      
         - nfc: nfcmrvl: fix memory leak in nfcmrvl_play_deferred
      
         - eth: altera: fix refcount leak in altera_tse_mdio_create
      
        Misc:
      
         - add Quentin Monnet to bpftool maintainers"
      
      * tag 'net-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (45 commits)
        net: amd-xgbe: fix clang -Wformat warning
        tcp: use alloc_large_system_hash() to allocate table_perturb
        net: dsa: realtek: rtl8365mb: fix GMII caps for ports with internal PHY
        net: dsa: mv88e6xxx: correctly report serdes link failure
        net: dsa: mv88e6xxx: fix BMSR error to be consistent with others
        net: dsa: mv88e6xxx: use BMSR_ANEGCOMPLETE bit for filling an_complete
        net: altera: Fix refcount leak in altera_tse_mdio_create
        net: openvswitch: fix misuse of the cached connection on tuple changes
        net: ethernet: mtk_eth_soc: fix misuse of mem alloc interface netdev[napi]_alloc_frag
        ip_gre: test csum_start instead of transport header
        au1000_eth: stop using virt_to_bus()
        ipv6: Fix signed integer overflow in l2tp_ip6_sendmsg
        ipv6: Fix signed integer overflow in __ip6_append_data
        nfc: nfcmrvl: Fix memory leak in nfcmrvl_play_deferred
        nfc: st21nfca: fix incorrect sizing calculations in EVT_TRANSACTION
        nfc: st21nfca: fix memory leaks in EVT_TRANSACTION handling
        nfc: st21nfca: fix incorrect validating logic in EVT_TRANSACTION
        net: ipv6: unexport __init-annotated seg6_hmac_init()
        net: xfrm: unexport __init-annotated xfrm4_protocol_init()
        net: mdio: unexport __init-annotated mdio_bus_init()
        ...
      825464e7
    • S
      docs: arm: tcm: Fix typo in description of TCM and MMU usage · 387c67af
      Simon Horman 提交于
      Correct a typo in the description of interaction between
      the TCM and MMU.
      
      Found by inspection.
      Signed-off-by: NSimon Horman <simon.horman@corigine.com>
      Link: https://lore.kernel.org/r/20220609184230.627958-1-simon.horman@corigine.comSigned-off-by: NJonathan Corbet <corbet@lwn.net>
      387c67af
    • L
      netfs: gcc-12: temporarily disable '-Wattribute-warning' for now · 507160f4
      Linus Torvalds 提交于
      This is a pure band-aid so that I can continue merging stuff from people
      while some of the gcc-12 fallout gets sorted out.
      
      In particular, gcc-12 is very unhappy about the kinds of pointer
      arithmetic tricks that netfs does, and that makes the fortify checks
      trigger in afs and ceph:
      
        In function ‘fortify_memset_chk’,
            inlined from ‘netfs_i_context_init’ at include/linux/netfs.h:327:2,
            inlined from ‘afs_set_netfs_context’ at fs/afs/inode.c:61:2,
            inlined from ‘afs_root_iget’ at fs/afs/inode.c:543:2:
        include/linux/fortify-string.h:258:25: warning: call to ‘__write_overflow_field’ declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning]
          258 |                         __write_overflow_field(p_size_field, size);
              |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      and the reason is that netfs_i_context_init() is passed a 'struct inode'
      pointer, and then it does
      
              struct netfs_i_context *ctx = netfs_i_context(inode);
      
              memset(ctx, 0, sizeof(*ctx));
      
      where that netfs_i_context() function just does pointer arithmetic on
      the inode pointer, knowing that the netfs_i_context is laid out
      immediately after it in memory.
      
      This is all truly disgusting, since the whole "netfs_i_context is laid
      out immediately after it in memory" is not actually remotely true in
      general, but is just made to be that way for afs and ceph.
      
      See for example fs/cifs/cifsglob.h:
      
        struct cifsInodeInfo {
              struct {
                      /* These must be contiguous */
                      struct inode    vfs_inode;      /* the VFS's inode record */
                      struct netfs_i_context netfs_ctx; /* Netfslib context */
              };
      	[...]
      
      and realize that this is all entirely wrong, and the pointer arithmetic
      that netfs_i_context() is doing is also very very wrong and wouldn't
      give the right answer if netfs_ctx had different alignment rules from a
      'struct inode', for example).
      
      Anyway, that's just a long-winded way to say "the gcc-12 warning is
      actually quite reasonable, and our code happens to work but is pretty
      disgusting".
      
      This is getting fixed properly, but for now I made the mistake of
      thinking "the week right after the merge window tends to be calm for me
      as people take a breather" and I did a sustem upgrade.  And I got gcc-12
      as a result, so to continue merging fixes from people and not have the
      end result drown in warnings, I am fixing all these gcc-12 issues I hit.
      
      Including with these kinds of temporary fixes.
      
      Cc: Kees Cook <keescook@chromium.org>
      Cc: David Howells <dhowells@redhat.com>
      Link: https://lore.kernel.org/all/AEEBCF5D-8402-441D-940B-105AA718C71F@chromium.org/Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      507160f4
    • L
      gcc-12: disable '-Warray-bounds' universally for now · f0be87c4
      Linus Torvalds 提交于
      In commit 8b202ee2 ("s390: disable -Warray-bounds") the s390 people
      disabled the '-Warray-bounds' warning for gcc-12, because the new logic
      in gcc would cause warnings for their use of the S390_lowcore macro,
      which accesses absolute pointers.
      
      It turns out gcc-12 has many other issues in this area, so this takes
      that s390 warning disable logic, and turns it into a kernel build config
      entry instead.
      
      Part of the intent is that we can make this all much more targeted, and
      use this conflig flag to disable it in only particular configurations
      that cause problems, with the s390 case as an example:
      
              select GCC12_NO_ARRAY_BOUNDS
      
      and we could do that for other configuration cases that cause issues.
      
      Or we could possibly use the CONFIG_CC_NO_ARRAY_BOUNDS thing in a more
      targeted way, and disable the warning only for particular uses: again
      the s390 case as an example:
      
        KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_CC_NO_ARRAY_BOUNDS),-Wno-array-bounds)
      
      but this ends up just doing it globally in the top-level Makefile, since
      the current issues are spread fairly widely all over:
      
        KBUILD_CFLAGS-$(CONFIG_CC_NO_ARRAY_BOUNDS) += -Wno-array-bounds
      
      We'll try to limit this later, since the gcc-12 problems are rare enough
      that *much* of the kernel can be built with it without disabling this
      warning.
      
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f0be87c4
    • L
      mellanox: mlx5: avoid uninitialized variable warning with gcc-12 · 842c3b3d
      Linus Torvalds 提交于
      gcc-12 started warning about 'tracker' being used uninitialized:
      
        drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c: In function ‘mlx5_do_bond’:
        drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c:786:28: warning: ‘tracker’ is used uninitialized [-Wuninitialized]
          786 |         struct lag_tracker tracker;
              |                            ^~~~~~~
      
      which seems to be because it doesn't track how the use (and
      initialization) is bound by the 'do_bond' flag.
      
      But admittedly that 'do_bond' usage is fairly complicated, and involves
      passing it around as an argument to helper functions, so it's somewhat
      understandable that gcc doesn't see how that all works.
      
      This function could be rewritten to make the use of that tracker
      variable more obviously safe, but for now I'm just adding the forced
      initialization of it.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      842c3b3d
    • L
      gcc-12: disable '-Wdangling-pointer' warning for now · 49beadbd
      Linus Torvalds 提交于
      While the concept of checking for dangling pointers to local variables
      at function exit is really interesting, the gcc-12 implementation is not
      compatible with reality, and results in false positives.
      
      For example, gcc sees us putting things on a local list head allocated
      on the stack, which involves exactly those kinds of pointers to the
      local stack entry:
      
        In function ‘__list_add’,
            inlined from ‘list_add_tail’ at include/linux/list.h:102:2,
            inlined from ‘rebuild_snap_realms’ at fs/ceph/snap.c:434:2:
        include/linux/list.h:74:19: warning: storing the address of local variable ‘realm_queue’ in ‘*&realm_27(D)->rebuild_item.prev’ [-Wdangling-pointer=]
           74 |         new->prev = prev;
              |         ~~~~~~~~~~^~~~~~
      
      But then gcc - understandably - doesn't really understand the big
      picture how the doubly linked list works, so doesn't see how we then end
      up emptying said list head in a loop and the pointer we added has been
      removed.
      
      Gcc also complains about us (intentionally) using this as a way to store
      a kind of fake stack trace, eg
      
        drivers/acpi/acpica/utdebug.c:40:38: warning: storing the address of local variable ‘current_sp’ in ‘acpi_gbl_entry_stack_pointer’ [-Wdangling-pointer=]
           40 |         acpi_gbl_entry_stack_pointer = &current_sp;
              |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
      
      which is entirely reasonable from a compiler standpoint, and we may want
      to change those kinds of patterns, but not not.
      
      So this is one of those "it would be lovely if the compiler were to
      complain about us leaving dangling pointers to the stack", but not this
      way.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      49beadbd