<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers, branch v5.3.5</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v5.3.5</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v5.3.5'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2019-10-07T17:01:56+00:00</updated>
<entry>
<title>dm zoned: fix invalid memory access</title>
<updated>2019-10-07T17:01:56+00:00</updated>
<author>
<name>Mikulas Patocka</name>
<email>mpatocka@redhat.com</email>
</author>
<published>2019-08-26T06:41:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9f020f5c4ccc16c86f4303e735a6caf215f6706f'/>
<id>urn:sha1:9f020f5c4ccc16c86f4303e735a6caf215f6706f</id>
<content type='text'>
commit 0c8e9c2d668278652af028c3cc068c65f66342f4 upstream.

Commit 75d66ffb48efb30f2dd42f041ba8b39c5b2bd115 ("dm zoned: properly
handle backing device failure") triggers a coverity warning:

</content>
</entry>
<entry>
<title>dm raid: fix updating of max_discard_sectors limit</title>
<updated>2019-10-07T17:01:56+00:00</updated>
<author>
<name>Ming Lei</name>
<email>ming.lei@redhat.com</email>
</author>
<published>2019-09-11T11:31:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ccf22db4ac539e0379f5983d568a803f9d8d550f'/>
<id>urn:sha1:ccf22db4ac539e0379f5983d568a803f9d8d550f</id>
<content type='text'>
commit c8156fc77d0796ba2618936dbb3084e769e916c1 upstream.

Unit of 'chunk_size' is byte, instead of sector, so fix it by setting
the queue_limits' max_discard_sectors to rs-&gt;md.chunk_sectors.  Also,
rename chunk_size to chunk_size_bytes.

Without this fix, too big max_discard_sectors is applied on the request
queue of dm-raid, finally raid code has to split the bio again.

This re-split done by raid causes the following nested clone_endio:

1) one big bio 'A' is submitted to dm queue, and served as the original
bio

2) one new bio 'B' is cloned from the original bio 'A', and .map()
is run on this bio of 'B', and B's original bio points to 'A'

3) raid code sees that 'B' is too big, and split 'B' and re-submit
the remainded part of 'B' to dm-raid queue via generic_make_request().

4) now dm will handle 'B' as new original bio, then allocate a new
clone bio of 'C' and run .map() on 'C'. Meantime C's original bio
points to 'B'.

5) suppose now 'C' is completed by raid directly, then the following
clone_endio() is called recursively:

	clone_endio(C)
		-&gt;clone_endio(B)		#B is original bio of 'C'
			-&gt;bio_endio(A)

'A' can be big enough to make hundreds of nested clone_endio(), then
stack can be corrupted easily.

Fixes: 61697a6abd24a ("dm: eliminate 'split_discard_bios' flag from DM target interface")
Cc: stable@vger.kernel.org
Signed-off-by: Ming Lei &lt;ming.lei@redhat.com&gt;
Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>net: socionext: netsec: always grab descriptor lock</title>
<updated>2019-10-07T17:01:54+00:00</updated>
<author>
<name>Lorenzo Bianconi</name>
<email>lorenzo@kernel.org</email>
</author>
<published>2019-10-01T08:33:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=56844323565c5f1a5731402defab36f0e8ababc0'/>
<id>urn:sha1:56844323565c5f1a5731402defab36f0e8ababc0</id>
<content type='text'>
[ Upstream commit 55131dec2b1c7417d216f861ea7a29dc7c4d2d20 ]

Always acquire tx descriptor spinlock even if a xdp program is not loaded
on the netsec device since ndo_xdp_xmit can run concurrently with
netsec_netdev_start_xmit and netsec_clean_tx_dring. This can happen
loading a xdp program on a different device (e.g virtio-net) and
xdp_do_redirect_map/xdp_do_redirect_slow can redirect to netsec even if
we do not have a xdp program on it.

