<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers, branch v3.4.77</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>hamradio/yam: fix info leak in ioctl</title>
<updated>2014-01-15T23:27:11+00:00</updated>
<author>
<name>Salva Peiró</name>
<email>speiro@ai2.upv.es</email>
</author>
<published>2013-12-17T09:06:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=eb2da112485dc59834cf1a87036b3a7a43fba3c4'/>
<id>eb2da112485dc59834cf1a87036b3a7a43fba3c4</id>
<content type='text'>
[ Upstream commit 8e3fbf870481eb53b2d3a322d1fc395ad8b367ed ]

The yam_ioctl() code fails to initialise the cmd field
of the struct yamdrv_ioctl_cfg. Add an explicit memset(0)
before filling the structure to avoid the 4-byte info leak.

Signed-off-by: Salva Peiró &lt;speiro@ai2.upv.es&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 8e3fbf870481eb53b2d3a322d1fc395ad8b367ed ]

The yam_ioctl() code fails to initialise the cmd field
of the struct yamdrv_ioctl_cfg. Add an explicit memset(0)
before filling the structure to avoid the 4-byte info leak.

Signed-off-by: Salva Peiró &lt;speiro@ai2.upv.es&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drivers/net/hamradio: Integer overflow in hdlcdrv_ioctl()</title>
<updated>2014-01-15T23:27:11+00:00</updated>
<author>
<name>Wenliang Fan</name>
<email>fanwlexca@gmail.com</email>
</author>
<published>2013-12-17T03:25:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b7e3762c40e1d7f7a147f7d5be9584e1603bea01'/>
<id>b7e3762c40e1d7f7a147f7d5be9584e1603bea01</id>
<content type='text'>
[ Upstream commit e9db5c21d3646a6454fcd04938dd215ac3ab620a ]

The local variable 'bi' comes from userspace. If userspace passed a
large number to 'bi.data.calibrate', there would be an integer overflow
in the following line:
	s-&gt;hdlctx.calibrate = bi.data.calibrate * s-&gt;par.bitrate / 16;

Signed-off-by: Wenliang Fan &lt;fanwlexca@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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit e9db5c21d3646a6454fcd04938dd215ac3ab620a ]

The local variable 'bi' comes from userspace. If userspace passed a
large number to 'bi.data.calibrate', there would be an integer overflow
in the following line:
	s-&gt;hdlctx.calibrate = bi.data.calibrate * s-&gt;par.bitrate / 16;

Signed-off-by: Wenliang Fan &lt;fanwlexca@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;
</pre>
</div>
</content>
</entry>
<entry>
<title>netvsc: don't flush peers notifying work during setting mtu</title>
<updated>2014-01-15T23:27:11+00:00</updated>
<author>
<name>Jason Wang</name>
<email>jasowang@redhat.com</email>
</author>
<published>2013-12-13T09:21:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0248d4b4d5bed909c52877e16db569361648c952'/>
<id>0248d4b4d5bed909c52877e16db569361648c952</id>
<content type='text'>
[ Upstream commit 50dc875f2e6e2e04aed3b3033eb0ac99192d6d02 ]

There's a possible deadlock if we flush the peers notifying work during setting
mtu:

[   22.991149] ======================================================
[   22.991173] [ INFO: possible circular locking dependency detected ]
[   22.991198] 3.10.0-54.0.1.el7.x86_64.debug #1 Not tainted
[   22.991219] -------------------------------------------------------
[   22.991243] ip/974 is trying to acquire lock:
[   22.991261]  ((&amp;(&amp;net_device_ctx-&gt;dwork)-&gt;work)){+.+.+.}, at: [&lt;ffffffff8108af95&gt;] flush_work+0x5/0x2e0
[   22.991307]
but task is already holding lock:
[   22.991330]  (rtnl_mutex){+.+.+.}, at: [&lt;ffffffff81539deb&gt;] rtnetlink_rcv+0x1b/0x40
[   22.991367]
which lock already depends on the new lock.

