<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/net, branch v4.12</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>sfc: fix attempt to translate invalid filter ID</title>
<updated>2017-06-29T19:59:38+00:00</updated>
<author>
<name>Edward Cree</name>
<email>ecree@solarflare.com</email>
</author>
<published>2017-06-29T15:50:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d58299a478c416c0b48e4b31c6332fe7beb63000'/>
<id>d58299a478c416c0b48e4b31c6332fe7beb63000</id>
<content type='text'>
When filter insertion fails with no rollback, we were trying to convert
 EFX_EF10_FILTER_ID_INVALID to an id to store in 'ids' (which is either
 vlan-&gt;uc or vlan-&gt;mc).  This would WARN_ON_ONCE and then record a bogus
 filter ID of 0x1fff, neither of which is a good thing.

Fixes: 0ccb998bf46d ("sfc: fix filter_id misinterpretation in edge case")
Signed-off-by: Edward Cree &lt;ecree@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When filter insertion fails with no rollback, we were trying to convert
 EFX_EF10_FILTER_ID_INVALID to an id to store in 'ids' (which is either
 vlan-&gt;uc or vlan-&gt;mc).  This would WARN_ON_ONCE and then record a bogus
 filter ID of 0x1fff, neither of which is a good thing.

Fixes: 0ccb998bf46d ("sfc: fix filter_id misinterpretation in edge case")
Signed-off-by: Edward Cree &lt;ecree@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>arcnet: com20020-pci: add missing pdev setup in netdev structure</title>
<updated>2017-06-29T19:18:37+00:00</updated>
<author>
<name>Michael Grzeschik</name>
<email>m.grzeschik@pengutronix.de</email>
</author>
<published>2017-06-28T16:28:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=2a0ea04c83ab82c3852c9171d2fa5cd9a1432c9b'/>
<id>2a0ea04c83ab82c3852c9171d2fa5cd9a1432c9b</id>
<content type='text'>
We add the pdev data to the pci devices netdev structure. This way
the interface get consistent device names in the userspace (udev).

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We add the pdev data to the pci devices netdev structure. This way
the interface get consistent device names in the userspace (udev).

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>arcnet: com20020-pci: fix dev_id calculation</title>
<updated>2017-06-29T19:18:36+00:00</updated>
<author>
<name>Michael Grzeschik</name>
<email>m.grzeschik@pengutronix.de</email>
</author>
<published>2017-06-28T16:28:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=cb108619f2fc77846bf7a7543517f3487f455b24'/>
<id>cb108619f2fc77846bf7a7543517f3487f455b24</id>
<content type='text'>
The dev_id was miscalculated. Only the two bits 4-5 are relevant for the
MA1 card. PCIARC1 and PCIFB2 use the four bits 4-7 for id selection.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The dev_id was miscalculated. Only the two bits 4-5 are relevant for the
MA1 card. PCIARC1 and PCIFB2 use the four bits 4-7 for id selection.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>arcnet: com20020: remove needless base_addr assignment</title>
<updated>2017-06-29T19:18:36+00:00</updated>
<author>
<name>Michael Grzeschik</name>
<email>m.grzeschik@pengutronix.de</email>
</author>
<published>2017-06-28T16:28:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0d494fcf867f95040b5b67e4bc5af739bcda37da'/>
<id>0d494fcf867f95040b5b67e4bc5af739bcda37da</id>
<content type='text'>
The assignment is superfluous.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The assignment is superfluous.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Trivial fix to spelling mistake in arc_printk message</title>
<updated>2017-06-29T19:18:36+00:00</updated>
<author>
<name>Colin Ian King</name>
<email>colin.king@canonical.com</email>
</author>
<published>2017-06-28T16:28:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=06908d7aee8d62a80cabfd134d0354dc4d2794bc'/>
<id>06908d7aee8d62a80cabfd134d0354dc4d2794bc</id>
<content type='text'>
Signed-off-by: Colin Ian King &lt;colin.king@canonical.com&gt;
Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Colin Ian King &lt;colin.king@canonical.com&gt;
Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>arcnet: change irq handler to lock irqsave</title>
<updated>2017-06-29T19:18:35+00:00</updated>
<author>
<name>Michael Grzeschik</name>
<email>m.grzeschik@pengutronix.de</email>
</author>
<published>2017-06-28T16:28:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=5b85840320151f61e04d83a23ef2567a07094503'/>
<id>5b85840320151f61e04d83a23ef2567a07094503</id>
<content type='text'>
This patch prevents the arcnet driver from the following deadlock.