Fixes: ba2b232108d3 ("net: netsec: add XDP support")
Tested-by: Ilias Apalodimas &lt;ilias.apalodimas@linaro.org&gt;
Signed-off-by: Lorenzo Bianconi &lt;lorenzo@kernel.org&gt;
Reviewed-by: Ilias Apalodimas &lt;ilias.apalodimas@linaro.org&gt;
Acked-by: Toke Høiland-Jørgensen &lt;toke@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net: dsa: sja1105: Prevent leaking memory</title>
<updated>2019-10-07T17:01:54+00:00</updated>
<author>
<name>Navid Emamdoost</name>
<email>navid.emamdoost@gmail.com</email>
</author>
<published>2019-09-28T22:43:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d03e652a13f11851b363c697163d823d9669a811'/>
<id>urn:sha1:d03e652a13f11851b363c697163d823d9669a811</id>
<content type='text'>
[ Upstream commit 68501df92d116b760777a2cfda314789f926476f ]

In sja1105_static_config_upload, in two cases memory is leaked: when
static_config_buf_prepare_for_upload fails and when sja1105_inhibit_tx
fails. In both cases config_buf should be released.

Fixes: 8aa9ebccae87 ("net: dsa: Introduce driver for NXP SJA1105 5-port L2 switch")
Fixes: 1a4c69406cc1 ("net: dsa: sja1105: Prevent PHY jabbering during switch reset")
Signed-off-by: Navid Emamdoost &lt;navid.emamdoost@gmail.com&gt;
Signed-off-by: Vladimir Oltean &lt;olteanv@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net: dsa: sja1105: Ensure PTP time for rxtstamp reconstruction is not in the past</title>
<updated>2019-10-07T17:01:54+00:00</updated>
<author>
<name>Vladimir Oltean</name>
<email>olteanv@gmail.com</email>
</author>
<published>2019-09-28T22:08:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b1aea44ff35345598f95e10c99e3d57f8d4907a4'/>
<id>urn:sha1:b1aea44ff35345598f95e10c99e3d57f8d4907a4</id>
<content type='text'>
[ Upstream commit b6f2494d311a19b33b19708543e7ef6dea1de459 ]

Sometimes the PTP synchronization on the switch 'jumps':

  ptp4l[11241.155]: rms    8 max   16 freq -21732 +/-  11 delay   742 +/-   0
  ptp4l[11243.157]: rms    7 max   17 freq -21731 +/-  10 delay   744 +/-   0
  ptp4l[11245.160]: rms 33592410 max 134217731 freq +192422 +/- 8530253 delay   743 +/-   0
  ptp4l[11247.163]: rms 811631 max 964131 freq +10326 +/- 557785 delay   743 +/-   0
  ptp4l[11249.166]: rms 261936 max 533876 freq -304323 +/- 126371 delay   744 +/-   0
  ptp4l[11251.169]: rms 48700 max 57740 freq -20218 +/- 30532 delay   744 +/-   0
  ptp4l[11253.171]: rms 14570 max 30163 freq  -5568 +/- 7563 delay   742 +/-   0
  ptp4l[11255.174]: rms 2914 max 3440 freq -22001 +/- 1667 delay   744 +/-   1
  ptp4l[11257.177]: rms  811 max 1710 freq -22653 +/- 451 delay   744 +/-   1
  ptp4l[11259.180]: rms  177 max  218 freq -21695 +/-  89 delay   741 +/-   0
  ptp4l[11261.182]: rms   45 max   92 freq -21677 +/-  32 delay   742 +/-   0
  ptp4l[11263.186]: rms   14 max   32 freq -21733 +/-  11 delay   742 +/-   0
  ptp4l[11265.188]: rms    9 max   14 freq -21725 +/-  12 delay   742 +/-   0
  ptp4l[11267.191]: rms    9 max   16 freq -21727 +/-  13 delay   742 +/-   0
  ptp4l[11269.194]: rms    6 max   15 freq -21726 +/-   9 delay   743 +/-   0
  ptp4l[11271.197]: rms    8 max   15 freq -21728 +/-  11 delay   743 +/-   0
  ptp4l[11273.200]: rms    6 max   12 freq -21727 +/-   8 delay   743 +/-   0
  ptp4l[11275.202]: rms    9 max   17 freq -21720 +/-  11 delay   742 +/-   0
  ptp4l[11277.205]: rms    9 max   18 freq -21725 +/-  12 delay   742 +/-   0

Background: the switch only offers partial RX timestamps (24 bits) and
it is up to the driver to read the PTP clock to fill those timestamps up
to 64 bits. But the PTP clock readout needs to happen quickly enough (in
0.135 seconds, in fact), otherwise the PTP clock will wrap around 24
bits, condition which cannot be detected.

Looking at the 'max 134217731' value on output line 3, one can see that
in hex it is 0x8000003. Because the PTP clock resolution is 8 ns,
that means 0x1000000 in ticks, which is exactly 2^24. So indeed this is
a PTP clock wraparound, but the reason might be surprising.

What is going on is that sja1105_tstamp_reconstruct(priv, now, ts)
expects a "now" time that is later than the "ts" was snapshotted at.
This, of course, is obvious: we read the PTP time _after_ the partial RX
timestamp was received. However, the workqueue is processing frames from
a skb queue and reuses the same PTP time, read once at the beginning.
Normally the skb queue only contains one frame and all goes well. But
when the skb queue contains two frames, the second frame that gets
dequeued might have been partially timestamped by the RX MAC _after_ we
had read our PTP time initially.

The code was originally like that due to concerns that SPI access for
PTP time readout is a slow process, and we are time-constrained anyway
(aka: premature optimization). But some timing analysis reveals that the
time spent until the RX timestamp is completely reconstructed is 1 order
of magnitude lower than the 0.135 s deadline even under worst-case
conditions. So we can afford to read the PTP time for each frame in the
RX timestamping queue, which of course ensures that the full PTP time is
in the partial timestamp's future.

Fixes: f3097be21bf1 ("net: dsa: sja1105: Add a state machine for RX timestamping")
Signed-off-by: Vladimir Oltean &lt;olteanv@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ptp_qoriq: Initialize the registers' spinlock before calling ptp_qoriq_settime</title>
<updated>2019-10-07T17:01:53+00:00</updated>
<author>
<name>Vladimir Oltean</name>
<email>olteanv@gmail.com</email>
</author>
<published>2019-10-01T19:07:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=fe35c0a5f37d8cc071f740d33fe7852c4989008e'/>
<id>urn:sha1:fe35c0a5f37d8cc071f740d33fe7852c4989008e</id>
<content type='text'>
[ Upstream commit db34a4714c013b644eec2de0ec81b1f0373b8b93 ]

Because ptp_qoriq_settime is being called prior to spin_lock_init, the
following stack trace can be seen at driver probe time:

[    2.269117] the code is fine but needs lockdep annotation.
[    2.274569] turning off the locking correctness validator.
[    2.280027] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 5.3.0-rc7-01478-g01eaa67a4797 #263
[    2.288073] Hardware name: Freescale LS1021A
[    2.292337] [&lt;c0313cb4&gt;] (unwind_backtrace) from [&lt;c030e11c&gt;] (show_stack+0x10/0x14)
[    2.300045] [&lt;c030e11c&gt;] (show_stack) from [&lt;c1219440&gt;] (dump_stack+0xcc/0xf8)
[    2.307235] [&lt;c1219440&gt;] (dump_stack) from [&lt;c03b9b44&gt;] (register_lock_class+0x730/0x73c)
[    2.315372] [&lt;c03b9b44&gt;] (register_lock_class) from [&lt;c03b6190&gt;] (__lock_acquire+0x78/0x270c)
[    2.323856] [&lt;c03b6190&gt;] (__lock_acquire) from [&lt;c03b90cc&gt;] (lock_acquire+0xe0/0x22c)
[    2.331649] [&lt;c03b90cc&gt;] (lock_acquire) from [&lt;c123c310&gt;] (_raw_spin_lock_irqsave+0x54/0x68)
[    2.340048] [&lt;c123c310&gt;] (_raw_spin_lock_irqsave) from [&lt;c0e73fe4&gt;] (ptp_qoriq_settime+0x38/0x80)
[    2.348878] [&lt;c0e73fe4&gt;] (ptp_qoriq_settime) from [&lt;c0e746d4&gt;] (ptp_qoriq_init+0x1f8/0x484)
[    2.357189] [&lt;c0e746d4&gt;] (ptp_qoriq_init) from [&lt;c0e74aac&gt;] (ptp_qoriq_probe+0xd0/0x184)
[    2.365243] [&lt;c0e74aac&gt;] (ptp_qoriq_probe) from [&lt;c0b0a07c&gt;] (platform_drv_probe+0x48/0x9c)
[    2.373555] [&lt;c0b0a07c&gt;] (platform_drv_probe) from [&lt;c0b07a14&gt;] (really_probe+0x1c4/0x400)
[    2.381779] [&lt;c0b07a14&gt;] (really_probe) from [&lt;c0b07e28&gt;] (driver_probe_device+0x78/0x1b8)
[    2.390003] [&lt;c0b07e28&gt;] (driver_probe_device) from [&lt;c0b081d0&gt;] (device_driver_attach+0x58/0x60)
[    2.398832] [&lt;c0b081d0&gt;] (device_driver_attach) from [&lt;c0b082d4&gt;] (__driver_attach+0xfc/0x160)
[    2.407402] [&lt;c0b082d4&gt;] (__driver_attach) from [&lt;c0b05a84&gt;] (bus_for_each_dev+0x68/0xb4)
[    2.415539] [&lt;c0b05a84&gt;] (bus_for_each_dev) from [&lt;c0b06b68&gt;] (bus_add_driver+0x104/0x20c)
[    2.423763] [&lt;c0b06b68&gt;] (bus_add_driver) from [&lt;c0b0909c&gt;] (driver_register+0x78/0x10c)
[    2.431815] [&lt;c0b0909c&gt;] (driver_register) from [&lt;c030313c&gt;] (do_one_initcall+0x8c/0x3ac)
[    2.439954] [&lt;c030313c&gt;] (do_one_initcall) from [&lt;c1f013f4&gt;] (kernel_init_freeable+0x468/0x548)
[    2.448610] [&lt;c1f013f4&gt;] (kernel_init_freeable) from [&lt;c12344d8&gt;] (kernel_init+0x8/0x10c)
[    2.456745] [&lt;c12344d8&gt;] (kernel_init) from [&lt;c03010b4&gt;] (ret_from_fork+0x14/0x20)
[    2.464273] Exception stack(0xea89ffb0 to 0xea89fff8)
[    2.469297] ffa0:                                     00000000 00000000 00000000 00000000
[    2.477432] ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    2.485566] ffe0: 00000000 00000000 00000000 00000000 00000013 00000000

Fixes: ff54571a747b ("ptp_qoriq: convert to use ptp_qoriq_init/free")
Signed-off-by: Vladimir Oltean &lt;olteanv@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net: dsa: sja1105: Fix sleeping while atomic in .port_hwtstamp_set</title>
<updated>2019-10-07T17:01:53+00:00</updated>
<author>
<name>Vladimir Oltean</name>
<email>olteanv@gmail.com</email>
</author>
<published>2019-10-01T18:58:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7fccc8d576004e290395d82c30d42978649c0ac0'/>
<id>urn:sha1:7fccc8d576004e290395d82c30d42978649c0ac0</id>
<content type='text'>
[ Upstream commit 3e8db7e56082156a37b71d7334860c10fcea8025 ]

Currently this stack trace can be seen with CONFIG_DEBUG_ATOMIC_SLEEP=y:

[   41.568348] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:909
[   41.576757] in_atomic(): 1, irqs_disabled(): 0, pid: 208, name: ptp4l
[   41.583212] INFO: lockdep is turned off.
[   41.587123] CPU: 1 PID: 208 Comm: ptp4l Not tainted 5.3.0-rc6-01445-ge950f2d4bc7f-dirty #1827
[   41.599873] [&lt;c0313d7c&gt;] (unwind_backtrace) from [&lt;c030e13c&gt;] (show_stack+0x10/0x14)
[   41.607584] [&lt;c030e13c&gt;] (show_stack) from [&lt;c1212d50&gt;] (dump_stack+0xd4/0x100)
[   41.614863] [&lt;c1212d50&gt;] (dump_stack) from [&lt;c037dfc8&gt;] (___might_sleep+0x1c8/0x2b4)
[   41.622574] [&lt;c037dfc8&gt;] (___might_sleep) from [&lt;c122ea90&gt;] (__mutex_lock+0x48/0xab8)
[   41.630368] [&lt;c122ea90&gt;] (__mutex_lock) from [&lt;c122f51c&gt;] (mutex_lock_nested+0x1c/0x24)
[   41.638340] [&lt;c122f51c&gt;] (mutex_lock_nested) from [&lt;c0c6fe08&gt;] (sja1105_static_config_reload+0x30/0x27c)
[   41.647779] [&lt;c0c6fe08&gt;] (sja1105_static_config_reload) from [&lt;c0c7015c&gt;] (sja1105_hwtstamp_set+0x108/0x1cc)
[   41.657562] [&lt;c0c7015c&gt;] (sja1105_hwtstamp_set) from [&lt;c0feb650&gt;] (dev_ifsioc+0x18c/0x330)
[   41.665788] [&lt;c0feb650&gt;] (dev_ifsioc) from [&lt;c0febbd8&gt;] (dev_ioctl+0x320/0x6e8)
[   41.673064] [&lt;c0febbd8&gt;] (dev_ioctl) from [&lt;c0f8b1f4&gt;] (sock_ioctl+0x334/0x5e8)
[   41.680340] [&lt;c0f8b1f4&gt;] (sock_ioctl) from [&lt;c05404a8&gt;] (do_vfs_ioctl+0xb0/0xa10)
[   41.687789] [&lt;c05404a8&gt;] (do_vfs_ioctl) from [&lt;c0540e3c&gt;] (ksys_ioctl+0x34/0x58)
[   41.695151] [&lt;c0540e3c&gt;] (ksys_ioctl) from [&lt;c0301000&gt;] (ret_fast_syscall+0x0/0x28)
[   41.702768] Exception stack(0xe8495fa8 to 0xe8495ff0)
[   41.707796] 5fa0:                   beff4a8c 00000001 00000011 000089b0 beff4a8c beff4a80
[   41.715933] 5fc0: beff4a8c 00000001 0000000c 00000036 b6fa98c8 004e19c1 00000001 00000000
[   41.724069] 5fe0: 004dcedc beff4a6c 004c0738 b6e7af4c
[   41.729860] BUG: scheduling while atomic: ptp4l/208/0x00000002
[   41.735682] INFO: lockdep is turned off.

Enabling RX timestamping will logically disturb the fastpath (processing
of meta frames). Replace bool hwts_rx_en with a bit that is checked
atomically from the fastpath and temporarily unset from the sleepable
context during a change of the RX timestamping process (a destructive
operation anyways, requires switch reset).
If found unset, the fastpath (net/dsa/tag_sja1105.c) will just drop any
received meta frame and not take the meta_lock at all.

Fixes: a602afd200f5 ("net: dsa: sja1105: Expose PTP timestamping ioctls to userspace")
Signed-off-by: Vladimir Oltean &lt;olteanv@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>xen-netfront: do not use ~0U as error return value for xennet_fill_frags()</title>
<updated>2019-10-07T17:01:53+00:00</updated>
<author>
<name>Dongli Zhang</name>
<email>dongli.zhang@oracle.com</email>
</author>
<published>2019-10-01T13:56:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e74e47c28e20b41311140cd0007c59b3f14e0224'/>
<id>urn:sha1:e74e47c28e20b41311140cd0007c59b3f14e0224</id>
<content type='text'>
[ Upstream commit a761129e3625688310aecf26e1be9e98e85f8eb5 ]