[   22.991398]
the existing dependency chain (in reverse order) is:
[   22.991426]
-&gt; #1 (rtnl_mutex){+.+.+.}:
[   22.991449]        [&lt;ffffffff810dfdd9&gt;] __lock_acquire+0xb19/0x1260
[   22.991477]        [&lt;ffffffff810e0d12&gt;] lock_acquire+0xa2/0x1f0
[   22.991501]        [&lt;ffffffff81673659&gt;] mutex_lock_nested+0x89/0x4f0
[   22.991529]        [&lt;ffffffff815392b7&gt;] rtnl_lock+0x17/0x20
[   22.991552]        [&lt;ffffffff815230b2&gt;] netdev_notify_peers+0x12/0x30
[   22.991579]        [&lt;ffffffffa0340212&gt;] netvsc_send_garp+0x22/0x30 [hv_netvsc]
[   22.991610]        [&lt;ffffffff8108d251&gt;] process_one_work+0x211/0x6e0
[   22.991637]        [&lt;ffffffff8108d83b&gt;] worker_thread+0x11b/0x3a0
[   22.991663]        [&lt;ffffffff81095e5d&gt;] kthread+0xed/0x100
[   22.991686]        [&lt;ffffffff81681c6c&gt;] ret_from_fork+0x7c/0xb0
[   22.991715]
-&gt; #0 ((&amp;(&amp;net_device_ctx-&gt;dwork)-&gt;work)){+.+.+.}:
[   22.991715]        [&lt;ffffffff810de817&gt;] check_prevs_add+0x967/0x970
[   22.991715]        [&lt;ffffffff810dfdd9&gt;] __lock_acquire+0xb19/0x1260
[   22.991715]        [&lt;ffffffff810e0d12&gt;] lock_acquire+0xa2/0x1f0
[   22.991715]        [&lt;ffffffff8108afde&gt;] flush_work+0x4e/0x2e0
[   22.991715]        [&lt;ffffffff8108e1b5&gt;] __cancel_work_timer+0x95/0x130
[   22.991715]        [&lt;ffffffff8108e303&gt;] cancel_delayed_work_sync+0x13/0x20
[   22.991715]        [&lt;ffffffffa03404e4&gt;] netvsc_change_mtu+0x84/0x200 [hv_netvsc]
[   22.991715]        [&lt;ffffffff815233d4&gt;] dev_set_mtu+0x34/0x80
[   22.991715]        [&lt;ffffffff8153bc2a&gt;] do_setlink+0x23a/0xa00
[   22.991715]        [&lt;ffffffff8153d054&gt;] rtnl_newlink+0x394/0x5e0
[   22.991715]        [&lt;ffffffff81539eac&gt;] rtnetlink_rcv_msg+0x9c/0x260
[   22.991715]        [&lt;ffffffff8155cdd9&gt;] netlink_rcv_skb+0xa9/0xc0
[   22.991715]        [&lt;ffffffff81539dfa&gt;] rtnetlink_rcv+0x2a/0x40
[   22.991715]        [&lt;ffffffff8155c41d&gt;] netlink_unicast+0xdd/0x190
[   22.991715]        [&lt;ffffffff8155c807&gt;] netlink_sendmsg+0x337/0x750
[   22.991715]        [&lt;ffffffff8150d219&gt;] sock_sendmsg+0x99/0xd0
[   22.991715]        [&lt;ffffffff8150d63e&gt;] ___sys_sendmsg+0x39e/0x3b0
[   22.991715]        [&lt;ffffffff8150eba2&gt;] __sys_sendmsg+0x42/0x80
[   22.991715]        [&lt;ffffffff8150ebf2&gt;] SyS_sendmsg+0x12/0x20
[   22.991715]        [&lt;ffffffff81681d19&gt;] system_call_fastpath+0x16/0x1b

This is because we hold the rtnl_lock() before ndo_change_mtu() and try to flush
the work in netvsc_change_mtu(), in the mean time, netdev_notify_peers() may be
called from worker and also trying to hold the rtnl_lock. This will lead the
flush won't succeed forever. Solve this by not canceling and flushing the work,
this is safe because the transmission done by NETDEV_NOTIFY_PEERS was
synchronized with the netif_tx_disable() called by netvsc_change_mtu().

Reported-by: Yaju Cao &lt;yacao@redhat.com&gt;
Tested-by: Yaju Cao &lt;yacao@redhat.com&gt;
Cc: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Cc: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Acked-by: Haiyang Zhang &lt;haiyangz@microsoft.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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 50dc875f2e6e2e04aed3b3033eb0ac99192d6d02 ]

There's a possible deadlock if we flush the peers notifying work during setting
mtu:

[   22.991149] ======================================================
[   22.991173] [ INFO: possible circular locking dependency detected ]
[   22.991198] 3.10.0-54.0.1.el7.x86_64.debug #1 Not tainted
[   22.991219] -------------------------------------------------------
[   22.991243] ip/974 is trying to acquire lock:
[   22.991261]  ((&amp;(&amp;net_device_ctx-&gt;dwork)-&gt;work)){+.+.+.}, at: [&lt;ffffffff8108af95&gt;] flush_work+0x5/0x2e0
[   22.991307]
but task is already holding lock:
[   22.991330]  (rtnl_mutex){+.+.+.}, at: [&lt;ffffffff81539deb&gt;] rtnetlink_rcv+0x1b/0x40
[   22.991367]
which lock already depends on the new lock.

[   22.991398]
the existing dependency chain (in reverse order) is:
[   22.991426]
-&gt; #1 (rtnl_mutex){+.+.+.}:
[   22.991449]        [&lt;ffffffff810dfdd9&gt;] __lock_acquire+0xb19/0x1260
[   22.991477]        [&lt;ffffffff810e0d12&gt;] lock_acquire+0xa2/0x1f0
[   22.991501]        [&lt;ffffffff81673659&gt;] mutex_lock_nested+0x89/0x4f0
[   22.991529]        [&lt;ffffffff815392b7&gt;] rtnl_lock+0x17/0x20
[   22.991552]        [&lt;ffffffff815230b2&gt;] netdev_notify_peers+0x12/0x30
[   22.991579]        [&lt;ffffffffa0340212&gt;] netvsc_send_garp+0x22/0x30 [hv_netvsc]
[   22.991610]        [&lt;ffffffff8108d251&gt;] process_one_work+0x211/0x6e0
[   22.991637]        [&lt;ffffffff8108d83b&gt;] worker_thread+0x11b/0x3a0
[   22.991663]        [&lt;ffffffff81095e5d&gt;] kthread+0xed/0x100
[   22.991686]        [&lt;ffffffff81681c6c&gt;] ret_from_fork+0x7c/0xb0
[   22.991715]
-&gt; #0 ((&amp;(&amp;net_device_ctx-&gt;dwork)-&gt;work)){+.+.+.}:
[   22.991715]        [&lt;ffffffff810de817&gt;] check_prevs_add+0x967/0x970
[   22.991715]        [&lt;ffffffff810dfdd9&gt;] __lock_acquire+0xb19/0x1260
[   22.991715]        [&lt;ffffffff810e0d12&gt;] lock_acquire+0xa2/0x1f0
[   22.991715]        [&lt;ffffffff8108afde&gt;] flush_work+0x4e/0x2e0
[   22.991715]        [&lt;ffffffff8108e1b5&gt;] __cancel_work_timer+0x95/0x130
[   22.991715]        [&lt;ffffffff8108e303&gt;] cancel_delayed_work_sync+0x13/0x20
[   22.991715]        [&lt;ffffffffa03404e4&gt;] netvsc_change_mtu+0x84/0x200 [hv_netvsc]
[   22.991715]        [&lt;ffffffff815233d4&gt;] dev_set_mtu+0x34/0x80
[   22.991715]        [&lt;ffffffff8153bc2a&gt;] do_setlink+0x23a/0xa00
[   22.991715]        [&lt;ffffffff8153d054&gt;] rtnl_newlink+0x394/0x5e0
[   22.991715]        [&lt;ffffffff81539eac&gt;] rtnetlink_rcv_msg+0x9c/0x260
[   22.991715]        [&lt;ffffffff8155cdd9&gt;] netlink_rcv_skb+0xa9/0xc0
[   22.991715]        [&lt;ffffffff81539dfa&gt;] rtnetlink_rcv+0x2a/0x40
[   22.991715]        [&lt;ffffffff8155c41d&gt;] netlink_unicast+0xdd/0x190
[   22.991715]        [&lt;ffffffff8155c807&gt;] netlink_sendmsg+0x337/0x750
[   22.991715]        [&lt;ffffffff8150d219&gt;] sock_sendmsg+0x99/0xd0
[   22.991715]        [&lt;ffffffff8150d63e&gt;] ___sys_sendmsg+0x39e/0x3b0
[   22.991715]        [&lt;ffffffff8150eba2&gt;] __sys_sendmsg+0x42/0x80
[   22.991715]        [&lt;ffffffff8150ebf2&gt;] SyS_sendmsg+0x12/0x20
[   22.991715]        [&lt;ffffffff81681d19&gt;] system_call_fastpath+0x16/0x1b

This is because we hold the rtnl_lock() before ndo_change_mtu() and try to flush
the work in netvsc_change_mtu(), in the mean time, netdev_notify_peers() may be
called from worker and also trying to hold the rtnl_lock. This will lead the
flush won't succeed forever. Solve this by not canceling and flushing the work,
this is safe because the transmission done by NETDEV_NOTIFY_PEERS was
synchronized with the netif_tx_disable() called by netvsc_change_mtu().

