<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers, branch v3.14.5</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers?h=v3.14.5</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers?h=v3.14.5'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-05-31T20:20:38Z</updated>
<entry>
<title>bonding: fix out of range parameters for bond_intmax_tbl</title>
<updated>2014-05-31T20:20:38Z</updated>
<author>
<name>Nikolay Aleksandrov</name>
<email>nikolay@redhat.com</email>
</author>
<published>2014-05-15T11:35:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2132c5ea87fe6061762813b4f84b3846347de09c'/>
<id>urn:sha1:2132c5ea87fe6061762813b4f84b3846347de09c</id>
<content type='text'>
[ Upstream commit 81c708068dfedece038e07d818ba68333d8d885d ]

I've missed to add a NULL entry to the bond_intmax_tbl when I introduced
it with the conversion of arp_interval so add it now.

CC: Jay Vosburgh &lt;j.vosburgh@gmail.com&gt;
CC: Veaceslav Falico &lt;vfalico@gmail.com&gt;
CC: Andy Gospodarek &lt;andy@greyhouse.net&gt;

Fixes: 7bdb04ed0dbf ("bonding: convert arp_interval to use the new option API")
Signed-off-by: Nikolay Aleksandrov &lt;nikolay@redhat.com&gt;
Acked-by: Veaceslav Falico &lt;vfalico@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: phy: Don't call phy_resume if phy_init_hw failed</title>
<updated>2014-05-31T20:20:38Z</updated>
<author>
<name>Guenter Roeck</name>
<email>linux@roeck-us.net</email>
</author>
<published>2014-05-14T20:12:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cd7faf359dc0eeb672c820d2308a71b1c1fbadf9'/>
<id>urn:sha1:cd7faf359dc0eeb672c820d2308a71b1c1fbadf9</id>
<content type='text'>
[ Upstream commit b394745df2d9d4c30bf1bcc55773bec6f3bc7c67 ]

After the call to phy_init_hw failed in phy_attach_direct, phy_detach is called
to detach the phy device from its network device. If the attached driver is a
generic phy driver, this also detaches the driver. Subsequently phy_resume
is called, which assumes without checking that a driver is attached to the
device. This will result in a crash such as