xennet_fill_frags() uses ~0U as return value when the sk_buff is not able
to cache extra fragments. This is incorrect because the return type of
xennet_fill_frags() is RING_IDX and 0xffffffff is an expected value for
ring buffer index.

In the situation when the rsp_cons is approaching 0xffffffff, the return
value of xennet_fill_frags() may become 0xffffffff which xennet_poll() (the
caller) would regard as error. As a result, queue-&gt;rx.rsp_cons is set
incorrectly because it is updated only when there is error. If there is no
error, xennet_poll() would be responsible to update queue-&gt;rx.rsp_cons.
Finally, queue-&gt;rx.rsp_cons would point to the rx ring buffer entries whose
queue-&gt;rx_skbs[i] and queue-&gt;grant_rx_ref[i] are already cleared to NULL.
This leads to NULL pointer access in the next iteration to process rx ring
buffer entries.

The symptom is similar to the one fixed in
commit 00b368502d18 ("xen-netfront: do not assume sk_buff_head list is
empty in error handling").

This patch changes the return type of xennet_fill_frags() to indicate
whether it is successful or failed. The queue-&gt;rx.rsp_cons will be
always updated inside this function.

Fixes: ad4f15dc2c70 ("xen/netfront: don't bug in case of too many frags")
Signed-off-by: Dongli Zhang &lt;dongli.zhang@oracle.com&gt;
Reviewed-by: Juergen Gross &lt;jgross@suse.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net: dsa: sja1105: Initialize the meta_lock</title>
<updated>2019-10-07T17:01:52+00:00</updated>
<author>
<name>Vladimir Oltean</name>
<email>olteanv@gmail.com</email>
</author>
<published>2019-10-01T18:58:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=fae09a8a15da4e9e8c096e2d7c81dfbcef361ef8'/>
<id>urn:sha1:fae09a8a15da4e9e8c096e2d7c81dfbcef361ef8</id>
<content type='text'>
[ Upstream commit d6530e5ad45089c018c3cc5b5957a34721249f6f ]

Otherwise, with CONFIG_DEBUG_SPINLOCK=y, this stack trace gets printed
when enabling RX timestamping and receiving a PTP frame:

[  318.537078] INFO: trying to register non-static key.
[  318.542040] the code is fine but needs lockdep annotation.
[  318.547500] turning off the locking correctness validator.
[  318.552972] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.3.0-13257-g0825b0669811-dirty #1962
[  318.561283] Hardware name: Freescale LS1021A
[  318.565566] [&lt;c03144bc&gt;] (unwind_backtrace) from [&lt;c030e164&gt;] (show_stack+0x10/0x14)
[  318.573289] [&lt;c030e164&gt;] (show_stack) from [&lt;c11b9f50&gt;] (dump_stack+0xd4/0x100)
[  318.580579] [&lt;c11b9f50&gt;] (dump_stack) from [&lt;c03b9b40&gt;] (register_lock_class+0x728/0x734)
[  318.588731] [&lt;c03b9b40&gt;] (register_lock_class) from [&lt;c03b60c4&gt;] (__lock_acquire+0x78/0x25cc)
[  318.597227] [&lt;c03b60c4&gt;] (__lock_acquire) from [&lt;c03b8ef8&gt;] (lock_acquire+0xd8/0x234)
[  318.605033] [&lt;c03b8ef8&gt;] (lock_acquire) from [&lt;c11db934&gt;] (_raw_spin_lock+0x44/0x54)
[  318.612755] [&lt;c11db934&gt;] (_raw_spin_lock) from [&lt;c1164370&gt;] (sja1105_rcv+0x1f8/0x4e8)
[  318.620561] [&lt;c1164370&gt;] (sja1105_rcv) from [&lt;c115d7cc&gt;] (dsa_switch_rcv+0x80/0x204)
[  318.628283] [&lt;c115d7cc&gt;] (dsa_switch_rcv) from [&lt;c0f58c80&gt;] (__netif_receive_skb_one_core+0x50/0x6c)
[  318.637386] [&lt;c0f58c80&gt;] (__netif_receive_skb_one_core) from [&lt;c0f58f04&gt;] (netif_receive_skb_internal+0xac/0x264)
[  318.647611] [&lt;c0f58f04&gt;] (netif_receive_skb_internal) from [&lt;c0f59e98&gt;] (napi_gro_receive+0x1d8/0x338)
[  318.656887] [&lt;c0f59e98&gt;] (napi_gro_receive) from [&lt;c0c298a4&gt;] (gfar_clean_rx_ring+0x328/0x724)
[  318.665472] [&lt;c0c298a4&gt;] (gfar_clean_rx_ring) from [&lt;c0c29e60&gt;] (gfar_poll_rx_sq+0x34/0x94)
[  318.673795] [&lt;c0c29e60&gt;] (gfar_poll_rx_sq) from [&lt;c0f5b40c&gt;] (net_rx_action+0x128/0x4f8)
[  318.681860] [&lt;c0f5b40c&gt;] (net_rx_action) from [&lt;c03022f0&gt;] (__do_softirq+0x148/0x5ac)
[  318.689666] [&lt;c03022f0&gt;] (__do_softirq) from [&lt;c0355af4&gt;] (irq_exit+0x160/0x170)
[  318.697040] [&lt;c0355af4&gt;] (irq_exit) from [&lt;c03c6818&gt;] (__handle_domain_irq+0x60/0xb4)
[  318.704847] [&lt;c03c6818&gt;] (__handle_domain_irq) from [&lt;c07e9440&gt;] (gic_handle_irq+0x58/0x9c)
[  318.713172] [&lt;c07e9440&gt;] (gic_handle_irq) from [&lt;c0301a70&gt;] (__irq_svc+0x70/0x98)
[  318.720622] Exception stack(0xc2001f18 to 0xc2001f60)
[  318.725656] 1f00:                                                       00000001 00000006
[  318.733805] 1f20: 00000000 c20165c0 ffffe000 c2010cac c2010cf4 00000001 00000000 c2010c88
[  318.741955] 1f40: c1f7a5a8 00000000 00000000 c2001f68 c03ba140 c030a288 200e0013 ffffffff
[  318.750110] [&lt;c0301a70&gt;] (__irq_svc) from [&lt;c030a288&gt;] (arch_cpu_idle+0x24/0x3c)
[  318.757486] [&lt;c030a288&gt;] (arch_cpu_idle) from [&lt;c038a480&gt;] (do_idle+0x1b8/0x2a4)
[  318.764859] [&lt;c038a480&gt;] (do_idle) from [&lt;c038a94c&gt;] (cpu_startup_entry+0x18/0x1c)
[  318.772407] [&lt;c038a94c&gt;] (cpu_startup_entry) from [&lt;c1e00f10&gt;] (start_kernel+0x4cc/0x4fc)

Fixes: 844d7edc6a34 ("net: dsa: sja1105: Add a global sja1105_tagger_data structure")
Signed-off-by: Vladimir Oltean &lt;olteanv@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net: dsa: rtl8366: Check VLAN ID and not ports</title>
<updated>2019-10-07T17:01:51+00:00</updated>
<author>
<name>Linus Walleij</name>
<email>linus.walleij@linaro.org</email>
</author>
<published>2019-10-01T14:28:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ff0523263b300ebdbbe43c284b2a3dcd030fd4ac'/>
<id>urn:sha1:ff0523263b300ebdbbe43c284b2a3dcd030fd4ac</id>
<content type='text'>
[ Upstream commit e8521e53cca584ddf8ec4584d3c550a6c65f88c4 ]

There has been some confusion between the port number and
the VLAN ID in this driver. What we need to check for
validity is the VLAN ID, nothing else.

The current confusion came from assigning a few default
VLANs for default routing and we need to rewrite that
properly.

Instead of checking if the port number is a valid VLAN
ID, check the actual VLAN IDs passed in to the callback
one by one as expected.

Fixes: d8652956cf37 ("net: dsa: realtek-smi: Add Realtek SMI driver")
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