Reported-by: Yaju Cao &lt;yacao@redhat.com&gt;
Tested-by: Yaju Cao &lt;yacao@redhat.com&gt;
Cc: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Cc: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Acked-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tg3: Initialize REG_BASE_ADDR at PCI config offset 120 to 0</title>
<updated>2014-01-15T23:27:11+00:00</updated>
<author>
<name>Nat Gurumoorthy</name>
<email>natg@google.com</email>
</author>
<published>2013-12-09T18:43:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e5893b25ab6bc7a99161b25b07f39c8506038f93'/>
<id>e5893b25ab6bc7a99161b25b07f39c8506038f93</id>
<content type='text'>
[ Upstream commit 388d3335575f4c056dcf7138a30f1454e2145cd8 ]

The new tg3 driver leaves REG_BASE_ADDR (PCI config offset 120)
uninitialized. From power on reset this register may have garbage in it. The
Register Base Address register defines the device local address of a
register. The data pointed to by this location is read or written using
the Register Data register (PCI config offset 128). When REG_BASE_ADDR has
garbage any read or write of Register Data Register (PCI 128) will cause the
PCI bus to lock up. The TCO watchdog will fire and bring down the system.

Signed-off-by: Nat Gurumoorthy &lt;natg@google.com&gt;
Acked-by: Michael Chan &lt;mchan@broadcom.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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 388d3335575f4c056dcf7138a30f1454e2145cd8 ]

The new tg3 driver leaves REG_BASE_ADDR (PCI config offset 120)
uninitialized. From power on reset this register may have garbage in it. The
Register Base Address register defines the device local address of a
register. The data pointed to by this location is read or written using
the Register Data register (PCI config offset 128). When REG_BASE_ADDR has
garbage any read or write of Register Data Register (PCI 128) will cause the
PCI bus to lock up. The TCO watchdog will fire and bring down the system.

Signed-off-by: Nat Gurumoorthy &lt;natg@google.com&gt;
Acked-by: Michael Chan &lt;mchan@broadcom.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>macvtap: signal truncated packets</title>
<updated>2014-01-15T23:27:10+00:00</updated>
<author>
<name>Jason Wang</name>
<email>jasowang@redhat.com</email>
</author>
<published>2013-12-11T05:08:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ae8d56de3072a8a812e1400686668315fb27c21b'/>
<id>ae8d56de3072a8a812e1400686668315fb27c21b</id>
<content type='text'>
[ Upstream commit ce232ce01d61b184202bb185103d119820e1260c ]

macvtap_put_user() never return a value grater than iov length, this in fact
bypasses the truncated checking in macvtap_recvmsg(). Fix this by always
returning the size of packet plus the possible vlan header to let the trunca
checking work.

Cc: Vlad Yasevich &lt;vyasevich@gmail.com&gt;
Cc: Zhi Yong Wu &lt;wuzhy@linux.vnet.ibm.com&gt;
Cc: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Acked-by: Vlad Yasevich &lt;vyasevich@gmail.com&gt;
Acked-by: Michael S. Tsirkin &lt;mst@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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit ce232ce01d61b184202bb185103d119820e1260c ]

macvtap_put_user() never return a value grater than iov length, this in fact
bypasses the truncated checking in macvtap_recvmsg(). Fix this by always
returning the size of packet plus the possible vlan header to let the trunca
checking work.

Cc: Vlad Yasevich &lt;vyasevich@gmail.com&gt;
Cc: Zhi Yong Wu &lt;wuzhy@linux.vnet.ibm.com&gt;
Cc: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Acked-by: Vlad Yasevich &lt;vyasevich@gmail.com&gt;
Acked-by: Michael S. Tsirkin &lt;mst@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;
</pre>
</div>
</content>
</entry>
<entry>
<title>tun: update file current position</title>
<updated>2014-01-15T23:27:10+00:00</updated>
<author>
<name>Zhi Yong Wu</name>
<email>wuzhy@linux.vnet.ibm.com</email>
</author>
<published>2013-12-06T06:16:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=693d5d2765cdd89a9f8f113d6a7426ddfe996378'/>
<id>693d5d2765cdd89a9f8f113d6a7426ddfe996378</id>
<content type='text'>
[ Upstream commit d0b7da8afa079ffe018ab3e92879b7138977fc8f ]

Signed-off-by: Zhi Yong Wu &lt;wuzhy@linux.vnet.ibm.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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit d0b7da8afa079ffe018ab3e92879b7138977fc8f ]

