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-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 10 May 2018 10:21:25 -0400
From:   Vivien Didelot <vivien.didelot@...oirfairelinux.com>
To:     Petr Machata <petrm@...lanox.com>, netdev@...r.kernel.org
Cc:     jiri@...nulli.us, davem@...emloft.net
Subject: Re: [PATCH net-next] rocker: Postpone filtering of !added_by_user FDB

Petr Machata <petrm@...lanox.com> writes:

> Breaking out of the switch in rocker_switchdev_event() still ends up
> scheduling work, except an ill-defined one. This leads to an OOPS cited
> below. Fix by postponing the check until rocker_switchdev_event_work().
>
> [   23.148476] BUG: unable to handle kernel NULL pointer dereference at 0000000000000000
> [   23.148810] PGD 0 P4D 0
> [   23.148982] Oops: 0000 [#1] PREEMPT SMP PTI
> [   23.149190] Modules linked in: bridge stp llc iptable_nat nf_nat_ipv4 nf_nat e1000 rocker
> [   23.149768] CPU: 0 PID: 239 Comm: kworker/u2:4 Not tainted 4.17.0-rc3-net_next_queue-custom #6
> [   23.150298] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-2.fc27 04/01/2014
> [   23.150868] Workqueue: rocker rocker_switchdev_event_work [rocker]
> [   23.151258] RIP: 0010:ofdpa_port_fdb+0x7b/0x230 [rocker]
> [   23.151597] RSP: 0018:ffffc900004b3e18 EFLAGS: 00010246
> [   23.151952] RAX: 00000000fffbc68c RBX: 0000000000000000 RCX: 0000000000000000
> [   23.152363] RDX: 0000000000000010 RSI: ffff88003b4471e0 RDI: 00000000ffffffff
> [   23.152768] RBP: ffff88003b4471c0 R08: ffff88003b4471e0 R09: ffff88003b4471c0
> [   23.153141] R10: 0000000000000000 R11: 0000000000000000 R12: ffff880036caf000
> [   23.153515] R13: 0000000000000000 R14: 0000000000000000 R15: ffff88003bc00000
> [   23.153919] FS:  0000000000000000(0000) GS:ffff88003fc00000(0000) knlGS:0000000000000000
> [   23.154444] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [   23.154806] CR2: 0000000000000000 CR3: 0000000036eb6000 CR4: 00000000000006f0
> [   23.155194] Call Trace:
> [   23.155472]  rocker_switchdev_event_work+0x9b/0xd0 [rocker]
> [   23.155850]  ? __schedule+0x231/0x700
> [   23.156175]  process_one_work+0x1cf/0x3e0
> [   23.156490]  worker_thread+0x26/0x3d0
> [   23.156795]  ? trace_event_raw_event_workqueue_execute_start+0x80/0x80
> [   23.157181]  kthread+0x10e/0x130
> [   23.157485]  ? kthread_create_worker_on_cpu+0x40/0x40
> [   23.157824]  ret_from_fork+0x35/0x40
> [   23.158174] Code: 00 00 c1 e8 02 4c 8d 45 20 bf ff ff ff ff 83 e0 01 4c 89 65 20 88 45 14 48 8b 05 21 da 1f e2 4c 89 c6 4c 89 44 24 10 48 89 45 18 <41> 8b 45 00 89 45 28 41 0f b7 45 04 66 89 45 2c 0f b7 44 24 04
> [   23.159346] RIP: ofdpa_port_fdb+0x7b/0x230 [rocker] RSP: ffffc900004b3e18
> [   23.159742] CR2: 0000000000000000
> [   23.160088] ---[ end trace f9b16d4cb6df0629 ]---
>
> Fixes: 816a3bed9549 ("switchdev: Add fdb.added_by_user to switchdev notifications")
> Suggested-by: Vivien Didelot <vivien.didelot@...oirfairelinux.com>
> Signed-off-by: Petr Machata <petrm@...lanox.com>

Reviewed-by: Vivien Didelot <vivien.didelot@...oirfairelinux.com>

Powered by blists - more mailing lists