[PATCH] ipv6: Fix idev->addr_list corruption

2017-04-09 Thread Rabin Vincent
From: Rabin Vincent addrconf_ifdown() removes elements from the idev->addr_list without holding the idev->lock. If this happens while the loop in __ipv6_dev_get_saddr() is handling the same element, that function ends up in an infinite loop: NMI watchdog: BUG: soft lockup - CPU#1 stu

Re: Synopsys Ethernet QoS Driver

2016-11-19 Thread Rabin Vincent
On Fri, Nov 18, 2016 at 02:20:27PM +, Joao Pinto wrote: > For now we are interesting in improving the synopsys QoS driver under > /nect/ethernet/synopsys. For now the driver structure consists of a single > file > called dwc_eth_qos.c, containing synopsys ethernet qos common ops and platform >

[PATCHv3] phy: fix crash in fixed_phy_add()

2016-05-18 Thread Rabin Vincent
From: Rabin Vincent Since e7f4dc3536a ("mdio: Move allocation of interrupts into core"), platforms which call fixed_phy_add() before fixed_mdio_bus_init() is called (for example, because the platform code and the fixed_phy driver use the same initcall level) crash in fixed_phy_add()

[PATCHv2] phy: fix crash in fixed_phy_add()

2016-05-17 Thread Rabin Vincent
From: Rabin Vincent Since e7f4dc3536a ("mdio: Move allocation of interrupts into core"), platforms which call fixed_phy_add() before fixed_mdio_bus_init() is called (for example, because the platform code and the fixed_phy driver use the same initcall level) crash in fixed_phy_add()

Re: [PATCH] phy: remove irq param to fix crash in fixed_phy_add()

2016-05-16 Thread Rabin Vincent
On Mon, May 16, 2016 at 02:29:03PM +0200, Andrew Lunn wrote: > What i think is better is to make fixed_phy_add() return -EPROBE_DEFER > if it is called before fixed_mdio_bus_init(). I don't see how this will work for platforms such as ar7 and bcm47xx which call fixed_phy_add() from platform code.

[PATCH] phy: remove irq param to fix crash in fixed_phy_add()

2016-05-16 Thread Rabin Vincent
From: Rabin Vincent Since e7f4dc3536a ("mdio: Move allocation of interrupts into core"), platforms which call fixed_phy_add() before fixed_mdio_bus_init() is called (for example, because the platform code and the fixed_phy driver use the same initcall level) crash in fixed_phy_add()

[PATCH] dwc_eth_qos: Reset hardware before PHY start

2016-02-02 Thread Rabin Vincent
From: Rabin Vincent The hardware reset is currently done after phy_start() is called, leading to a race where we can lose the link status if the phy state machine calls dwceqos_adjust_link() before we reset the MAC registers. Acked-by: Lars Persson Signed-off-by: Rabin Vincent --- drivers

Re: [PATCH] arm64: net: bpf: don't BUG() on large shifts

2016-01-06 Thread Rabin Vincent
On Tue, Jan 05, 2016 at 09:55:58AM -0800, Alexei Starovoitov wrote: > this one is better to be addressed in verifier instead of eBPF JITs. > Please reject it in check_alu_op() instead. AFAICS the eBPF verifier is not called on the eBPF filters generated by the BPF->eBPF conversion in net/core/filt

[PATCH] arm64: net: bpf: don't BUG() on large shifts

2016-01-05 Thread Rabin Vincent
_bpf_init+0x1d4/0x748 [test_bpf] [] do_one_initcall+0x90/0x1a8 [] do_init_module+0x60/0x1c8 [] load_module+0x1554/0x1c98 [] SyS_init_module+0x11c/0x140 [] el0_svc_naked+0x24/0x28 Signed-off-by: Rabin Vincent --- arch/arm64/net/bpf_jit_comp.c | 7 +++ 1 file changed, 7 insertions(+) di

[PATCH] ARM: net: bpf: fix zero right shift

2016-01-05 Thread Rabin Vincent
found using american fuzzy lop. Signed-off-by: Rabin Vincent --- arch/arm/net/bpf_jit_32.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm/net/bpf_jit_32.c b/arch/arm/net/bpf_jit_32.c index e153eb065fe4..93d0b6d0b63e 100644 --- a/arch/arm/net/bpf_jit_32.c +++ b/arch/arm

Re: [PATCH] net: filter: make JITs zero A for SKF_AD_ALU_XOR_X

2016-01-05 Thread Rabin Vincent
On Tue, Jan 05, 2016 at 08:00:45AM -0800, Eric Dumazet wrote: > On Tue, 2016-01-05 at 16:23 +0100, Rabin Vincent wrote: > > The SKF_AD_ALU_XOR_X ancillary is not like the other ancillary data > > instructions since it XORs A with X while all the others replace A with > > so

[PATCH] net: filter: make JITs zero A for SKF_AD_ALU_XOR_X

2016-01-05 Thread Rabin Vincent
helper to determine if A needs to be cleared given the first instruction in a filter, and use this in the JITs. Except for ARM, the rest have only been compile-tested. Fixes: 3480593131e0 ("net: filter: get rid of BPF_S_* enum") Signed-off-by: Rabin Vincent --- arch/arm/net/bpf_jit_32.c