Linux-RDMA Archive on lore.kernel.org
 help / color / Atom feed
From: Jason Gunthorpe <jgg@nvidia.com>
To: dennis.dalessandro@cornelisnetworks.com
Cc: dledford@redhat.com, linux-rdma@vger.kernel.org,
	Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>,
	stable@vger.kernel.org
Subject: Re: [PATCH for-rc 3/4] IB/hfi1: Fix probe time panic when AIP is enabled with a buggy BIOS
Date: Wed, 7 Apr 2021 20:04:30 -0300
Message-ID: <20210407230430.GA575861@nvidia.com> (raw)
In-Reply-To: <1617025700-31865-4-git-send-email-dennis.dalessandro@cornelisnetworks.com>

On Mon, Mar 29, 2021 at 09:48:19AM -0400, dennis.dalessandro@cornelisnetworks.com wrote:
> From: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>
> 
> A panic can result when AIP is enabled:
> 
> [ 8.644728] BUG: unable to handle kernel NULL pointer dereference at 000000000000000
> [ 8.657708] PGD 0 P4D 0
> [ 8.664488] Oops: 0000 1 SMP PTI
> [ 8.672190] CPU: 70 PID: 981 Comm: systemd-udevd Tainted: G OE --------- - - 4.18.0-240.el8.x86_64 #1
> [ 8.687916] Hardware name: Intel Corporation S2600KP/S2600KP, BIOS SE5C610.86B.01.01.0005.101720141054 10/17/2014
> [ 8.703340] RIP: 0010:__bitmap_and+0x1b/0x70
> [ 8.741702] RSP: 0018:ffff99aa0845f9f0 EFLAGS: 00010246
> [ 8.751757] RAX: 0000000000000000 RBX: ffff8d5a6fc18000 RCX: 0000000000000048
> [ 8.764203] RDX: 0000000000000000 RSI: ffffffffc06336f0 RDI: ffff8d5a8fa67750
> [ 8.776990] RBP: 0000000000000079 R08: 0000000fffffffff R09: 0000000000000000
> [ 8.789768] R10: 0000000000000000 R11: 0000000000000001 R12: ffffffffc06336f0
> [ 8.802007] R13: 00000000000000a0 R14: ffff8d5a6fc18000 R15: 0000000000000003
> [ 8.814317] FS: 00007fec137a5980(0000) GS:ffff8d5a9fa80000(0000) knlGS:0000000000000000
> [ 8.827629] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 8.838309] CR2: 0000000000000000 CR3: 0000000a04b48002 CR4: 00000000001606e0
> [ 8.850502] Call Trace:
> [ 8.857950] hfi1_num_netdev_contexts+0x7c/0x110 [hfi1]
> [ 8.868295] hfi1_init_dd+0xd7f/0x1a90 [hfi1]
> [ 8.877681] ? pci_bus_read_config_dword+0x49/0x70
> [ 8.887567] ? pci_mmcfg_read+0x3e/0xe0
> [ 8.896797] do_init_one.isra.18+0x336/0x640 [hfi1]
> [ 8.906958] local_pci_probe+0x41/0x90
> [ 8.915784] pci_device_probe+0x105/0x1c0
> [ 8.925002] really_probe+0x212/0x440
> [ 8.933687] driver_probe_device+0x49/0xc0
> [ 8.942918] device_driver_attach+0x50/0x60
> [ 8.952553] __driver_attach+0x61/0x130
> [ 8.961553] ? device_driver_attach+0x60/0x60
> [ 8.971122] bus_for_each_dev+0x77/0xc0
> [ 8.979912] ? klist_add_tail+0x3b/0x70
> [ 8.988886] bus_add_driver+0x14d/0x1e0
> [ 8.998175] ? dev_init+0x10b/0x10b [hfi1]
> [ 9.007531] driver_register+0x6b/0xb0
> [ 9.016757] ? dev_init+0x10b/0x10b [hfi1]
> [ 9.026220] hfi1_mod_init+0x1e6/0x20a [hfi1]
> [ 9.035601] do_one_initcall+0x46/0x1c3
> [ 9.043958] ? free_unref_page_commit+0x91/0x100
> [ 9.053460] ? _cond_resched+0x15/0x30
> [ 9.062426] ? kmem_cache_alloc_trace+0x140/0x1c0
> [ 9.071982] do_init_module+0x5a/0x220
> [ 9.080574] load_module+0x14b4/0x17e0
> [ 9.088911] ? __do_sys_finit_module+0xa8/0x110
> [ 9.098231] __do_sys_finit_module+0xa8/0x110
> [ 9.107307] do_syscall_64+0x5b/0x1a0
> 
> The issue happens when pcibus_to_node() returns NO_NUMA_NODE.
> 
> Fix this issue by moving the initialization of dd->node to hfi1_devdata
> allocation and remove the other pcibus_to_node() calls in the probe
> path and use dd->node instead.
> 
> Affinity logic is adjusted to use a new field dd->affinity_entry
> as a guard instead of dd->node.
> 
> Fixes: 4730f4a6c6b2 ("IB/hfi1: Activate the dummy netdev")
> Cc: stable@vger.kernel.org
> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>
> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
> ---
>  drivers/infiniband/hw/hfi1/affinity.c  | 21 +++++----------------
>  drivers/infiniband/hw/hfi1/hfi.h       |  1 +
>  drivers/infiniband/hw/hfi1/init.c      | 10 +++++++++-
>  drivers/infiniband/hw/hfi1/netdev_rx.c |  3 +--
>  4 files changed, 16 insertions(+), 19 deletions(-)

