* Re: [PATCH net, v3] net: mana: Fix crash from unvalidated SHM offset read from BAR0 during FLR [not found] <afQUMClyjmBVfD+u@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> @ 2026-05-05 13:42 ` Paolo Abeni 2026-05-05 16:28 ` Dipayaan Roy 2026-05-05 13:50 ` patchwork-bot+netdevbpf 1 sibling, 1 reply; 3+ messages in thread From: Paolo Abeni @ 2026-05-05 13:42 UTC (permalink / raw) To: Dipayaan Roy, kys, haiyangz, wei.liu, decui, andrew+netdev, davem, edumazet, kuba, leon, longli, kotaranov, horms, shradhagupta, ssengar, ernis, shirazsaleem, linux-hyperv, netdev, linux-kernel, linux-rdma, stephen, jacob.e.keller, dipayanroy, leitao, kees, john.fastabend, hawk, bpf, daniel, ast, sdf, yury.norov On 5/1/26 4:47 AM, Dipayaan Roy wrote: > @@ -73,10 +74,28 @@ static int mana_gd_init_pf_regs(struct pci_dev *pdev) > gc->phys_db_page_base = gc->bar0_pa + gc->db_page_off; > > sriov_base_off = mana_gd_r64(gc, GDMA_SRIOV_REG_CFG_BASE_OFF); > + if (sriov_base_off >= gc->bar0_size || > + gc->bar0_size - sriov_base_off < > + GDMA_PF_REG_SHM_OFF + sizeof(u64) || > + !IS_ALIGNED(sriov_base_off, sizeof(u64))) { > + dev_err(gc->dev, > + "SRIOV base offset 0x%llx out of range or unaligned (BAR0 size 0x%llx)\n", > + sriov_base_off, (u64)gc->bar0_size); > + return -EPROTO; > + } I think that the additional fix suggested by sashiko is really worthy, but should go in a separate patch. @Dipayaan: please follow-up on that one, thanks! Paolo ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH net, v3] net: mana: Fix crash from unvalidated SHM offset read from BAR0 during FLR 2026-05-05 13:42 ` [PATCH net, v3] net: mana: Fix crash from unvalidated SHM offset read from BAR0 during FLR Paolo Abeni @ 2026-05-05 16:28 ` Dipayaan Roy 0 siblings, 0 replies; 3+ messages in thread From: Dipayaan Roy @ 2026-05-05 16:28 UTC (permalink / raw) To: Paolo Abeni Cc: kys, haiyangz, wei.liu, decui, andrew+netdev, davem, edumazet, kuba, leon, longli, kotaranov, horms, shradhagupta, ssengar, ernis, shirazsaleem, linux-hyperv, netdev, linux-kernel, linux-rdma, stephen, jacob.e.keller, dipayanroy, leitao, kees, john.fastabend, hawk, bpf, daniel, ast, sdf, yury.norov On Tue, May 05, 2026 at 03:42:46PM +0200, Paolo Abeni wrote: > On 5/1/26 4:47 AM, Dipayaan Roy wrote: > > @@ -73,10 +74,28 @@ static int mana_gd_init_pf_regs(struct pci_dev *pdev) > > gc->phys_db_page_base = gc->bar0_pa + gc->db_page_off; > > > > sriov_base_off = mana_gd_r64(gc, GDMA_SRIOV_REG_CFG_BASE_OFF); > > + if (sriov_base_off >= gc->bar0_size || > > + gc->bar0_size - sriov_base_off < > > + GDMA_PF_REG_SHM_OFF + sizeof(u64) || > > + !IS_ALIGNED(sriov_base_off, sizeof(u64))) { > > + dev_err(gc->dev, > > + "SRIOV base offset 0x%llx out of range or unaligned (BAR0 size 0x%llx)\n", > > + sriov_base_off, (u64)gc->bar0_size); > > + return -EPROTO; > > + } > > I think that the additional fix suggested by sashiko is really worthy, > but should go in a separate patch. @Dipayaan: please follow-up on that > one, thanks! > > Paolo > Hi Paolo, Thanks for reviewing, and I will cross check and send out a separate patch for issue pointed out by Sashiko(un-related to the current issue). Regards Dipayaan Roy ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH net, v3] net: mana: Fix crash from unvalidated SHM offset read from BAR0 during FLR [not found] <afQUMClyjmBVfD+u@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> 2026-05-05 13:42 ` [PATCH net, v3] net: mana: Fix crash from unvalidated SHM offset read from BAR0 during FLR Paolo Abeni @ 2026-05-05 13:50 ` patchwork-bot+netdevbpf 1 sibling, 0 replies; 3+ messages in thread From: patchwork-bot+netdevbpf @ 2026-05-05 13:50 UTC (permalink / raw) To: Dipayaan Roy Cc: kys, haiyangz, wei.liu, decui, andrew+netdev, davem, edumazet, kuba, pabeni, leon, longli, kotaranov, horms, shradhagupta, ssengar, ernis, shirazsaleem, linux-hyperv, netdev, linux-kernel, linux-rdma, stephen, jacob.e.keller, dipayanroy, leitao, kees, john.fastabend, hawk, bpf, daniel, ast, sdf, yury.norov Hello: This patch was applied to netdev/net.git (main) by Paolo Abeni <pabeni@redhat.com>: On Thu, 30 Apr 2026 19:47:12 -0700 you wrote: > During Function Level Reset recovery, the MANA driver reads > hardware BAR0 registers that may temporarily contain garbage values. > The SHM (Shared Memory) offset read from GDMA_REG_SHM_OFFSET is used > to compute gc->shm_base, which is later dereferenced via readl() in > mana_smc_poll_register(). If the hardware returns an unaligned or > out-of-range value, the driver must not blindly use it, as this would > propagate the hardware error into a kernel crash. > > [...] Here is the summary with links: - [net,v3] net: mana: Fix crash from unvalidated SHM offset read from BAR0 during FLR https://git.kernel.org/netdev/net/c/95084f1883a7 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-05-05 16:28 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <afQUMClyjmBVfD+u@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net>
2026-05-05 13:42 ` [PATCH net, v3] net: mana: Fix crash from unvalidated SHM offset read from BAR0 during FLR Paolo Abeni
2026-05-05 16:28 ` Dipayaan Roy
2026-05-05 13:50 ` patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox