1. 11 6月, 2022 1 次提交
    • M
      dm: fix zoned locking imbalance due to needless check in clone_endio · dddf3056
      Mike Snitzer 提交于
      After the commit ca522482 ("dm: pass NULL bdev to bio_alloc_clone"),
      clone_endio() only calls dm_zone_endio() when DM targets remap the
      clone bio's bdev to something other than the md->disk->part0 default.
      
      However, if a DM target (e.g. dm-crypt) stacked ontop of a dm-zoned
      does not remap the clone bio using bio_set_dev() then dm_zone_endio()
      is not called at completion of the bios and zone locks are not
      properly unlocked. This triggers a hang, in dm_zone_map_bio(), when
      blktests block/004 is run for dm-crypt on zoned block devices. To
      avoid the hang, simply remove the clone_endio() check that verifies
      the target remapped the clone bio to a device other than the default.
      
      Fixes: ca522482 ("dm: pass NULL bdev to bio_alloc_clone")
      Reported-by: NShin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
      Signed-off-by: NMike Snitzer <snitzer@kernel.org>
      dddf3056
  2. 10 6月, 2022 6 次提交
  3. 09 6月, 2022 25 次提交
    • T
      drm/ast: Support multiple outputs · 477277c7
      Thomas Zimmermann 提交于
      Systems with AST graphics can have multiple output; typically VGA
      plus some other port. Record detected output chips in a bitmask and
      initialize each output on its own.
      
      Assume a VGA output by default and use SIL164 and DP501 if available.
      For ASTDP assume that it can run in parallel with VGA.
      
      Tested on AST2100.
      
      v3:
      	* define a macro for each BIT(ast_tx_chip) (Patrik)
      v2:
      	* make VGA/SIL164/DP501 mutually exclusive
      Signed-off-by: NThomas Zimmermann <tzimmermann@suse.de>
      Reviewed-by: NPatrik Jakobsson <patrik.r.jakobsson@gmail.com>
      Fixes: a59b0264 ("drm/ast: Initialize encoder and connector for VGA in helper function")
      Cc: Thomas Zimmermann <tzimmermann@suse.de>
      Cc: Javier Martinez Canillas <javierm@redhat.com>
      Cc: Dave Airlie <airlied@redhat.com>
      Cc: dri-devel@lists.freedesktop.org
      Link: https://patchwork.freedesktop.org/patch/msgid/20220607092008.22123-2-tzimmermann@suse.de
      (cherry picked from commit 7f35680a)
      Signed-off-by: NThomas Zimmermann <tzimmermann@suse.de>
      477277c7
    • J
      vdpa: make get_vq_group and set_group_asid optional · 00d1f546
      Jason Wang 提交于
      This patch makes get_vq_group and set_group_asid optional. This is
      needed to unbreak the vDPA parent that doesn't support multiple
      address spaces.
      
      Cc: Gautam Dawar <gautam.dawar@xilinx.com>
      Fixes: aaca8373 ("vhost-vdpa: support ASID based IOTLB API")
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Message-Id: <20220609041901.2029-1-jasowang@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      00d1f546
    • B
      virtio: Fix all occurences of the "the the" typo · acb0055e
      Bo Liu 提交于
      There are double "the" in message in file virtio_mmio.c
      and virtio_pci_modern_dev.c, fix it.
      Signed-off-by: NBo Liu <liubo03@inspur.com>
      Message-Id: <20220609031106.2161-1-liubo03@inspur.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      acb0055e
    • J
      net: amd-xgbe: fix clang -Wformat warning · 647df0d4
      Justin Stitt 提交于
      see warning:
      | drivers/net/ethernet/amd/xgbe/xgbe-drv.c:2787:43: warning: format specifies
      | type 'unsigned short' but the argument has type 'int' [-Wformat]
      |        netdev_dbg(netdev, "Protocol: %#06hx\n", ntohs(eth->h_proto));
      |                                      ~~~~~~     ^~~~~~~~~~~~~~~~~~~
      
      Variadic functions (printf-like) undergo default argument promotion.
      Documentation/core-api/printk-formats.rst specifically recommends
      using the promoted-to-type's format flag.
      
      Also, as per C11 6.3.1.1:
      (https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1548.pdf)
      `If an int can represent all values of the original type ..., the
      value is converted to an int; otherwise, it is converted to an
      unsigned int. These are called the integer promotions.`
      
      Since the argument is a u16 it will get promoted to an int and thus it is
      most accurate to use the %x format specifier here. It should be noted that the
      `#06` formatting sugar does not alter the promotion rules.
      
      Link: https://github.com/ClangBuiltLinux/linux/issues/378Signed-off-by: NJustin Stitt <jstitt007@gmail.com>
      Reviewed-by: NNick Desaulniers <ndesaulniers@google.com>
      Link: https://lore.kernel.org/r/20220607191119.20686-1-jstitt007@gmail.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      647df0d4
    • A
      net: dsa: realtek: rtl8365mb: fix GMII caps for ports with internal PHY · 487994ff
      Alvin Šipraga 提交于
      Since commit a18e6521 ("net: phylink: handle NA interface mode in
      phylink_fwnode_phy_connect()"), phylib defaults to GMII when no phy-mode
      or phy-connection-type property is specified in a DSA port node of the
      device tree. The same commit caused a regression in rtl8365mb whereby
      phylink would fail to connect, because the driver did not advertise
      support for GMII for ports with internal PHY.
      
      It should be noted that the aforementioned regression is not because the
      blamed commit was incorrect: on the contrary, the blamed commit is
      correcting the previous behaviour whereby unspecified phy-mode would
      cause the internal interface mode to be PHY_INTERFACE_MODE_NA. The
      rtl8365mb driver only worked by accident before because it _did_
      advertise support for PHY_INTERFACE_MODE_NA, despite NA being reserved
      for internal use by phylink. With one mistake fixed, the other was
      exposed.
      
      Commit a5dba0f2 ("net: dsa: rtl8365mb: add GMII as user port mode")
      then introduced implicit support for GMII mode on ports with internal
      PHY to allow a PHY connection for device trees where the phy-mode is not
      explicitly set to "internal". At this point everything was working OK
      again.
      
      Subsequently, commit 6ff60646 ("net: dsa: realtek: convert to
      phylink_generic_validate()") broke this behaviour again by discarding
      the usage of rtl8365mb_phy_mode_supported() - where this GMII support
      was indicated - while switching to the new .phylink_get_caps API.
      
      With the new API, rtl8365mb_phy_mode_supported() is no longer needed.
      Remove it altogether and add back the GMII capability - this time to
      rtl8365mb_phylink_get_caps() - so that the above default behaviour works
      for ports with internal PHY again.
      
      Fixes: 6ff60646 ("net: dsa: realtek: convert to phylink_generic_validate()")
      Signed-off-by: NAlvin Šipraga <alsi@bang-olufsen.dk>
      Reviewed-by: NRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
      Link: https://lore.kernel.org/r/20220607184624.417641-1-alvin@pqrs.dkSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      487994ff
    • R
      net: dsa: mv88e6xxx: correctly report serdes link failure · b4d78731
      Russell King (Oracle) 提交于
      Phylink wants to know if the link has dropped since the last time state
      was retrieved, and the BMSR gives us that. Read the BMSR and use it when
      deciding the link state. Fill in the an_complete member as well for the
      emulated PHY state.
      Signed-off-by: NRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      b4d78731
    • R
      net: dsa: mv88e6xxx: fix BMSR error to be consistent with others · 2b4bb9cd
      Russell King (Oracle) 提交于
      Other errors accessing the registers in mv88e6352_serdes_pcs_get_state()
      print "PHY " before the register name, except for the BMSR. Make this
      consistent with the other error messages.
      Signed-off-by: NRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      2b4bb9cd
    • M
      net: dsa: mv88e6xxx: use BMSR_ANEGCOMPLETE bit for filling an_complete · 47e96930
      Marek Behún 提交于
      Commit ede359d8 ("net: dsa: mv88e6xxx: Link in pcs_get_state() if AN
      is bypassed") added the ability to link if AN was bypassed, and added
      filling of state->an_complete field, but set it to true if AN was
      enabled in BMCR, not when AN was reported complete in BMSR.
      
      This was done because for some reason, when I wanted to use BMSR value
      to infer an_complete, I was looking at BMSR_ANEGCAPABLE bit (which was
      always 1), instead of BMSR_ANEGCOMPLETE bit.
      
      Use BMSR_ANEGCOMPLETE for filling state->an_complete.
      
      Fixes: ede359d8 ("net: dsa: mv88e6xxx: Link in pcs_get_state() if AN is bypassed")
      Signed-off-by: NMarek Behún <kabel@kernel.org>
      Signed-off-by: NRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      47e96930
    • M
      net: altera: Fix refcount leak in altera_tse_mdio_create · 11ec18b1
      Miaoqian Lin 提交于
      Every iteration of for_each_child_of_node() decrements
      the reference count of the previous node.
      When break from a for_each_child_of_node() loop,
      we need to explicitly call of_node_put() on the child node when
      not need anymore.
      Add missing of_node_put() to avoid refcount leak.
      
      Fixes: bbd2190c ("Altera TSE: Add main and header file for Altera Ethernet Driver")
      Signed-off-by: NMiaoqian Lin <linmq006@gmail.com>
      Link: https://lore.kernel.org/r/20220607041144.7553-1-linmq006@gmail.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      11ec18b1
    • C
      net: ethernet: mtk_eth_soc: fix misuse of mem alloc interface netdev[napi]_alloc_frag · 2f2c0d29
      Chen Lin 提交于
      When rx_flag == MTK_RX_FLAGS_HWLRO,
      rx_data_len = MTK_MAX_LRO_RX_LENGTH(4096 * 3) > PAGE_SIZE.
      netdev_alloc_frag is for alloction of page fragment only.
      Reference to other drivers and Documentation/vm/page_frags.rst
      
      Branch to use __get_free_pages when ring->frag_size > PAGE_SIZE.
      Signed-off-by: NChen Lin <chen45464546@163.com>
      Link: https://lore.kernel.org/r/1654692413-2598-1-git-send-email-chen45464546@163.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      2f2c0d29
    • S
      ata: libata-transport: fix {dma|pio|xfer}_mode sysfs files · 72aad489
      Sergey Shtylyov 提交于
      The {dma|pio}_mode sysfs files are incorrectly documented as having a
      list of the supported DMA/PIO transfer modes, while the corresponding
      fields of the *struct* ata_device hold the transfer mode IDs, not masks.
      
      To match these docs, the {dma|pio}_mode (and even xfer_mode!) sysfs
      files are handled by the ata_bitfield_name_match() macro which leads to
      reading such kind of nonsense from them:
      
      $ cat /sys/class/ata_device/dev3.0/pio_mode
      XFER_UDMA_7, XFER_UDMA_6, XFER_UDMA_5, XFER_UDMA_4, XFER_MW_DMA_4,
      XFER_PIO_6, XFER_PIO_5, XFER_PIO_4, XFER_PIO_3, XFER_PIO_2, XFER_PIO_1,
      XFER_PIO_0
      
      Using the correct ata_bitfield_name_search() macro fixes that:
      
      $ cat /sys/class/ata_device/dev3.0/pio_mode
      XFER_PIO_4
      
      While fixing the file documentation, somewhat reword the {dma|pio}_mode
      file doc and add a note about being mostly useful for PATA devices to
      the xfer_mode file doc...
      
      Fixes: d9027470 ("[libata] Add ATA transport class")
      Signed-off-by: NSergey Shtylyov <s.shtylyov@omp.ru>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDamien Le Moal <damien.lemoal@opensource.wdc.com>
      72aad489
    • Y
      drm/amdgpu/mes: only invalid/prime icache when finish loading both pipe MES FWs. · 431d0712
      Yifan Zhang 提交于
      invalid/prime icahce operation takes effect both pipes cuconrrently,
      therefore CP_MES_IC_BASE_LO/HI and CP_MES_MDBASE_LO/HI both have to be
      set before prime icache. Otherwise MES hardware gets garbage data in
      above regsters and causes page fault
      
      [  470.873200] amdgpu 0000:33:00.0: amdgpu: [gfxhub] page fault (src_id:0 ring:217 vmid:0 pasid:0, for process  pid 0 thread  pid 0)
      [  470.873222] amdgpu 0000:33:00.0: amdgpu:   in page starting at address 0x000092cb89b00000 from client 10
      [  470.873234] amdgpu 0000:33:00.0: amdgpu: GCVM_L2_PROTECTION_FAULT_STATUS:0x00000BB3
      [  470.873242] amdgpu 0000:33:00.0: amdgpu:      Faulty UTCL2 client ID: CPC (0x5)
      [  470.873247] amdgpu 0000:33:00.0: amdgpu:      MORE_FAULTS: 0x1
      [  470.873251] amdgpu 0000:33:00.0: amdgpu:      WALKER_ERROR: 0x1
      [  470.873256] amdgpu 0000:33:00.0: amdgpu:      PERMISSION_FAULTS: 0xb
      [  470.873260] amdgpu 0000:33:00.0: amdgpu:      MAPPING_ERROR: 0x1
      [  470.873264] amdgpu 0000:33:00.0: amdgpu:      RW: 0x0
      Signed-off-by: NYifan Zhang <yifan1.zhang@amd.com>
      Acked-by: NAlex Deucher <alexander.deucher@amd.com>
      Reviewed-by: NTim Huang <Tim.Huang@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      431d0712
    • M
      net/mlx5: fs, fail conflicting actions · 8fa5e7b2
      Mark Bloch 提交于
      When combining two steering rules into one check
      not only do they share the same actions but those
      actions are also the same. This resolves an issue where
      when creating two different rules with the same match
      the actions are overwritten and one of the rules is deleted
      a FW syndrome can be seen in dmesg.
      
      mlx5_core 0000:03:00.0: mlx5_cmd_check:819:(pid 2105): DEALLOC_MODIFY_HEADER_CONTEXT(0x941) op_mod(0x0) failed, status bad resource state(0x9), syndrome (0x1ab444)
      
      Fixes: 0d235c3f ("net/mlx5: Add hash table to search FTEs in a flow-group")
      Signed-off-by: NMark Bloch <mbloch@nvidia.com>
      Reviewed-by: NMaor Gottlieb <maorg@nvidia.com>
      Signed-off-by: NSaeed Mahameed <saeedm@nvidia.com>
      8fa5e7b2
    • F
      net/mlx5: Rearm the FW tracer after each tracer event · 8bf94e64
      Feras Daoud 提交于
      The current design does not arm the tracer if traces are available before
      the tracer string database is fully loaded, leading to an unfunctional tracer.
      This fix will rearm the tracer every time the FW triggers tracer event
      regardless of the tracer strings database status.
      
      Fixes: c71ad41c ("net/mlx5: FW tracer, events handling")
      Signed-off-by: NFeras Daoud <ferasda@nvidia.com>
      Signed-off-by: NRoy Novich <royno@nvidia.com>
      Reviewed-by: NMoshe Shemesh <moshe@nvidia.com>
      Signed-off-by: NSaeed Mahameed <saeedm@nvidia.com>
      8bf94e64
    • M
      net/mlx5: E-Switch, pair only capable devices · 3008e6a0
      Mark Bloch 提交于
      OFFLOADS paring using devcom is possible only on devices
      that support LAG. Filter based on lag capabilities.
      
      This fixes an issue where mlx5_get_next_phys_dev() was
      called without holding the interface lock.
      
      This issue was found when commit
      bc4c2f2e ("net/mlx5: Lag, filter non compatible devices")
      added an assert that verifies the interface lock is held.
      
      WARNING: CPU: 9 PID: 1706 at drivers/net/ethernet/mellanox/mlx5/core/dev.c:642 mlx5_get_next_phys_dev+0xd2/0x100 [mlx5_core]
      Modules linked in: mlx5_vdpa vringh vhost_iotlb vdpa mlx5_ib mlx5_core xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink xt_addrtype iptable_nat nf_nat br_netfilter rpcrdma rdma_ucm ib_iser libiscsi scsi_transport_iscsi rdma_cm iw_cm ib_umad ib_ipoib ib_cm ib_uverbs ib_core overlay fuse [last unloaded: mlx5_core]
      CPU: 9 PID: 1706 Comm: devlink Not tainted 5.18.0-rc7+ #11
      Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
      RIP: 0010:mlx5_get_next_phys_dev+0xd2/0x100 [mlx5_core]
      Code: 02 00 75 48 48 8b 85 80 04 00 00 5d c3 31 c0 5d c3 be ff ff ff ff 48 c7 c7 08 41 5b a0 e8 36 87 28 e3 85 c0 0f 85 6f ff ff ff <0f> 0b e9 68 ff ff ff 48 c7 c7 0c 91 cc 84 e8 cb 36 6f e1 e9 4d ff
      RSP: 0018:ffff88811bf47458 EFLAGS: 00010246
      RAX: 0000000000000000 RBX: ffff88811b398000 RCX: 0000000000000001
      RDX: 0000000080000000 RSI: ffffffffa05b4108 RDI: ffff88812daaaa78
      RBP: ffff88812d050380 R08: 0000000000000001 R09: ffff88811d6b3437
      R10: 0000000000000001 R11: 00000000fddd3581 R12: ffff88815238c000
      R13: ffff88812d050380 R14: ffff8881018aa7e0 R15: ffff88811d6b3428
      FS:  00007fc82e18ae80(0000) GS:ffff88842e080000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 00007f9630d1b421 CR3: 0000000149802004 CR4: 0000000000370ea0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      Call Trace:
       <TASK>
       mlx5_esw_offloads_devcom_event+0x99/0x3b0 [mlx5_core]
       mlx5_devcom_send_event+0x167/0x1d0 [mlx5_core]
       esw_offloads_enable+0x1153/0x1500 [mlx5_core]
       ? mlx5_esw_offloads_controller_valid+0x170/0x170 [mlx5_core]
       ? wait_for_completion_io_timeout+0x20/0x20
       ? mlx5_rescan_drivers_locked+0x318/0x810 [mlx5_core]
       mlx5_eswitch_enable_locked+0x586/0xc50 [mlx5_core]
       ? mlx5_eswitch_disable_pf_vf_vports+0x1d0/0x1d0 [mlx5_core]
       ? mlx5_esw_try_lock+0x1b/0xb0 [mlx5_core]
       ? mlx5_eswitch_enable+0x270/0x270 [mlx5_core]
       ? __debugfs_create_file+0x260/0x3e0
       mlx5_devlink_eswitch_mode_set+0x27e/0x870 [mlx5_core]
       ? mutex_lock_io_nested+0x12c0/0x12c0
       ? esw_offloads_disable+0x250/0x250 [mlx5_core]
       ? devlink_nl_cmd_trap_get_dumpit+0x470/0x470
       ? rcu_read_lock_sched_held+0x3f/0x70
       devlink_nl_cmd_eswitch_set_doit+0x217/0x620
      
      Fixes: dd3fddb8 ("net/mlx5: E-Switch, handle devcom events only for ports on the same device")
      Signed-off-by: NMark Bloch <mbloch@nvidia.com>
      Reviewed-by: NRoi Dayan <roid@nvidia.com>
      Reviewed-by: NMoshe Shemesh <moshe@nvidia.com>
      Signed-off-by: NSaeed Mahameed <saeedm@nvidia.com>
      3008e6a0
    • P
      net/mlx5e: CT: Fix cleanup of CT before cleanup of TC ct rules · 15ef9efa
      Paul Blakey 提交于
      CT cleanup assumes that all tc rules were deleted first, and so
      is free to delete the CT shared resources (e.g the dr_action
      fwd_action which is shared for all tuples). But currently for
      uplink, this is happens in reverse, causing the below trace.
      
      CT cleanup is called from:
      mlx5e_cleanup_rep_tx()->mlx5e_cleanup_uplink_rep_tx()->
      mlx5e_rep_tc_cleanup()->mlx5e_tc_esw_cleanup()->
      mlx5_tc_ct_clean()
      
      Only afterwards, tc cleanup is called from:
      mlx5e_cleanup_rep_tx()->mlx5e_tc_ht_cleanup()
      which would have deleted all the tc ct rules, and so delete
      all the offloaded tuples.
      
      Fix this reversing the order of init and on cleanup, which
      will result in tc cleanup then ct cleanup.
      
      [ 9443.593347] WARNING: CPU: 2 PID: 206774 at drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c:1882 mlx5dr_action_destroy+0x188/0x1a0 [mlx5_core]
      [ 9443.593349] Modules linked in: act_ct nf_flow_table rdma_ucm(O) rdma_cm(O) iw_cm(O) ib_ipoib(O) ib_cm(O) ib_umad(O) mlx5_core(O-) mlxfw(O) mlxdevm(O) auxiliary(O) ib_uverbs(O) psample ib_core(O) mlx_compat(O) ip_gre gre ip_tunnel act_vlan bonding geneve esp6_offload esp6 esp4_offload esp4 act_tunnel_key vxlan ip6_udp_tunnel udp_tunnel act_mirred act_skbedit act_gact cls_flower sch_ingress nfnetlink_cttimeout nfnetlink xfrm_user xfrm_algo 8021q garp stp ipmi_devintf mrp ipmi_msghandler llc openvswitch nsh nf_conncount nf_nat mst_pciconf(O) dm_multipath sbsa_gwdt uio_pdrv_genirq uio mlxbf_pmc mlxbf_pka mlx_trio mlx_bootctl(O) bluefield_edac sch_fq_codel ip_tables ipv6 crc_ccitt btrfs zstd_compress raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor xor_neon raid6_pq raid1 raid0 crct10dif_ce i2c_mlxbf gpio_mlxbf2 mlxbf_gige aes_neon_bs aes_neon_blk [last unloaded: mlx5_ib]
      [ 9443.593419] CPU: 2 PID: 206774 Comm: modprobe Tainted: G           O      5.4.0-1023.24.gc14613d-bluefield #1
      [ 9443.593422] Hardware name: https://www.mellanox.com BlueField SoC/BlueField SoC, BIOS BlueField:143ebaf Jan 11 2022
      [ 9443.593424] pstate: 20000005 (nzCv daif -PAN -UAO)
      [ 9443.593489] pc : mlx5dr_action_destroy+0x188/0x1a0 [mlx5_core]
      [ 9443.593545] lr : mlx5_ct_fs_smfs_destroy+0x24/0x30 [mlx5_core]
      [ 9443.593546] sp : ffff8000135dbab0
      [ 9443.593548] x29: ffff8000135dbab0 x28: ffff0003a6ab8e80
      [ 9443.593550] x27: 0000000000000000 x26: ffff0003e07d7000
      [ 9443.593552] x25: ffff800009609de0 x24: ffff000397fb2120
      [ 9443.593554] x23: ffff0003975c0000 x22: 0000000000000000
      [ 9443.593556] x21: ffff0003975f08c0 x20: ffff800009609de0
      [ 9443.593558] x19: ffff0003c8a13380 x18: 0000000000000014
      [ 9443.593560] x17: 0000000067f5f125 x16: 000000006529c620
      [ 9443.593561] x15: 000000000000000b x14: 0000000000000000
      [ 9443.593563] x13: 0000000000000002 x12: 0000000000000001
      [ 9443.593565] x11: ffff800011108868 x10: 0000000000000000
      [ 9443.593567] x9 : 0000000000000000 x8 : ffff8000117fb270
      [ 9443.593569] x7 : ffff0003ebc01288 x6 : 0000000000000000
      [ 9443.593571] x5 : ffff800009591ab8 x4 : fffffe000f6d9a20
      [ 9443.593572] x3 : 0000000080040001 x2 : fffffe000f6d9a20
      [ 9443.593574] x1 : ffff8000095901d8 x0 : 0000000000000025
      [ 9443.593577] Call trace:
      [ 9443.593634]  mlx5dr_action_destroy+0x188/0x1a0 [mlx5_core]
      [ 9443.593688]  mlx5_ct_fs_smfs_destroy+0x24/0x30 [mlx5_core]
      [ 9443.593743]  mlx5_tc_ct_clean+0x34/0xa8 [mlx5_core]
      [ 9443.593797]  mlx5e_tc_esw_cleanup+0x58/0x88 [mlx5_core]
      [ 9443.593851]  mlx5e_rep_tc_cleanup+0x24/0x30 [mlx5_core]
      [ 9443.593905]  mlx5e_cleanup_rep_tx+0x6c/0x78 [mlx5_core]
      [ 9443.593959]  mlx5e_detach_netdev+0x74/0x98 [mlx5_core]
      [ 9443.594013]  mlx5e_netdev_change_profile+0x70/0x180 [mlx5_core]
      [ 9443.594067]  mlx5e_netdev_attach_nic_profile+0x34/0x40 [mlx5_core]
      [ 9443.594122]  mlx5e_vport_rep_unload+0x15c/0x1a8 [mlx5_core]
      [ 9443.594177]  mlx5_eswitch_unregister_vport_reps+0x228/0x298 [mlx5_core]
      [ 9443.594231]  mlx5e_rep_remove+0x2c/0x38 [mlx5_core]
      [ 9443.594236]  auxiliary_bus_remove+0x30/0x50 [auxiliary]
      [ 9443.594246]  device_release_driver_internal+0x108/0x1d0
      [ 9443.594248]  driver_detach+0x5c/0xe8
      [ 9443.594250]  bus_remove_driver+0x64/0xd8
      [ 9443.594253]  driver_unregister+0x38/0x60
      [ 9443.594255]  auxiliary_driver_unregister+0x24/0x38 [auxiliary]
      [ 9443.594311]  mlx5e_rep_cleanup+0x20/0x38 [mlx5_core]
      [ 9443.594365]  mlx5e_cleanup+0x18/0x30 [mlx5_core]
      [ 9443.594419]  cleanup+0xc/0x20cc [mlx5_core]
      [ 9443.594424]  __arm64_sys_delete_module+0x154/0x2b0
      [ 9443.594429]  el0_svc_common.constprop.0+0xf4/0x200
      [ 9443.594432]  el0_svc_handler+0x38/0xa8
      [ 9443.594435]  el0_svc+0x10/0x26c
      
      Fixes: d1a3138f ("net/mlx5e: TC, Move flow hashtable to be per rep")
      Signed-off-by: NPaul Blakey <paulb@nvidia.com>
      Reviewed-by: NOz Shlomo <ozsh@nvidia.com>
      Signed-off-by: NSaeed Mahameed <saeedm@nvidia.com>
      15ef9efa
    • S
      Revert "net/mlx5e: Allow relaxed ordering over VFs" · 4d995c1b
      Saeed Mahameed 提交于
      FW is not ready, fix was sent too soon.
      This reverts commit f05ec8d9.
      
      Fixes: f05ec8d9 ("net/mlx5e: Allow relaxed ordering over VFs")
      Signed-off-by: NSaeed Mahameed <saeedm@nvidia.com>
      4d995c1b
    • A
      au1000_eth: stop using virt_to_bus() · a6958951
      Arnd Bergmann 提交于
      The conversion to the dma-mapping API in linux-2.6.11 was incomplete
      and left a virt_to_bus() call around. There have been a number of
      fixes for DMA mapping API abuse in this driver, but this one always
      slipped through.
      
      Change it to just use the existing dma_addr_t pointer, and make it
      use the correct types throughout the driver to make it easier to
      understand the virtual vs dma address spaces.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Tested-by: NManuel Lauss <manuel.lauss@gmail.com>
      Link: https://lore.kernel.org/r/20220607090206.19830-1-arnd@kernel.orgSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      a6958951
    • C
      dm: fix bio_set allocation · 29dec90a
      Christoph Hellwig 提交于
      The use of bioset_init_from_src mean that the pre-allocated pools weren't
      used for anything except parameter passing, and the integrity pool
      creation got completely lost for the actual live mapped_device.  Fix that
      by assigning the actual preallocated dm_md_mempools to the mapped_device
      and using that for I/O instead of creating new mempools.
      
      Fixes: 2a2a4c51 ("dm: use bioset_init_from_src() to copy bio_set")
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NMike Snitzer <snitzer@kernel.org>
      29dec90a
    • X
      nfc: nfcmrvl: Fix memory leak in nfcmrvl_play_deferred · 8a4d4807
      Xiaohui Zhang 提交于
      Similar to the handling of play_deferred in commit 19cfe912
      ("Bluetooth: btusb: Fix memory leak in play_deferred"), we thought
      a patch might be needed here as well.
      
      Currently usb_submit_urb is called directly to submit deferred tx
      urbs after unanchor them.
      
      So the usb_giveback_urb_bh would failed to unref it in usb_unanchor_urb
      and cause memory leak.
      
      Put those urbs in tx_anchor to avoid the leak, and also fix the error
      handling.
      Signed-off-by: NXiaohui Zhang <xiaohuizhang@ruc.edu.cn>
      Acked-by: NKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
      Link: https://lore.kernel.org/r/20220607083230.6182-1-xiaohuizhang@ruc.edu.cnSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      8a4d4807
    • M
      nfc: st21nfca: fix incorrect sizing calculations in EVT_TRANSACTION · f2e19b36
      Martin Faltesek 提交于
      The transaction buffer is allocated by using the size of the packet buf,
      and subtracting two which seem intended to remove the two tags which are
      not present in the target structure. This calculation leads to under
      counting memory because of differences between the packet contents and the
      target structure. The aid_len field is a u8 in the packet, but a u32 in
      the structure, resulting in at least 3 bytes always being under counted.
      Further, the aid data is a variable length field in the packet, but fixed
      in the structure, so if this field is less than the max, the difference is
      added to the under counting.
      
      The last validation check for transaction->params_len is also incorrect
      since it employs the same accounting error.
      
      To fix, perform validation checks progressively to safely reach the
      next field, to determine the size of both buffers and verify both tags.
      Once all validation checks pass, allocate the buffer and copy the data.
      This eliminates freeing memory on the error path, as those checks are
      moved ahead of memory allocation.
      
      Fixes: 26fc6c7f ("NFC: st21nfca: Add HCI transaction event support")
      Fixes: 4fbcc1a4 ("nfc: st21nfca: Fix potential buffer overflows in EVT_TRANSACTION")
      Cc: stable@vger.kernel.org
      Signed-off-by: NMartin Faltesek <mfaltesek@google.com>
      Reviewed-by: NGuenter Roeck <groeck@chromium.org>
      Reviewed-by: NKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      f2e19b36
    • M
      nfc: st21nfca: fix memory leaks in EVT_TRANSACTION handling · 996419e0
      Martin Faltesek 提交于
      Error paths do not free previously allocated memory. Add devm_kfree() to
      those failure paths.
      
      Fixes: 26fc6c7f ("NFC: st21nfca: Add HCI transaction event support")
      Fixes: 4fbcc1a4 ("nfc: st21nfca: Fix potential buffer overflows in EVT_TRANSACTION")
      Cc: stable@vger.kernel.org
      Signed-off-by: NMartin Faltesek <mfaltesek@google.com>
      Reviewed-by: NGuenter Roeck <groeck@chromium.org>
      Reviewed-by: NKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      996419e0
    • M
      nfc: st21nfca: fix incorrect validating logic in EVT_TRANSACTION · 77e5fe8f
      Martin Faltesek 提交于
      The first validation check for EVT_TRANSACTION has two different checks
      tied together with logical AND. One is a check for minimum packet length,
      and the other is for a valid aid_tag. If either condition is true (fails),
      then an error should be triggered.  The fix is to change && to ||.
      
      Fixes: 26fc6c7f ("NFC: st21nfca: Add HCI transaction event support")
      Cc: stable@vger.kernel.org
      Signed-off-by: NMartin Faltesek <mfaltesek@google.com>
      Reviewed-by: NGuenter Roeck <groeck@chromium.org>
      Reviewed-by: NKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      77e5fe8f
    • M
      net: mdio: unexport __init-annotated mdio_bus_init() · 35b42dce
      Masahiro Yamada 提交于
      EXPORT_SYMBOL and __init is a bad combination because the .init.text
      section is freed up after the initialization. Hence, modules cannot
      use symbols annotated __init. The access to a freed symbol may end up
      with kernel panic.
      
      modpost used to detect it, but it has been broken for a decade.
      
      Recently, I fixed modpost so it started to warn it again, then this
      showed up in linux-next builds.
      
      There are two ways to fix it:
      
        - Remove __init
        - Remove EXPORT_SYMBOL
      
      I chose the latter for this case because the only in-tree call-site,
      drivers/net/phy/phy_device.c is never compiled as modular.
      (CONFIG_PHYLIB is boolean)
      
      Fixes: 90eff909 ("net: phy: Allow splitting MDIO bus/device support from PHYs")
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Reviewed-by: NRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      35b42dce
    • P
      cpuidle,intel_idle: Fix CPUIDLE_FLAG_IRQ_ENABLE · 32d4fd57
      Peter Zijlstra 提交于
      Commit c227233a ("intel_idle: enable interrupts before C1 on
      Xeons") wrecked intel_idle in two ways:
      
       - must not have tracing in idle functions
       - must return with IRQs disabled
      
      Additionally, it added a branch for no good reason.
      
      Fixes: c227233a ("intel_idle: enable interrupts before C1 on Xeons")
      Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      [ rjw: Moved the intel_idle() kerneldoc comment next to the function ]
      Cc: 5.16+ <stable@vger.kernel.org> # 5.16+
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      32d4fd57
  4. 08 6月, 2022 8 次提交
反馈
建议
客服 返回
顶部