Applied to for-rc

Thanks,
Jason

  reply index

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-29 13:48 [PATCH for-rc 0/4] hfi fixes dennis.dalessandro
2021-03-29 13:48 ` [PATCH for-rc 1/4] IB/hfi1: Call xa_destroy before freeing dummy_netdev dennis.dalessandro
2021-03-29 14:09   ` Jason Gunthorpe
2021-03-31 19:36     ` Dennis Dalessandro
2021-04-01  6:06       ` Greg KH
2021-04-01 14:02         ` Dennis Dalessandro
2021-04-01 14:12           ` Greg KH
2021-04-01 15:00             ` Dennis Dalessandro
2021-04-01 12:33       ` Jason Gunthorpe
2021-04-01 13:42         ` Wan, Kaike
2021-04-01 13:48           ` Jason Gunthorpe
2021-03-29 13:48 ` [PATCH for-rc 2/4] IB/hfi1: Call xa_destroy before unloading the module dennis.dalessandro
2021-03-29 14:11   ` Jason Gunthorpe
2021-04-08 13:30     ` Dennis Dalessandro
2021-03-29 13:48 ` [PATCH for-rc 3/4] IB/hfi1: Fix probe time panic when AIP is enabled with a buggy BIOS dennis.dalessandro
2021-04-07 23:04   ` Jason Gunthorpe [this message]
2021-03-29 13:48 ` [PATCH for-rc 4/4] IB/hfi1: Fix regressions in security fix dennis.dalessandro
2021-03-29 18:36   ` Ira Weiny
2021-04-07 18:33     ` Jason Gunthorpe
2021-04-07 20:20       ` Dennis Dalessandro
2021-04-13 22:55   ` Jason Gunthorpe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210407230430.GA575861@nvidia.com \
    --to=jgg@nvidia.com \
    --cc=dennis.dalessandro@cornelisnetworks.com \
    --cc=dledford@redhat.com \
    --cc=linux-rdma@vger.kernel.org \
    --cc=mike.marciniszyn@cornelisnetworks.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-RDMA Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-rdma/0 linux-rdma/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-rdma linux-rdma/ https://lore.kernel.org/linux-rdma \
		linux-rdma@vger.kernel.org
	public-inbox-index linux-rdma

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-rdma


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git