[   41.273910] ======================================================
[   41.280397] [ INFO: SOFTIRQ-safe -&gt; SOFTIRQ-unsafe lock order detected ]
[   41.287433] 4.4.0-00034-gc0ae784 #536 Not tainted
[   41.292366] ------------------------------------------------------
[   41.298863] arcecho/233 [HC0[0]:SC0[2]:HE0:SE0] is trying to acquire:
[   41.305628]  (&amp;(&amp;lp-&gt;lock)-&gt;rlock){+.+...}, at: [&lt;bf083bc8&gt;] arcnet_send_packet+0x60/0x1c0 [arcnet]
[   41.315199]
[   41.315199] and this task is already holding:
[   41.321324]  (_xmit_ARCNET#2){+.-...}, at: [&lt;c06b934c&gt;] packet_direct_xmit+0xfc/0x1c8
[   41.329593] which would create a new lock dependency:
[   41.334893]  (_xmit_ARCNET#2){+.-...} -&gt; (&amp;(&amp;lp-&gt;lock)-&gt;rlock){+.+...}
[   41.341801]
[   41.341801] but this new dependency connects a SOFTIRQ-irq-safe lock:
[   41.350108]  (_xmit_ARCNET#2){+.-...}
... which became SOFTIRQ-irq-safe at:
[   41.357539]   [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.362677]   [&lt;c063ab8c&gt;] dev_watchdog+0x5c/0x264
[   41.367723]   [&lt;c0094edc&gt;] call_timer_fn+0x6c/0xf4
[   41.372759]   [&lt;c00950b8&gt;] run_timer_softirq+0x154/0x210
[   41.378340]   [&lt;c0036b30&gt;] __do_softirq+0x144/0x298
[   41.383469]   [&lt;c0036fb4&gt;] irq_exit+0xcc/0x130
[   41.388138]   [&lt;c0085c50&gt;] __handle_domain_irq+0x60/0xb4
[   41.393728]   [&lt;c0014578&gt;] __irq_svc+0x58/0x78
[   41.398402]   [&lt;c0010274&gt;] arch_cpu_idle+0x24/0x3c
[   41.403443]   [&lt;c007127c&gt;] cpu_startup_entry+0x1f8/0x25c
[   41.409029]   [&lt;c09adc90&gt;] start_kernel+0x3c0/0x3cc
[   41.414170]
[   41.414170] to a SOFTIRQ-irq-unsafe lock:
[   41.419931]  (&amp;(&amp;lp-&gt;lock)-&gt;rlock){+.+...}
... which became SOFTIRQ-irq-unsafe at:
[   41.427996] ...  [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.433409]   [&lt;bf083d54&gt;] arcnet_interrupt+0x2c/0x800 [arcnet]
[   41.439646]   [&lt;c0089120&gt;] handle_nested_irq+0x8c/0xec
[   41.445063]   [&lt;c03c1170&gt;] regmap_irq_thread+0x190/0x314
[   41.450661]   [&lt;c0087244&gt;] irq_thread_fn+0x1c/0x34
[   41.455700]   [&lt;c0087548&gt;] irq_thread+0x13c/0x1dc
[   41.460649]   [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.465158]   [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.470207]
[   41.470207] other info that might help us debug this:
[   41.470207]
[   41.478627]  Possible interrupt unsafe locking scenario:
[   41.478627]
[   41.485763]        CPU0                    CPU1
[   41.490521]        ----                    ----
[   41.495279]   lock(&amp;(&amp;lp-&gt;lock)-&gt;rlock);
[   41.499414]                                local_irq_disable();
[   41.505636]                                lock(_xmit_ARCNET#2);
[   41.511967]                                lock(&amp;(&amp;lp-&gt;lock)-&gt;rlock);
[   41.518741]   &lt;Interrupt&gt;
[   41.521490]     lock(_xmit_ARCNET#2);
[   41.525356]
[   41.525356]  *** DEADLOCK ***
[   41.525356]
[   41.531587] 1 lock held by arcecho/233:
[   41.535617]  #0:  (_xmit_ARCNET#2){+.-...}, at: [&lt;c06b934c&gt;] packet_direct_xmit+0xfc/0x1c8
[   41.544355]
the dependencies between SOFTIRQ-irq-safe lock and the holding lock:
[   41.552362] -&gt; (_xmit_ARCNET#2){+.-...} ops: 27 {
[   41.557357]    HARDIRQ-ON-W at:
[   41.560664]                     [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.567445]                     [&lt;c063ba28&gt;] dev_deactivate_many+0x114/0x304
[   41.574866]                     [&lt;c063bc3c&gt;] dev_deactivate+0x24/0x38
[   41.581646]                     [&lt;c0630374&gt;] linkwatch_do_dev+0x40/0x74
[   41.588613]                     [&lt;c06305d8&gt;] __linkwatch_run_queue+0xec/0x140
[   41.596120]                     [&lt;c0630658&gt;] linkwatch_event+0x2c/0x34
[   41.602991]                     [&lt;c004af30&gt;] process_one_work+0x188/0x40c
[   41.610131]                     [&lt;c004b200&gt;] worker_thread+0x4c/0x480
[   41.616912]                     [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.623048]                     [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.629735]    IN-SOFTIRQ-W at:
[   41.633039]                     [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.639820]                     [&lt;c063ab8c&gt;] dev_watchdog+0x5c/0x264
[   41.646508]                     [&lt;c0094edc&gt;] call_timer_fn+0x6c/0xf4
[   41.653190]                     [&lt;c00950b8&gt;] run_timer_softirq+0x154/0x210
[   41.660425]                     [&lt;c0036b30&gt;] __do_softirq+0x144/0x298
[   41.667201]                     [&lt;c0036fb4&gt;] irq_exit+0xcc/0x130
[   41.673518]                     [&lt;c0085c50&gt;] __handle_domain_irq+0x60/0xb4
[   41.680754]                     [&lt;c0014578&gt;] __irq_svc+0x58/0x78
[   41.687077]                     [&lt;c0010274&gt;] arch_cpu_idle+0x24/0x3c
[   41.693769]                     [&lt;c007127c&gt;] cpu_startup_entry+0x1f8/0x25c
[   41.701006]                     [&lt;c09adc90&gt;] start_kernel+0x3c0/0x3cc
[   41.707791]    INITIAL USE at:
[   41.711003]                    [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.717696]                    [&lt;c063ba28&gt;] dev_deactivate_many+0x114/0x304
[   41.725026]                    [&lt;c063bc3c&gt;] dev_deactivate+0x24/0x38
[   41.731718]                    [&lt;c0630374&gt;] linkwatch_do_dev+0x40/0x74
[   41.738593]                    [&lt;c06305d8&gt;] __linkwatch_run_queue+0xec/0x140
[   41.746011]                    [&lt;c0630658&gt;] linkwatch_event+0x2c/0x34
[   41.752789]                    [&lt;c004af30&gt;] process_one_work+0x188/0x40c
[   41.759847]                    [&lt;c004b200&gt;] worker_thread+0x4c/0x480
[   41.766541]                    [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.772596]                    [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.779198]  }
[   41.780945]  ... key      at: [&lt;c124d620&gt;] netdev_xmit_lock_key+0x38/0x1c8
[   41.788192]  ... acquired at:
[   41.791309]    [&lt;c007bed8&gt;] lock_acquire+0x70/0x90
[   41.796361]    [&lt;c06f9140&gt;] _raw_spin_lock_irqsave+0x40/0x54
[   41.802324]    [&lt;bf083bc8&gt;] arcnet_send_packet+0x60/0x1c0 [arcnet]
[   41.808844]    [&lt;c06b9380&gt;] packet_direct_xmit+0x130/0x1c8
[   41.814622]    [&lt;c06bc7e4&gt;] packet_sendmsg+0x3b8/0x680
[   41.820034]    [&lt;c05fe8b0&gt;] sock_sendmsg+0x14/0x24
[   41.825091]    [&lt;c05ffd68&gt;] SyS_sendto+0xb8/0xe0
[   41.829956]    [&lt;c05ffda8&gt;] SyS_send+0x18/0x20
[   41.834638]    [&lt;c000f780&gt;] ret_fast_syscall+0x0/0x1c
[   41.839954]
[   41.841514]
the dependencies between the lock to be acquired and SOFTIRQ-irq-unsafe lock:
[   41.850302] -&gt; (&amp;(&amp;lp-&gt;lock)-&gt;rlock){+.+...} ops: 5 {
[   41.855644]    HARDIRQ-ON-W at:
[   41.858945]                     [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.865726]                     [&lt;bf083d54&gt;] arcnet_interrupt+0x2c/0x800 [arcnet]
[   41.873607]                     [&lt;c0089120&gt;] handle_nested_irq+0x8c/0xec
[   41.880666]                     [&lt;c03c1170&gt;] regmap_irq_thread+0x190/0x314
[   41.887901]                     [&lt;c0087244&gt;] irq_thread_fn+0x1c/0x34
[   41.894593]                     [&lt;c0087548&gt;] irq_thread+0x13c/0x1dc
[   41.901195]                     [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.907338]                     [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.914025]    SOFTIRQ-ON-W at:
[   41.917328]                     [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.924106]                     [&lt;bf083d54&gt;] arcnet_interrupt+0x2c/0x800 [arcnet]
[   41.931981]                     [&lt;c0089120&gt;] handle_nested_irq+0x8c/0xec
[   41.939028]                     [&lt;c03c1170&gt;] regmap_irq_thread+0x190/0x314
[   41.946264]                     [&lt;c0087244&gt;] irq_thread_fn+0x1c/0x34
[   41.952954]                     [&lt;c0087548&gt;] irq_thread+0x13c/0x1dc
[   41.959548]                     [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.965689]                     [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.972379]    INITIAL USE at:
[   41.975595]                    [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.982283]                    [&lt;bf083d54&gt;] arcnet_interrupt+0x2c/0x800 [arcnet]
[   41.990063]                    [&lt;c0089120&gt;] handle_nested_irq+0x8c/0xec
[   41.997027]                    [&lt;c03c1170&gt;] regmap_irq_thread+0x190/0x314
[   42.004172]                    [&lt;c0087244&gt;] irq_thread_fn+0x1c/0x34
[   42.010766]                    [&lt;c0087548&gt;] irq_thread+0x13c/0x1dc
[   42.017267]                    [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   42.023314]                    [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   42.029903]  }
[   42.031648]  ... key      at: [&lt;bf0854cc&gt;] __key.42091+0x0/0xfffff0f8 [arcnet]
[   42.039255]  ... acquired at:
[   42.042372]    [&lt;c007bed8&gt;] lock_acquire+0x70/0x90
[   42.047413]    [&lt;c06f9140&gt;] _raw_spin_lock_irqsave+0x40/0x54
[   42.053364]    [&lt;bf083bc8&gt;] arcnet_send_packet+0x60/0x1c0 [arcnet]
[   42.059872]    [&lt;c06b9380&gt;] packet_direct_xmit+0x130/0x1c8
[   42.065634]    [&lt;c06bc7e4&gt;] packet_sendmsg+0x3b8/0x680
[   42.071030]    [&lt;c05fe8b0&gt;] sock_sendmsg+0x14/0x24
[   42.076069]    [&lt;c05ffd68&gt;] SyS_sendto+0xb8/0xe0
[   42.080926]    [&lt;c05ffda8&gt;] SyS_send+0x18/0x20
[   42.085601]    [&lt;c000f780&gt;] ret_fast_syscall+0x0/0x1c
[   42.090918]
[   42.092481]
[   42.092481] stack backtrace:
[   42.097065] CPU: 0 PID: 233 Comm: arcecho Not tainted 4.4.0-00034-gc0ae784 #536
[   42.104751] Hardware name: Generic AM33XX (Flattened Device Tree)
[   42.111183] [&lt;c0017ec8&gt;] (unwind_backtrace) from [&lt;c00139d0&gt;] (show_stack+0x10/0x14)
[   42.119337] [&lt;c00139d0&gt;] (show_stack) from [&lt;c02a82c4&gt;] (dump_stack+0x8c/0x9c)
[   42.126937] [&lt;c02a82c4&gt;] (dump_stack) from [&lt;c0078260&gt;] (check_usage+0x4bc/0x63c)
[   42.134815] [&lt;c0078260&gt;] (check_usage) from [&lt;c0078438&gt;] (check_irq_usage+0x58/0xb0)
[   42.142964] [&lt;c0078438&gt;] (check_irq_usage) from [&lt;c007aaa0&gt;] (__lock_acquire+0x1524/0x20b0)
[   42.151740] [&lt;c007aaa0&gt;] (__lock_acquire) from [&lt;c007bed8&gt;] (lock_acquire+0x70/0x90)
[   42.159886] [&lt;c007bed8&gt;] (lock_acquire) from [&lt;c06f9140&gt;] (_raw_spin_lock_irqsave+0x40/0x54)
[   42.168768] [&lt;c06f9140&gt;] (_raw_spin_lock_irqsave) from [&lt;bf083bc8&gt;] (arcnet_send_packet+0x60/0x1c0 [arcnet])
[   42.179115] [&lt;bf083bc8&gt;] (arcnet_send_packet [arcnet]) from [&lt;c06b9380&gt;] (packet_direct_xmit+0x130/0x1c8)
[   42.189182] [&lt;c06b9380&gt;] (packet_direct_xmit) from [&lt;c06bc7e4&gt;] (packet_sendmsg+0x3b8/0x680)
[   42.198059] [&lt;c06bc7e4&gt;] (packet_sendmsg) from [&lt;c05fe8b0&gt;] (sock_sendmsg+0x14/0x24)
[   42.206199] [&lt;c05fe8b0&gt;] (sock_sendmsg) from [&lt;c05ffd68&gt;] (SyS_sendto+0xb8/0xe0)
[   42.213978] [&lt;c05ffd68&gt;] (SyS_sendto) from [&lt;c05ffda8&gt;] (SyS_send+0x18/0x20)
[   42.221388] [&lt;c05ffda8&gt;] (SyS_send) from [&lt;c000f780&gt;] (ret_fast_syscall+0x0/0x1c)

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;

   ---
   v1 -&gt; v2: removed unneeded zero assignment of flags
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch prevents the arcnet driver from the following deadlock.

[   41.273910] ======================================================
[   41.280397] [ INFO: SOFTIRQ-safe -&gt; SOFTIRQ-unsafe lock order detected ]
[   41.287433] 4.4.0-00034-gc0ae784 #536 Not tainted
[   41.292366] ------------------------------------------------------
[   41.298863] arcecho/233 [HC0[0]:SC0[2]:HE0:SE0] is trying to acquire:
[   41.305628]  (&amp;(&amp;lp-&gt;lock)-&gt;rlock){+.+...}, at: [&lt;bf083bc8&gt;] arcnet_send_packet+0x60/0x1c0 [arcnet]
[   41.315199]
[   41.315199] and this task is already holding:
[   41.321324]  (_xmit_ARCNET#2){+.-...}, at: [&lt;c06b934c&gt;] packet_direct_xmit+0xfc/0x1c8
[   41.329593] which would create a new lock dependency:
[   41.334893]  (_xmit_ARCNET#2){+.-...} -&gt; (&amp;(&amp;lp-&gt;lock)-&gt;rlock){+.+...}
[   41.341801]
[   41.341801] but this new dependency connects a SOFTIRQ-irq-safe lock:
[   41.350108]  (_xmit_ARCNET#2){+.-...}
... which became SOFTIRQ-irq-safe at:
[   41.357539]   [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.362677]   [&lt;c063ab8c&gt;] dev_watchdog+0x5c/0x264
[   41.367723]   [&lt;c0094edc&gt;] call_timer_fn+0x6c/0xf4
[   41.372759]   [&lt;c00950b8&gt;] run_timer_softirq+0x154/0x210
[   41.378340]   [&lt;c0036b30&gt;] __do_softirq+0x144/0x298
[   41.383469]   [&lt;c0036fb4&gt;] irq_exit+0xcc/0x130
[   41.388138]   [&lt;c0085c50&gt;] __handle_domain_irq+0x60/0xb4
[   41.393728]   [&lt;c0014578&gt;] __irq_svc+0x58/0x78
[   41.398402]   [&lt;c0010274&gt;] arch_cpu_idle+0x24/0x3c
[   41.403443]   [&lt;c007127c&gt;] cpu_startup_entry+0x1f8/0x25c
[   41.409029]   [&lt;c09adc90&gt;] start_kernel+0x3c0/0x3cc
[   41.414170]
[   41.414170] to a SOFTIRQ-irq-unsafe lock:
[   41.419931]  (&amp;(&amp;lp-&gt;lock)-&gt;rlock){+.+...}
... which became SOFTIRQ-irq-unsafe at:
[   41.427996] ...  [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.433409]   [&lt;bf083d54&gt;] arcnet_interrupt+0x2c/0x800 [arcnet]
[   41.439646]   [&lt;c0089120&gt;] handle_nested_irq+0x8c/0xec
[   41.445063]   [&lt;c03c1170&gt;] regmap_irq_thread+0x190/0x314
[   41.450661]   [&lt;c0087244&gt;] irq_thread_fn+0x1c/0x34
[   41.455700]   [&lt;c0087548&gt;] irq_thread+0x13c/0x1dc
[   41.460649]   [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.465158]   [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.470207]
[   41.470207] other info that might help us debug this:
[   41.470207]
[   41.478627]  Possible interrupt unsafe locking scenario:
[   41.478627]
[   41.485763]        CPU0                    CPU1
[   41.490521]        ----                    ----
[   41.495279]   lock(&amp;(&amp;lp-&gt;lock)-&gt;rlock);
[   41.499414]                                local_irq_disable();
[   41.505636]                                lock(_xmit_ARCNET#2);
[   41.511967]                                lock(&amp;(&amp;lp-&gt;lock)-&gt;rlock);
[   41.518741]   &lt;Interrupt&gt;
[   41.521490]     lock(_xmit_ARCNET#2);
[   41.525356]
[   41.525356]  *** DEADLOCK ***
[   41.525356]
[   41.531587] 1 lock held by arcecho/233:
[   41.535617]  #0:  (_xmit_ARCNET#2){+.-...}, at: [&lt;c06b934c&gt;] packet_direct_xmit+0xfc/0x1c8
[   41.544355]
the dependencies between SOFTIRQ-irq-safe lock and the holding lock:
[   41.552362] -&gt; (_xmit_ARCNET#2){+.-...} ops: 27 {
[   41.557357]    HARDIRQ-ON-W at:
[   41.560664]                     [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.567445]                     [&lt;c063ba28&gt;] dev_deactivate_many+0x114/0x304
[   41.574866]                     [&lt;c063bc3c&gt;] dev_deactivate+0x24/0x38
[   41.581646]                     [&lt;c0630374&gt;] linkwatch_do_dev+0x40/0x74
[   41.588613]                     [&lt;c06305d8&gt;] __linkwatch_run_queue+0xec/0x140
[   41.596120]                     [&lt;c0630658&gt;] linkwatch_event+0x2c/0x34
[   41.602991]                     [&lt;c004af30&gt;] process_one_work+0x188/0x40c
[   41.610131]                     [&lt;c004b200&gt;] worker_thread+0x4c/0x480
[   41.616912]                     [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.623048]                     [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.629735]    IN-SOFTIRQ-W at:
[   41.633039]                     [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.639820]                     [&lt;c063ab8c&gt;] dev_watchdog+0x5c/0x264
[   41.646508]                     [&lt;c0094edc&gt;] call_timer_fn+0x6c/0xf4
[   41.653190]                     [&lt;c00950b8&gt;] run_timer_softirq+0x154/0x210
[   41.660425]                     [&lt;c0036b30&gt;] __do_softirq+0x144/0x298
[   41.667201]                     [&lt;c0036fb4&gt;] irq_exit+0xcc/0x130
[   41.673518]                     [&lt;c0085c50&gt;] __handle_domain_irq+0x60/0xb4
[   41.680754]                     [&lt;c0014578&gt;] __irq_svc+0x58/0x78
[   41.687077]                     [&lt;c0010274&gt;] arch_cpu_idle+0x24/0x3c
[   41.693769]                     [&lt;c007127c&gt;] cpu_startup_entry+0x1f8/0x25c
[   41.701006]                     [&lt;c09adc90&gt;] start_kernel+0x3c0/0x3cc
[   41.707791]    INITIAL USE at:
[   41.711003]                    [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.717696]                    [&lt;c063ba28&gt;] dev_deactivate_many+0x114/0x304
[   41.725026]                    [&lt;c063bc3c&gt;] dev_deactivate+0x24/0x38
[   41.731718]                    [&lt;c0630374&gt;] linkwatch_do_dev+0x40/0x74
[   41.738593]                    [&lt;c06305d8&gt;] __linkwatch_run_queue+0xec/0x140
[   41.746011]                    [&lt;c0630658&gt;] linkwatch_event+0x2c/0x34
[   41.752789]                    [&lt;c004af30&gt;] process_one_work+0x188/0x40c
[   41.759847]                    [&lt;c004b200&gt;] worker_thread+0x4c/0x480
[   41.766541]                    [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.772596]                    [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.779198]  }
[   41.780945]  ... key      at: [&lt;c124d620&gt;] netdev_xmit_lock_key+0x38/0x1c8
[   41.788192]  ... acquired at:
[   41.791309]    [&lt;c007bed8&gt;] lock_acquire+0x70/0x90
[   41.796361]    [&lt;c06f9140&gt;] _raw_spin_lock_irqsave+0x40/0x54
[   41.802324]    [&lt;bf083bc8&gt;] arcnet_send_packet+0x60/0x1c0 [arcnet]
[   41.808844]    [&lt;c06b9380&gt;] packet_direct_xmit+0x130/0x1c8
[   41.814622]    [&lt;c06bc7e4&gt;] packet_sendmsg+0x3b8/0x680
[   41.820034]    [&lt;c05fe8b0&gt;] sock_sendmsg+0x14/0x24
[   41.825091]    [&lt;c05ffd68&gt;] SyS_sendto+0xb8/0xe0
[   41.829956]    [&lt;c05ffda8&gt;] SyS_send+0x18/0x20
[   41.834638]    [&lt;c000f780&gt;] ret_fast_syscall+0x0/0x1c
[   41.839954]
[   41.841514]
the dependencies between the lock to be acquired and SOFTIRQ-irq-unsafe lock:
[   41.850302] -&gt; (&amp;(&amp;lp-&gt;lock)-&gt;rlock){+.+...} ops: 5 {
[   41.855644]    HARDIRQ-ON-W at:
[   41.858945]                     [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.865726]                     [&lt;bf083d54&gt;] arcnet_interrupt+0x2c/0x800 [arcnet]
[   41.873607]                     [&lt;c0089120&gt;] handle_nested_irq+0x8c/0xec
[   41.880666]                     [&lt;c03c1170&gt;] regmap_irq_thread+0x190/0x314
[   41.887901]                     [&lt;c0087244&gt;] irq_thread_fn+0x1c/0x34
[   41.894593]                     [&lt;c0087548&gt;] irq_thread+0x13c/0x1dc
[   41.901195]                     [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.907338]                     [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.914025]    SOFTIRQ-ON-W at:
[   41.917328]                     [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.924106]                     [&lt;bf083d54&gt;] arcnet_interrupt+0x2c/0x800 [arcnet]
[   41.931981]                     [&lt;c0089120&gt;] handle_nested_irq+0x8c/0xec
[   41.939028]                     [&lt;c03c1170&gt;] regmap_irq_thread+0x190/0x314
[   41.946264]                     [&lt;c0087244&gt;] irq_thread_fn+0x1c/0x34
[   41.952954]                     [&lt;c0087548&gt;] irq_thread+0x13c/0x1dc
[   41.959548]                     [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   41.965689]                     [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   41.972379]    INITIAL USE at:
[   41.975595]                    [&lt;c06f8fc8&gt;] _raw_spin_lock+0x30/0x40
[   41.982283]                    [&lt;bf083d54&gt;] arcnet_interrupt+0x2c/0x800 [arcnet]
[   41.990063]                    [&lt;c0089120&gt;] handle_nested_irq+0x8c/0xec
[   41.997027]                    [&lt;c03c1170&gt;] regmap_irq_thread+0x190/0x314
[   42.004172]                    [&lt;c0087244&gt;] irq_thread_fn+0x1c/0x34
[   42.010766]                    [&lt;c0087548&gt;] irq_thread+0x13c/0x1dc
[   42.017267]                    [&lt;c0050f10&gt;] kthread+0xe4/0xf8
[   42.023314]                    [&lt;c000f810&gt;] ret_from_fork+0x14/0x24
[   42.029903]  }
[   42.031648]  ... key      at: [&lt;bf0854cc&gt;] __key.42091+0x0/0xfffff0f8 [arcnet]
[   42.039255]  ... acquired at:
[   42.042372]    [&lt;c007bed8&gt;] lock_acquire+0x70/0x90
[   42.047413]    [&lt;c06f9140&gt;] _raw_spin_lock_irqsave+0x40/0x54
[   42.053364]    [&lt;bf083bc8&gt;] arcnet_send_packet+0x60/0x1c0 [arcnet]
[   42.059872]    [&lt;c06b9380&gt;] packet_direct_xmit+0x130/0x1c8
[   42.065634]    [&lt;c06bc7e4&gt;] packet_sendmsg+0x3b8/0x680
[   42.071030]    [&lt;c05fe8b0&gt;] sock_sendmsg+0x14/0x24
[   42.076069]    [&lt;c05ffd68&gt;] SyS_sendto+0xb8/0xe0
[   42.080926]    [&lt;c05ffda8&gt;] SyS_send+0x18/0x20
[   42.085601]    [&lt;c000f780&gt;] ret_fast_syscall+0x0/0x1c
[   42.090918]
[   42.092481]
[   42.092481] stack backtrace:
[   42.097065] CPU: 0 PID: 233 Comm: arcecho Not tainted 4.4.0-00034-gc0ae784 #536
[   42.104751] Hardware name: Generic AM33XX (Flattened Device Tree)
[   42.111183] [&lt;c0017ec8&gt;] (unwind_backtrace) from [&lt;c00139d0&gt;] (show_stack+0x10/0x14)
[   42.119337] [&lt;c00139d0&gt;] (show_stack) from [&lt;c02a82c4&gt;] (dump_stack+0x8c/0x9c)
[   42.126937] [&lt;c02a82c4&gt;] (dump_stack) from [&lt;c0078260&gt;] (check_usage+0x4bc/0x63c)
[   42.134815] [&lt;c0078260&gt;] (check_usage) from [&lt;c0078438&gt;] (check_irq_usage+0x58/0xb0)
[   42.142964] [&lt;c0078438&gt;] (check_irq_usage) from [&lt;c007aaa0&gt;] (__lock_acquire+0x1524/0x20b0)
[   42.151740] [&lt;c007aaa0&gt;] (__lock_acquire) from [&lt;c007bed8&gt;] (lock_acquire+0x70/0x90)
[   42.159886] [&lt;c007bed8&gt;] (lock_acquire) from [&lt;c06f9140&gt;] (_raw_spin_lock_irqsave+0x40/0x54)
[   42.168768] [&lt;c06f9140&gt;] (_raw_spin_lock_irqsave) from [&lt;bf083bc8&gt;] (arcnet_send_packet+0x60/0x1c0 [arcnet])
[   42.179115] [&lt;bf083bc8&gt;] (arcnet_send_packet [arcnet]) from [&lt;c06b9380&gt;] (packet_direct_xmit+0x130/0x1c8)
[   42.189182] [&lt;c06b9380&gt;] (packet_direct_xmit) from [&lt;c06bc7e4&gt;] (packet_sendmsg+0x3b8/0x680)
[   42.198059] [&lt;c06bc7e4&gt;] (packet_sendmsg) from [&lt;c05fe8b0&gt;] (sock_sendmsg+0x14/0x24)
[   42.206199] [&lt;c05fe8b0&gt;] (sock_sendmsg) from [&lt;c05ffd68&gt;] (SyS_sendto+0xb8/0xe0)
[   42.213978] [&lt;c05ffd68&gt;] (SyS_sendto) from [&lt;c05ffda8&gt;] (SyS_send+0x18/0x20)
[   42.221388] [&lt;c05ffda8&gt;] (SyS_send) from [&lt;c000f780&gt;] (ret_fast_syscall+0x0/0x1c)

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;

   ---
   v1 -&gt; v2: removed unneeded zero assignment of flags
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rocker: move dereference before free</title>
<updated>2017-06-29T18:19:24+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2017-06-28T11:44:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=acb4b7df48b539cb391287921de57e4e5fae3460'/>
<id>acb4b7df48b539cb391287921de57e4e5fae3460</id>
<content type='text'>
My static checker complains that ofdpa_neigh_del() can sometimes free
"found".   It just makes sense to use it first before deleting it.

Fixes: ecf244f753e0 ("rocker: fix maybe-uninitialized warning")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
My static checker complains that ofdpa_neigh_del() can sometimes free
"found".   It just makes sense to use it first before deleting it.

Fixes: ecf244f753e0 ("rocker: fix maybe-uninitialized warning")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mlxsw: spectrum_router: Fix NULL pointer dereference</title>
<updated>2017-06-29T16:59:48+00:00</updated>
<author>
<name>Ido Schimmel</name>
<email>idosch@mellanox.com</email>
</author>
<published>2017-06-28T06:03:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=6b27c8adf27edf1dabe2cdcfaa101ef7e2712415'/>
<id>6b27c8adf27edf1dabe2cdcfaa101ef7e2712415</id>
<content type='text'>
In case a VLAN device is enslaved to a bridge we shouldn't create a
router interface (RIF) for it when it's configured with an IP address.
This is already handled by the driver for other types of netdevs, such
as physical ports and LAG devices.

If this IP address is then removed and the interface is subsequently
unlinked from the bridge, a NULL pointer dereference can happen, as the
original 802.1d FID was replaced with an rFID which was then deleted.

To reproduce:
$ ip link set dev enp3s0np9 up
$ ip link add name enp3s0np9.111 link enp3s0np9 type vlan id 111
$ ip link set dev enp3s0np9.111 up
$ ip link add name br0 type bridge
$ ip link set dev br0 up
$ ip link set enp3s0np9.111 master br0
$ ip address add dev enp3s0np9.111 192.168.0.1/24
$ ip address del dev enp3s0np9.111 192.168.0.1/24
$ ip link set dev enp3s0np9.111 nomaster

Fixes: 99724c18fc66 ("mlxsw: spectrum: Introduce support for router interfaces")
Signed-off-by: Ido Schimmel &lt;idosch@mellanox.com&gt;
Reported-by: Petr Machata &lt;petrm@mellanox.com&gt;
Tested-by: Petr Machata &lt;petrm@mellanox.com&gt;
Reviewed-by: Petr Machata &lt;petrm@mellanox.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In case a VLAN device is enslaved to a bridge we shouldn't create a
router interface (RIF) for it when it's configured with an IP address.
This is already handled by the driver for other types of netdevs, such
as physical ports and LAG devices.

If this IP address is then removed and the interface is subsequently
unlinked from the bridge, a NULL pointer dereference can happen, as the
original 802.1d FID was replaced with an rFID which was then deleted.

To reproduce:
$ ip link set dev enp3s0np9 up
$ ip link add name enp3s0np9.111 link enp3s0np9 type vlan id 111
$ ip link set dev enp3s0np9.111 up
$ ip link add name br0 type bridge
$ ip link set dev br0 up
$ ip link set enp3s0np9.111 master br0
$ ip address add dev enp3s0np9.111 192.168.0.1/24
$ ip address del dev enp3s0np9.111 192.168.0.1/24
$ ip link set dev enp3s0np9.111 nomaster

Fixes: 99724c18fc66 ("mlxsw: spectrum: Introduce support for router interfaces")
Signed-off-by: Ido Schimmel &lt;idosch@mellanox.com&gt;
Reported-by: Petr Machata &lt;petrm@mellanox.com&gt;
Tested-by: Petr Machata &lt;petrm@mellanox.com&gt;
Reviewed-by: Petr Machata &lt;petrm@mellanox.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>virtio-net: serialize tx routine during reset</title>
<updated>2017-06-29T16:51:59+00:00</updated>
<author>
<name>Jason Wang</name>
<email>jasowang@redhat.com</email>
</author>
<published>2017-06-28T01:51:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=713a98d90c5ea072c1bb00ef40617aee2cef2232'/>
<id>713a98d90c5ea072c1bb00ef40617aee2cef2232</id>
<content type='text'>
We don't hold any tx lock when trying to disable TX during reset, this
would lead a use after free since ndo_start_xmit() tries to access
the virtqueue which has already been freed. Fix this by using
netif_tx_disable() before freeing the vqs, this could make sure no tx
after vq freeing.

Reported-by: Jean-Philippe Menil &lt;jpmenil@gmail.com&gt;
Tested-by: Jean-Philippe Menil &lt;jpmenil@gmail.com&gt;
Fixes commit f600b6905015 ("virtio_net: Add XDP support")
Cc: John Fastabend &lt;john.fastabend@gmail.com&gt;
Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Acked-by: Robert McCabe &lt;robert.mccabe@rockwellcollins.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We don't hold any tx lock when trying to disable TX during reset, this
would lead a use after free since ndo_start_xmit() tries to access
the virtqueue which has already been freed. Fix this by using
netif_tx_disable() before freeing the vqs, this could make sure no tx
after vq freeing.

Reported-by: Jean-Philippe Menil &lt;jpmenil@gmail.com&gt;
Tested-by: Jean-Philippe Menil &lt;jpmenil@gmail.com&gt;
Fixes commit f600b6905015 ("virtio_net: Add XDP support")
Cc: John Fastabend &lt;john.fastabend@gmail.com&gt;
Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Acked-by: Robert McCabe &lt;robert.mccabe@rockwellcollins.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: usb: asix88179_178a: Add support for the Belkin B2B128</title>
<updated>2017-06-27T19:46:07+00:00</updated>
<author>
<name>Andrew F. Davis</name>
<email>afd@ti.com</email>
</author>
<published>2017-06-26T17:41:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e20bd60bf62a2448be873653c7febca1d4d73afc'/>
<id>e20bd60bf62a2448be873653c7febca1d4d73afc</id>
<content type='text'>
The Belkin B2B128 is a USB 3.0 Hub + Gigabit Ethernet Adapter, the
Ethernet adapter uses the ASIX AX88179 USB 3.0 to Gigabit Ethernet
chip supported by this driver, add the USB ID for the same.

This patch is based on work by Geoffrey Tran &lt;geoffrey.tran@gmail.com&gt;
who has indicated they would like this upstreamed by someone more
familiar with the upstreaming process.

Signed-off-by: Andrew F. Davis &lt;afd@ti.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The Belkin B2B128 is a USB 3.0 Hub + Gigabit Ethernet Adapter, the
Ethernet adapter uses the ASIX AX88179 USB 3.0 to Gigabit Ethernet
chip supported by this driver, add the USB ID for the same.

This patch is based on work by Geoffrey Tran &lt;geoffrey.tran@gmail.com&gt;
who has indicated they would like this upstreamed by someone more
familiar with the upstreaming process.

Signed-off-by: Andrew F. Davis &lt;afd@ti.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
