lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <E350D230-9E45-41FC-ADF5-5CF2317171DA@gmail.com>
Date:   Thu, 22 Aug 2019 20:03:11 -0700
From:   "Jonathan Lemon" <jonathan.lemon@...il.com>
To:     Netdev <netdev@...r.kernel.org>, michael.chan@...adcom.com
Cc:     kernel-team@...com
Subject: BUG: bnxt_en driver fails to initialize

On a recent net-next 932630fa902878f4c8c50d0b1260eeb9de16b0a4,
installing the build on a box which has a Broadcom card with
the 20.1 firmware, the driver refuses to initialize.  I tracked
this down to:

	static int bnxt_alloc_stats(struct bnxt *bp)
	...
                 cpr->hw_stats = dma_alloc_coherent(&pdev->dev, size,
                                                    &cpr->hw_stats_map,
                                                    GFP_KERNEL);
                 if (!cpr->hw_stats)
                         return -ENOMEM;

Where size == 0, so obviously it returns NULL, and -ENOMEM.

The same build, when installed on different box with the
20.6.167.0 firmware, works fine.  Details below.


Taken from the same box with a 4.16 kernel, showing firmware:

# ethtool -i eth0
driver: bnxt_en
version: 1.9.0
firmware-version: 20.1.20.0
expansion-rom-version:
bus-info: 0000:03:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: yes
supports-register-dump: no
supports-priv-flags: no


The problematic box:

[    0.000000] Linux version 5.3.0-rc5-00987-g12a993533ad1 
(bsd@...vm1828.vll1.facebook.com) (gcc version 4.8.5 20150623 (Red Hat 
4.8.5-36) (GCC)) #7 SMP Thu Aug 22 19:48:01 PDT 2019

[   11.195653] Broadcom NetXtreme-C/E driver bnxt_en v1.10.0
[   11.262489] b:00.0 (unnamed net_device) (uninitialized): Firmware 
does not support TC flower offload.
[   11.283546] bnxt_en 0000:03:00.0 eth0: Firmware does not support NVM 
params
[   11.297448] bnxt_en 0000:03:00.0 eth0: Broadcom BCM57302 NetXtreme-C 
10Gb/25Gb Ethernet found at mem 383fffe10000, node addr 
00:0a:f7:a3:d8:94
[   11.322965] bnxt_en 0000:03:00.0: 63.008 Gb/s available PCIe 
bandwidth (8 GT/s x8 link)

[   12.136319] WARNING: CPU: 5 PID: 1 at ../mm/page_alloc.c:4707 
__alloc_pages_nodemask+0x27c/0x330
[   12.155239] Modules linked in:
[   12.155242] CPU: 5 PID: 1 Comm: swapper/0 Not tainted 
5.3.0-rc5-00987-g12a993533ad1 #7
[   12.155243] Hardware name: Quanta Leopard ORv2-DDR4/Leopard 
ORv2-DDR4, BIOS F06_3B17 03/16/2018
[   12.155245] RIP: 0010:__alloc_pages_nodemask+0x27c/0x330
[   12.239793] Code: 48 83 c3 18 44 89 e9 44 89 e2 48 89 ee e8 5c b9 bb 
00 4c 8b 0b 4d 85 c9 75 df 48 89 e8 e9 42 ff ff ff 81 e7 00 20 00 00 75 
02 <0f> 0b 31 c0 e9 31 ff ff ff 48 89 e8 e9 29 ff ff ff 89 c2 90 e9 f0
[   12.277249] RSP: 0000:ffffc9000c4dfc08 EFLAGS: 00010246
[   12.287667] RAX: 0000000000000000 RBX: 0000000000000cc0 RCX: 
0000000000000000
[   12.301897] RDX: 0000000000000000 RSI: 0000000000000034 RDI: 
0000000000000000
[   12.316127] RBP: 0000000000000000 R08: 0000000000000000 R09: 
0000000000000000
[   12.330358] R10: ffff888000000000 R11: 00000000ffdd4f00 R12: 
0000000000000034
[   12.344587] R13: 0000160000000000 R14: ffffffffffffffff R15: 
ffff889ff71ad0b0
[   12.358819] FS:  0000000000000000(0000) GS:ffff889fff540000(0000) 
knlGS:0000000000000000
[   12.374957] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   12.386413] CR2: 0000000000000000 CR3: 000000000240a001 CR4: 
00000000003606e0
[   12.400643] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 
0000000000000000
[   12.414875] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 
0000000000000400
[   12.429107] Call Trace:
[   12.433981]  __dma_direct_alloc_pages+0x89/0x120
[   12.443200]  dma_direct_alloc_pages+0x1c/0xa0
[   12.451902]  bnxt_alloc_mem+0x32e/0xe20
[   12.459566]  ? bnxt_need_reserve_rings+0x30/0x120
[   12.468957]  __bnxt_open_nic+0x8c/0x880
[   12.476601]  bnxt_open+0x34/0xb0
[   12.483032]  __dev_open+0xd1/0x160
[   12.489807]  dev_open+0x43/0x90
[   12.496070]  netpoll_setup+0x26d/0x330
[   12.503558]  init_netconsole+0x145/0x276
[   12.511390]  ? option_setup+0x1f/0x1f
[   12.518705]  do_one_initcall+0x4e/0x1f4
[   12.526351]  ? trace_event_define_fields_initcall_finish+0x62/0x62
[   12.538690]  kernel_init_freeable+0x182/0x224
[   12.547376]  ? trace_event_define_fields_initcall_finish+0x62/0x62
[   12.559716]  ? rest_init+0xb0/0xb0
[   12.566491]  kernel_init+0xa/0x110
[   12.573269]  ret_from_fork+0x35/0x40
[   12.580392] ---[ end trace e4d68dee87999a79 ]---
[   12.589614] bnxt_en 0000:03:00.0 eth0: bnxt_alloc_mem err: fffffff4

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