<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/net/can/af_can.c, branch linux-4.16.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.16.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.16.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2018-01-20T03:59:33+00:00</updated>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2018-01-20T03:59:33+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2018-01-20T03:59:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8565d26bcb2ff6df646e946d2913fcf706d46b66'/>
<id>urn:sha1:8565d26bcb2ff6df646e946d2913fcf706d46b66</id>
<content type='text'>
The BPF verifier conflict was some minor contextual issue.

The TUN conflict was less trivial.  Cong Wang fixed a memory leak of
tfile-&gt;tx_array in 'net'.  This is an skb_array.  But meanwhile in
net-next tun changed tfile-&gt;tx_arry into tfile-&gt;tx_ring which is a
ptr_ring.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>can: af_can: canfd_rcv(): replace WARN_ONCE by pr_warn_once</title>
<updated>2018-01-18T08:32:54+00:00</updated>
<author>
<name>Marc Kleine-Budde</name>
<email>mkl@pengutronix.de</email>
</author>
<published>2018-01-16T18:30:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d4689846881d160a4d12a514e991a740bcb5d65a'/>
<id>urn:sha1:d4689846881d160a4d12a514e991a740bcb5d65a</id>
<content type='text'>
If an invalid CANFD frame is received, from a driver or from a tun
interface, a Kernel warning is generated.

This patch replaces the WARN_ONCE by a simple pr_warn_once, so that a
kernel, bootet with panic_on_warn, does not panic. A printk seems to be
more appropriate here.

Reported-by: syzbot+e3b775f40babeff6e68b@syzkaller.appspotmail.com
Suggested-by: Dmitry Vyukov &lt;dvyukov@google.com&gt;
Acked-by: Oliver Hartkopp &lt;socketcan@hartkopp.net&gt;
Cc: linux-stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: af_can: can_rcv(): replace WARN_ONCE by pr_warn_once</title>
<updated>2018-01-18T08:32:54+00:00</updated>
<author>
<name>Marc Kleine-Budde</name>
<email>mkl@pengutronix.de</email>
</author>
<published>2018-01-16T18:30:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8cb68751c115d176ec851ca56ecfbb411568c9e8'/>
<id>urn:sha1:8cb68751c115d176ec851ca56ecfbb411568c9e8</id>
<content type='text'>
If an invalid CAN frame is received, from a driver or from a tun
interface, a Kernel warning is generated.

This patch replaces the WARN_ONCE by a simple pr_warn_once, so that a
kernel, bootet with panic_on_warn, does not panic. A printk seems to be
more appropriate here.

Reported-by: syzbot+4386709c0c1284dca827@syzkaller.appspotmail.com
Suggested-by: Dmitry Vyukov &lt;dvyukov@google.com&gt;
Acked-by: Oliver Hartkopp &lt;socketcan@hartkopp.net&gt;
Cc: linux-stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: af_can: give struct holding the CAN per device receive lists a sensible name</title>
<updated>2018-01-05T10:12:08+00:00</updated>
<author>
<name>Marc Kleine-Budde</name>
<email>mkl@pengutronix.de</email>
</author>
<published>2017-06-03T18:10:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ff847ee47be27621f978921919f035fcd87d6d08'/>
<id>urn:sha1:ff847ee47be27621f978921919f035fcd87d6d08</id>
<content type='text'>
This patch adds a "can_" prefix to the "struct dev_rcv_lists" to better
reflect the meaning and improbe code readability.