Unable to handle kernel paging request for data at address 0xffffffffffffff90
Faulting instruction address: 0xc0000000003a0e18
Oops: Kernel access of bad area, sig: 11 [#1]
...
NIP [c0000000003a0e18] .phy_attach_direct+0x68/0x17c
LR [c0000000003a0e6c] .phy_attach_direct+0xbc/0x17c
Call Trace:
[c0000003fc0475d0] [c0000000003a0e6c] .phy_attach_direct+0xbc/0x17c (unreliable)
[c0000003fc047670] [c0000000003a0ff8] .phy_connect_direct+0x28/0x98
[c0000003fc047700] [c0000000003f0074] .of_phy_connect+0x4c/0xa4

Only call phy_resume if phy_init_hw was successful.

Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Acked-by: Florian Fainelli &lt;f.fainelli@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>sfc: fix calling of free_irq with already free vector</title>
<updated>2014-05-31T20:20:37Z</updated>
<author>
<name>Nikolay Aleksandrov</name>
<email>nikolay@redhat.com</email>
</author>
<published>2014-05-09T09:11:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e31895fa971b7550a35c482b55666be16bd1c307'/>
<id>urn:sha1:e31895fa971b7550a35c482b55666be16bd1c307</id>
<content type='text'>
[ Upstream commit 1c3639005f48492e5f2d965779efd814e80f8b15 ]

If the sfc driver is in legacy interrupt mode (either explicitly by
using interrupt_mode module param or by falling back to it) it will
hit a warning at kernel/irq/manage.c because it will try to free an irq
which wasn't allocated by it in the first place because the MSI(X) irqs are
zero and it'll try to free them unconditionally. So fix it by checking if
we're in legacy mode and freeing the appropriate irqs.

CC: Zenghui Shi &lt;zshi@redhat.com&gt;
CC: Ben Hutchings &lt;ben@decadent.org.uk&gt;
CC: &lt;linux-net-drivers@solarflare.com&gt;
CC: Shradha Shah &lt;sshah@solarflare.com&gt;
CC: David S. Miller &lt;davem@davemloft.net&gt;

Fixes: 1899c111a535 ("sfc: Fix IRQ cleanup in case of a probe failure")
Reported-by: Zenghui Shi &lt;zshi@redhat.com&gt;
Signed-off-by: Nikolay Aleksandrov &lt;nikolay@redhat.com&gt;
Acked-by: Shradha Shah &lt;sshah@solarflare.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>macvlan: Don't propagate IFF_ALLMULTI changes on down interfaces.</title>
<updated>2014-05-31T20:20:37Z</updated>
<author>
<name>Peter Christensen</name>
<email>pch@ordbogen.com</email>
</author>
<published>2014-05-08T09:15:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=064651306507908bb68de656f10227311605bd08'/>
<id>urn:sha1:064651306507908bb68de656f10227311605bd08</id>
<content type='text'>
[ Upstream commit bbeb0eadcf9fe74fb2b9b1a6fea82cd538b1e556 ]

Clearing the IFF_ALLMULTI flag on a down interface could cause an allmulti
overflow on the underlying interface.

Attempting the set IFF_ALLMULTI on the underlying interface would cause an
error and the log message:

"allmulti touches root, set allmulti failed."

Signed-off-by: Peter Christensen &lt;pch@ordbogen.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: cdc_mbim: handle unaccelerated VLAN tagged frames</title>
<updated>2014-05-31T20:20:37Z</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2014-05-09T12:45:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d177ade5a57be857df1ddbdfc06627d31f11ef06'/>
<id>urn:sha1:d177ade5a57be857df1ddbdfc06627d31f11ef06</id>
<content type='text'>
[ Upstream commit 6b5eeb7f874b689403e52a646e485d0191ab9507 ]

This driver maps 802.1q VLANs to MBIM sessions. The mapping is based on
a bogus assumption that all tagged frames will use the acceleration API
because we enable NETIF_F_HW_VLAN_CTAG_TX. This fails for e.g. frames
tagged in userspace using packet sockets. Such frames will erroneously
be considered as untagged and silently dropped based on not being IP.

Fix by falling back to looking into the ethernet header for a tag if no
accelerated tag was found.

Fixes: a82c7ce5bc5b ("net: cdc_ncm: map MBIM IPS SessionID to VLAN ID")
Cc: Greg Suarez &lt;gsuarez@smithmicro.com&gt;
Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&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: cdc_mbim: __vlan_find_dev_deep need rcu_read_lock</title>
<updated>2014-05-31T20:20:37Z</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2014-05-03T14:12:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b8313dbb84b1bd2383446d944d6d9d5a384a065f'/>
<id>urn:sha1:b8313dbb84b1bd2383446d944d6d9d5a384a065f</id>
<content type='text'>
[ Upstream commit 4f4178f3bb1f470d7fb863ec531e08e20a0fd51c ]

Fixes this warning introduced by commit 5b8f15f78e6f
("net: cdc_mbim: handle IPv6 Neigbor Solicitations"):

===============================
[ INFO: suspicious RCU usage. ]
3.15.0-rc3 #213 Tainted: G        W  O
-------------------------------
net/8021q/vlan_core.c:69 suspicious rcu_dereference_check() usage!

other info that might help us debug this:

rcu_scheduler_active = 1, debug_locks = 1
no locks held by ksoftirqd/0/3.

stack backtrace:
CPU: 0 PID: 3 Comm: ksoftirqd/0 Tainted: G        W  O  3.15.0-rc3 #213
Hardware name: LENOVO 2776LEG/2776LEG, BIOS 6EET55WW (3.15 ) 12/19/2011
 0000000000000001 ffff880232533bf0 ffffffff813a5ee6 0000000000000006
 ffff880232530090 ffff880232533c20 ffffffff81076b94 0000000000000081
 0000000000000000 ffff8802085ac000 ffff88007fc8ea00 ffff880232533c50
Call Trace:
 [&lt;ffffffff813a5ee6&gt;] dump_stack+0x4e/0x68
 [&lt;ffffffff81076b94&gt;] lockdep_rcu_suspicious+0xfa/0x103
 [&lt;ffffffff813978a6&gt;] __vlan_find_dev_deep+0x54/0x94
 [&lt;ffffffffa04a1938&gt;] cdc_mbim_rx_fixup+0x379/0x66a [cdc_mbim]
 [&lt;ffffffff813ab76f&gt;] ? _raw_spin_unlock_irqrestore+0x3a/0x49
 [&lt;ffffffff81079671&gt;] ? trace_hardirqs_on_caller+0x192/0x1a1
 [&lt;ffffffffa059bd10&gt;] usbnet_bh+0x59/0x287 [usbnet]
 [&lt;ffffffff8104067d&gt;] tasklet_action+0xbb/0xcd
 [&lt;ffffffff81040057&gt;] __do_softirq+0x14c/0x30d
 [&lt;ffffffff81040237&gt;] run_ksoftirqd+0x1f/0x50
 [&lt;ffffffff8105f13e&gt;] smpboot_thread_fn+0x172/0x18e
 [&lt;ffffffff8105efcc&gt;] ? SyS_setgroups+0xdf/0xdf
 [&lt;ffffffff810594b0&gt;] kthread+0xb5/0xbd
 [&lt;ffffffff813a84b1&gt;] ? __wait_for_common+0x13b/0x170
 [&lt;ffffffff810593fb&gt;] ? __kthread_parkme+0x5c/0x5c
 [&lt;ffffffff813b147c&gt;] ret_from_fork+0x7c/0xb0
 [&lt;ffffffff810593fb&gt;] ? __kthread_parkme+0x5c/0x5c

Fixes: 5b8f15f78e6f ("net: cdc_mbim: handle IPv6 Neigbor Solicitations")
Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&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/mlx4_core: Don't issue PCIe speed/width checks for VFs</title>
<updated>2014-05-31T20:20:36Z</updated>
<author>
<name>Eyal Perry</name>
<email>eyalpe@mellanox.com</email>
</author>
<published>2014-05-04T14:07:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=935ec25dfa56f012af48155e9c2a35a7a10fdaea'/>
<id>urn:sha1:935ec25dfa56f012af48155e9c2a35a7a10fdaea</id>
<content type='text'>
[ Upstream commit 83d3459a5928f18c9344683e31bc2a7c3c25562a ]

Carrying out PCI speed/width checks through pcie_get_minimum_link()
on VFs yield wrong results, so remove them.

Fixes: b912b2f ('net/mlx4_core: Warn if device doesn't have enough PCI bandwidth')
Signed-off-by: Eyal Perry &lt;eyalpe@mellanox.com&gt;
Signed-off-by: Or Gerlitz &lt;ogerlitz@mellanox.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: cdc_ncm: fix buffer overflow</title>
<updated>2014-05-31T20:20:36Z</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2014-05-02T21:27:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=19ca28c306fcf825c165f6f3b9532bec479a60b4'/>
<id>urn:sha1:19ca28c306fcf825c165f6f3b9532bec479a60b4</id>
<content type='text'>
[ Upstream commit 9becd707841207652449a8dfd90fe9c476d88546 ]

Commit 4d619f625a60 ("net: cdc_ncm: no point in filling up the NTBs
if we send ZLPs") changed the padding logic for devices with the ZLP
flag set.  This meant that frames of any size will be sent without
additional padding, except for the single byte added if the size is
a multiple of the USB packet size. But if the unpadded size is
identical to the maximum frame size, and the maximum size is a
multiplum of the USB packet size, then this one-byte padding will
overflow the buffer.

Prevent padding if already at maximum frame size, letting usbnet
transmit a ZLP instead in this case.

Fixes: 4d619f625a60 ("net: cdc_ncm: no point in filling up the NTBs if we send ZLPs")
Reported by: Yu-an Shih &lt;yshih@nvidia.com&gt;
Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&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>Revert "macvlan : fix checksums error when we are in bridge mode"</title>
<updated>2014-05-31T20:20:36Z</updated>
<author>
<name>Vlad Yasevich</name>
<email>vyasevic@redhat.com</email>
</author>
<published>2014-04-29T14:09:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cea2f34c5fa7f414f648fc7034ce76d5eb0d48ff'/>
<id>urn:sha1:cea2f34c5fa7f414f648fc7034ce76d5eb0d48ff</id>
<content type='text'>
[ Upstream commit f114890cdf84d753f6b41cd0cc44ba51d16313da ]

This reverts commit 12a2856b604476c27d85a5f9a57ae1661fc46019.
The commit above doesn't appear to be necessary any more as the
checksums appear to be correctly computed/validated.

Additionally the above commit breaks kvm configurations where
one VM is using a device that support checksum offload (virtio) and
the other VM does not.
In this case, packets leaving virtio device will have CHECKSUM_PARTIAL
set.  The packets is forwarded to a macvtap that has offload features
turned off.  Since we use CHECKSUM_UNNECESSARY, the host does does not
update the checksum and thus a bad checksum is passed up to
the guest.

CC: Daniel Lezcano &lt;daniel.lezcano@free.fr&gt;
CC: Patrick McHardy &lt;kaber@trash.net&gt;
CC: Andrian Nord &lt;nightnord@gmail.com&gt;
CC: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
CC: Michael S. Tsirkin &lt;mst@redhat.com&gt;
CC: Jason Wang &lt;jasowang@redhat.com&gt;
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>
</entry>
<entry>
<title>mactap: Fix checksum errors for non-gso packets in bridge mode</title>
<updated>2014-05-31T20:20:36Z</updated>
<author>
<name>Vlad Yasevich</name>
<email>vyasevic@redhat.com</email>
</author>
<published>2014-04-29T14:09:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bdccb452699c0da6df5538904bbf4847de1cf4fc'/>
<id>urn:sha1:bdccb452699c0da6df5538904bbf4847de1cf4fc</id>
<content type='text'>
[ Upstream commit cbdb04279ccaefcc702c8757757eea8ed76e50cf ]

The following is a problematic configuration:

 VM1: virtio-net device connected to macvtap0@eth0
 VM2: e1000 device connect to macvtap1@eth0

The problem is is that virtio-net supports checksum offloading
and thus sends the packets to the host with CHECKSUM_PARTIAL set.
On the other hand, e1000 does not support any acceleration.

For small TCP packets (and this includes the 3-way handshake),
e1000 ends up receiving packets that only have a partial checksum
set.  This causes TCP to fail checksum validation and to drop
packets.  As a result tcp connections can not be established.

Commit 3e4f8b787370978733ca6cae452720a4f0c296b8
	macvtap: Perform GSO on forwarding path.
fixes this issue for large packets wthat will end up undergoing GSO.
This commit adds a check for the non-GSO case and attempts to
compute the checksum for partially checksummed packets in the
non-GSO case.

CC: Daniel Lezcano &lt;daniel.lezcano@free.fr&gt;
CC: Patrick McHardy &lt;kaber@trash.net&gt;
CC: Andrian Nord &lt;nightnord@gmail.com&gt;
CC: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
CC: Michael S. Tsirkin &lt;mst@redhat.com&gt;
CC: Jason Wang &lt;jasowang@redhat.com&gt;
Signed-off-by: Vlad Yasevich &lt;vyasevic@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>
</entry>
</feed>