Signed-off-by: Zhi Yong Wu &lt;wuzhy@linux.vnet.ibm.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>macvtap: update file current position</title>
<updated>2014-01-15T23:27:10+00:00</updated>
<author>
<name>Zhi Yong Wu</name>
<email>wuzhy@linux.vnet.ibm.com</email>
</author>
<published>2013-12-06T06:16:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d717ca464061e93f0e125e81ae16993da66094f2'/>
<id>d717ca464061e93f0e125e81ae16993da66094f2</id>
<content type='text'>
[ Upstream commit e6ebc7f16ca1434a334647aa56399c546be4e64b ]

Signed-off-by: Zhi Yong Wu &lt;wuzhy@linux.vnet.ibm.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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit e6ebc7f16ca1434a334647aa56399c546be4e64b ]

Signed-off-by: Zhi Yong Wu &lt;wuzhy@linux.vnet.ibm.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>macvtap: Do not double-count received packets</title>
<updated>2014-01-15T23:27:10+00:00</updated>
<author>
<name>Vlad Yasevich</name>
<email>vyasevic@redhat.com</email>
</author>
<published>2013-11-26T17:37:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b4c3eac4fe4e12260614f5d724a3ab8ce21e486a'/>
<id>b4c3eac4fe4e12260614f5d724a3ab8ce21e486a</id>
<content type='text'>
[ Upstream commit 006da7b07bc4d3a7ffabad17cf639eec6849c9dc ]

Currently macvlan will count received packets after calling each
vlans receive handler.   Macvtap attempts to count the packet
yet again when the user reads the packet from the tap socket.
This code doesn't do this consistently either.  Remove the
counting from macvtap and let only macvlan count received
packets.

Signed-off-by: Vlad Yasevich &lt;vyasevic@redhat.com&gt;
Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Acked-by: Jason Wang &lt;jasowang@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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 006da7b07bc4d3a7ffabad17cf639eec6849c9dc ]

Currently macvlan will count received packets after calling each
vlans receive handler.   Macvtap attempts to count the packet
yet again when the user reads the packet from the tap socket.
This code doesn't do this consistently either.  Remove the
counting from macvtap and let only macvlan count received
packets.

Signed-off-by: Vlad Yasevich &lt;vyasevic@redhat.com&gt;
Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Acked-by: Jason Wang &lt;jasowang@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;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: do not pretend FRAGLIST support</title>
<updated>2014-01-15T23:27:10+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2013-12-02T16:51:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=acd4b2b8fb7a43acf7efb24ecb751e6d593f7d2f'/>
<id>acd4b2b8fb7a43acf7efb24ecb751e6d593f7d2f</id>
<content type='text'>
[ Upstream commit 28e24c62ab3062e965ef1b3bcc244d50aee7fa85 ]

Few network drivers really supports frag_list : virtual drivers.

Some drivers wrongly advertise NETIF_F_FRAGLIST feature.

If skb with a frag_list is given to them, packet on the wire will be
corrupt.

Remove this flag, as core networking stack will make sure to
provide packets that can be sent without corruption.

Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Thadeu Lima de Souza Cascardo &lt;cascardo@linux.vnet.ibm.com&gt;
Cc: Anirudha Sarangi &lt;anirudh@xilinx.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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 28e24c62ab3062e965ef1b3bcc244d50aee7fa85 ]

Few network drivers really supports frag_list : virtual drivers.

Some drivers wrongly advertise NETIF_F_FRAGLIST feature.

If skb with a frag_list is given to them, packet on the wire will be
corrupt.

Remove this flag, as core networking stack will make sure to
provide packets that can be sent without corruption.

Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Thadeu Lima de Souza Cascardo &lt;cascardo@linux.vnet.ibm.com&gt;
Cc: Anirudha Sarangi &lt;anirudh@xilinx.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (w83l768ng) Fix fan speed control range</title>
<updated>2014-01-08T17:42:12+00:00</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2013-12-12T07:05:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b7a9e22f44afe81e1252ad0aeb6b145af93103e0'/>
<id>b7a9e22f44afe81e1252ad0aeb6b145af93103e0</id>
<content type='text'>
commit 33a7ab91d509fa33b4bcd3ce0038cc80298050da upstream.

The W83L786NG stores the fan speed on 4 bits while the sysfs interface
uses a 0-255 range. Thus the driver should scale the user input down
to map it to the device range, and scale up the value read from the
device before presenting it to the user. The reserved register nibble
should be left unchanged.

Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Reviewed-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 33a7ab91d509fa33b4bcd3ce0038cc80298050da upstream.

The W83L786NG stores the fan speed on 4 bits while the sysfs interface
uses a 0-255 range. Thus the driver should scale the user input down
to map it to the device range, and scale up the value read from the
device before presenting it to the user. The reserved register nibble
should be left unchanged.

Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Reviewed-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
</feed>