The conversion is done with:

	sed -i \
		-e "s/struct dev_rcv_lists/struct can_dev_rcv_lists/g" \
		net/can/*.[ch] include/net/netns/can.h

Acked-by: Oliver Hartkopp &lt;socketcan@hartkopp.net&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2017-10-22T12:39:14+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2017-10-22T12:36:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f8ddadc4db6c7b7029b6d0e0d9af24f74ad27ca2'/>
<id>urn:sha1:f8ddadc4db6c7b7029b6d0e0d9af24f74ad27ca2</id>
<content type='text'>
There were quite a few overlapping sets of changes here.

Daniel's bug fix for off-by-ones in the new BPF branch instructions,
along with the added allowances for "data_end &gt; ptr + x" forms
collided with the metadata additions.

Along with those three changes came veritifer test cases, which in
their final form I tried to group together properly.  If I had just
trimmed GIT's conflict tags as-is, this would have split up the
meta tests unnecessarily.

In the socketmap code, a set of preemption disabling changes
overlapped with the rename of bpf_compute_data_end() to
bpf_compute_data_pointers().

Changes were made to the mv88e6060.c driver set addr method
which got removed in net-next.

The hyperv transport socket layer had a locking change in 'net'
which overlapped with a change of socket state macro usage
in 'net-next'.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>can: af_can: can_pernet_init(): add missing error handling for kzalloc returning NULL</title>
<updated>2017-10-19T11:05:54+00:00</updated>
<author>
<name>Marc Kleine-Budde</name>
<email>mkl@pengutronix.de</email>
</author>
<published>2017-07-29T09:51:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5a606223c6b5b7560da253ed52e62c67fa18e29b'/>
<id>urn:sha1:5a606223c6b5b7560da253ed52e62c67fa18e29b</id>
<content type='text'>
This patch adds the missing check and error handling for out-of-memory
situations, when kzalloc cannot allocate memory.

Fixes: cb5635a36776 ("can: complete initial namespace support")
Acked-by: Oliver Hartkopp &lt;socketcan@hartkopp.net&gt;
Cc: linux-stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: af_can: do not access proto_tab directly use rcu_access_pointer instead</title>
<updated>2017-10-19T11:05:53+00:00</updated>
<author>
<name>Marc Kleine-Budde</name>
<email>mkl@pengutronix.de</email>
</author>
<published>2017-10-17T05:18:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=cae1d5b78fb4874086170ad07921bca59ea2e893'/>
<id>urn:sha1:cae1d5b78fb4874086170ad07921bca59ea2e893</id>
<content type='text'>
"proto_tab" is a RCU protected array, when directly accessing the array,
sparse throws these warnings:

  CHECK   /srv/work/frogger/socketcan/linux/net/can/af_can.c
net/can/af_can.c:115:14: error: incompatible types in comparison expression (different address spaces)
net/can/af_can.c:795:17: error: incompatible types in comparison expression (different address spaces)
net/can/af_can.c:816:9: error: incompatible types in comparison expression (different address spaces)

This patch fixes the problem by using rcu_access_pointer() and
annotating "proto_tab" array as __rcu.

Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>net: can: Convert timers to use timer_setup()</title>
<updated>2017-10-18T11:39:38+00:00</updated>
<author>
<name>Kees Cook</name>
<email>keescook@chromium.org</email>
</author>
<published>2017-10-17T00:29:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1fccb565e8b09e54467d41111f6faf08fcc9c3c1'/>
<id>urn:sha1:1fccb565e8b09e54467d41111f6faf08fcc9c3c1</id>
<content type='text'>
In preparation for unconditionally passing the struct timer_list pointer to
all timer callbacks, switch to using the new timer_setup() and from_timer()
to pass the timer pointer explicitly.

Cc: Oliver Hartkopp &lt;socketcan@hartkopp.net&gt;
Cc: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: linux-can@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>can: af_can: namespace support: fix lockdep splat: properly initialize spin_lock</title>
<updated>2017-06-09T09:39:23+00:00</updated>
<author>
<name>Marc Kleine-Budde</name>
<email>mkl@pengutronix.de</email>
</author>
<published>2017-06-06T11:53:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=74b7b490886852582d986a33443c2ffa50970169'/>
<id>urn:sha1:74b7b490886852582d986a33443c2ffa50970169</id>
<content type='text'>
This patch uses spin_lock_init() instead of __SPIN_LOCK_UNLOCKED() to
initialize the per namespace net-&gt;can.can_rcvlists_lock lock to fix this
lockdep warning:

| INFO: trying to register non-static key.
| the code is fine but needs lockdep annotation.
| turning off the locking correctness validator.
| CPU: 0 PID: 186 Comm: candump Not tainted 4.12.0-rc3+ #47
| Hardware name: Marvell Kirkwood (Flattened Device Tree)
| [&lt;c0016644&gt;] (unwind_backtrace) from [&lt;c00139a8&gt;] (show_stack+0x18/0x1c)
| [&lt;c00139a8&gt;] (show_stack) from [&lt;c0058c8c&gt;] (register_lock_class+0x1e4/0x55c)
| [&lt;c0058c8c&gt;] (register_lock_class) from [&lt;c005bdfc&gt;] (__lock_acquire+0x148/0x1990)
| [&lt;c005bdfc&gt;] (__lock_acquire) from [&lt;c005deec&gt;] (lock_acquire+0x174/0x210)
| [&lt;c005deec&gt;] (lock_acquire) from [&lt;c04a6780&gt;] (_raw_spin_lock+0x50/0x88)
| [&lt;c04a6780&gt;] (_raw_spin_lock) from [&lt;bf02116c&gt;] (can_rx_register+0x94/0x15c [can])
| [&lt;bf02116c&gt;] (can_rx_register [can]) from [&lt;bf02a868&gt;] (raw_enable_filters+0x60/0xc0 [can_raw])
| [&lt;bf02a868&gt;] (raw_enable_filters [can_raw]) from [&lt;bf02ac14&gt;] (raw_enable_allfilters+0x2c/0xa0 [can_raw])
| [&lt;bf02ac14&gt;] (raw_enable_allfilters [can_raw]) from [&lt;bf02ad38&gt;] (raw_bind+0xb0/0x250 [can_raw])
| [&lt;bf02ad38&gt;] (raw_bind [can_raw]) from [&lt;c03b5fb8&gt;] (SyS_bind+0x70/0xac)
| [&lt;c03b5fb8&gt;] (SyS_bind) from [&lt;c000f8c0&gt;] (ret_fast_syscall+0x0/0x1c)

Cc: Mario Kicherer &lt;dev@kicherer.org&gt;
Acked-by: Oliver Hartkopp &lt;socketcan@hartkopp.net&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: complete initial namespace support</title>
<updated>2017-04-25T07:04:29+00:00</updated>
<author>
<name>Oliver Hartkopp</name>
<email>socketcan@hartkopp.net</email>
</author>
<published>2017-04-25T06:19:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=cb5635a3677679666e4e81ecbb209d32f13dedcd'/>
<id>urn:sha1:cb5635a3677679666e4e81ecbb209d32f13dedcd</id>
<content type='text'>
The statistics and its proc output was not implemented as per-net in the
initial network namespace support by Mario Kicherer (8e8cda6d737d).
This patch adds the missing per-net statistics for the CAN subsystem.

Signed-off-by: Oliver Hartkopp &lt;socketcan@hartkopp.net&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
</feed>
