<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/net/hyperv, branch v3.12.10</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/net/hyperv?h=v3.12.10</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/net/hyperv?h=v3.12.10'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-01-15T23:31:35Z</updated>
<entry>
<title>netvsc: don't flush peers notifying work during setting mtu</title>
<updated>2014-01-15T23:31:35Z</updated>
<author>
<name>Jason Wang</name>
<email>jasowang@redhat.com</email>
</author>
<published>2013-12-13T09:21:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=eec17b9bc0d444c4ed57646bf160129d36f1ca3f'/>
<id>urn:sha1:eec17b9bc0d444c4ed57646bf160129d36f1ca3f</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>
</entry>
<entry>
<title>Drivers: hv: remove HV_DRV_VERSION</title>
<updated>2013-08-02T03:34:30Z</updated>
<author>
<name>Olaf Hering</name>
<email>olaf@aepfle.de</email>
</author>
<published>2013-05-29T09:29:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cfc25993e81f3fa68481d062be634d33184d5eae'/>
<id>urn:sha1:cfc25993e81f3fa68481d062be634d33184d5eae</id>
<content type='text'>
Remove HV_DRV_VERSION, it has no meaning for upstream drivers.

Initially it was supposed to show the "Linux Integration Services"
version, now it is not in sync anymore with the out-of-tree drivers
available from the MSFT website.

The only place where a version string is still required is the KVP
command "IntegrationServicesVersion" which is handled by
tools/hv/hv_kvp_daemon.c. To satisfy such KVP request from the host pass
the current string to the daemon during KVP userland registration.

Signed-off-by: Olaf Hering &lt;olaf@aepfle.de&gt;
Acked-by:  K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>hyperv: Fix the NETIF_F_SG flag setting in netvsc</title>
<updated>2013-07-17T06:02:24Z</updated>
<author>
<name>Haiyang Zhang</name>
<email>haiyangz@microsoft.com</email>
</author>
<published>2013-07-17T06:01:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f45708209dc445bac0844f6ce86e315a2ffe8a29'/>
<id>urn:sha1:f45708209dc445bac0844f6ce86e315a2ffe8a29</id>
<content type='text'>
SG mode is not currently supported by netvsc, so remove this flag for now.
Otherwise, it will be unconditionally enabled by commit ec5f0615642
    "Kill link between CSUM and SG features"
Previously, the SG feature is disabled because CSUM is not set here.

Signed-off-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Reviewed-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Fix the VLAN_TAG_PRESENT in netvsc_recv_callback()</title>
<updated>2013-06-17T22:58:11Z</updated>
<author>
<name>Haiyang Zhang</name>
<email>haiyangz@microsoft.com</email>
</author>
<published>2013-06-17T22:36:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=93725cbd22ed716bea8dc479b4925d40a4dbd0c6'/>
<id>urn:sha1:93725cbd22ed716bea8dc479b4925d40a4dbd0c6</id>
<content type='text'>
We should call __vlan_hwaccel_put_tag() only if the packet
comes from vlan, otherwise VLAN_TAG_PRESENT will always be
added.

Reported-by: Olaf Hering &lt;olaf@aepfle.de&gt;
Signed-off-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Reviewed-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>hyperv: Fix vlan_proto setting in netvsc_recv_callback()</title>
<updated>2013-06-01T00:33:40Z</updated>
<author>
<name>Haiyang Zhang</name>
<email>haiyangz@microsoft.com</email>
</author>
<published>2013-05-28T06:15:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c802db1164f28e62c6a43132b8d290cb8113f2ac'/>
<id>urn:sha1:c802db1164f28e62c6a43132b8d290cb8113f2ac</id>
<content type='text'>
Since the recent addition of 8021AD, we need to set the new field vlan_proto in
sk_buff. Otherwise, it will trigger BUG() call in vlan_proto_idx().

This patch fixes the problem.

Signed-off-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Reviewed-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>hyperv: Fix a compiler warning in netvsc_send()</title>
<updated>2013-04-29T18:06:32Z</updated>
<author>
<name>Haiyang Zhang</name>
<email>haiyangz@microsoft.com</email>
</author>
<published>2013-04-26T08:25:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=00ca8f0c9d7d9531ce0819f06c47a1bc43dba539'/>
<id>urn:sha1:00ca8f0c9d7d9531ce0819f06c47a1bc43dba539</id>
<content type='text'>
Fixed: warning: cast from pointer to integer of different size

The Hyper-V hosts always use 64 bit request id. The guests can have 32 or 64
bit pointers which equal to the ulong type size. So we cast it to ulong type.
And, assigning 32bit integer to 64 bit variable works fine.

The VMBus returns the same id in the completion packet. But the value has no
effect on the host side.

Reported-by: kbuild test robot &lt;fengguang.wu@intel.com&gt;
Signed-off-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Reviewed-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2013-04-23T00:32:51Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2013-04-23T00:32:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6e0895c2ea326cc4bb11e8fa2f654628d5754c31'/>
<id>urn:sha1:6e0895c2ea326cc4bb11e8fa2f654628d5754c31</id>
<content type='text'>
Conflicts:
	drivers/net/ethernet/emulex/benet/be_main.c
	drivers/net/ethernet/intel/igb/igb_main.c
	drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
	include/net/scm.h
	net/batman-adv/routing.c
	net/ipv4/tcp_input.c

The e{uid,gid} --&gt; {uid,gid} credentials fix conflicted with the
cleanup in net-next to now pass cred structs around.

The be2net driver had a bug fix in 'net' that overlapped with the VLAN
interface changes by Patrick McHardy in net-next.

An IGB conflict existed because in 'net' the build_skb() support was
reverted, and in 'net-next' there was a comment style fix within that
code.

Several batman-adv conflicts were resolved by making sure that all
calls to batadv_is_my_mac() are changed to have a new bat_priv first
argument.

Eric Dumazet's TS ECR fix in TCP in 'net' conflicted with the F-RTO
rewrite in 'net-next', mostly overlapping changes.

Thanks to Stephen Rothwell and Antonio Quartulli for help with several
of these merge resolutions.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: vlan: rename NETIF_F_HW_VLAN_* feature flags to NETIF_F_HW_VLAN_CTAG_*</title>
<updated>2013-04-19T18:45:26Z</updated>
<author>
<name>Patrick McHardy</name>
<email>kaber@trash.net</email>
</author>
<published>2013-04-19T02:04:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f646968f8f7c624587de729115d802372b9063dd'/>
<id>urn:sha1:f646968f8f7c624587de729115d802372b9063dd</id>
<content type='text'>
Rename the hardware VLAN acceleration features to include "CTAG" to indicate
that they only support CTAGs. Follow up patches will introduce 802.1ad
server provider tagging (STAGs) and require the distinction for hardware not
supporting acclerating both.

Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>hyperv: Fix RNDIS send_completion code path</title>
<updated>2013-04-08T16:15:17Z</updated>
<author>
<name>Haiyang Zhang</name>
<email>haiyangz@microsoft.com</email>
</author>
<published>2013-04-05T11:44:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f1ea3cd70110d482ef1ce6ef158df113aa366f43'/>
<id>urn:sha1:f1ea3cd70110d482ef1ce6ef158df113aa366f43</id>
<content type='text'>
In some cases, the VM_PKT_COMP message can arrive later than RNDIS completion
message, which will free the packet memory. This may cause panic due to access
to freed memory in netvsc_send_completion().

This patch fixes this problem by removing rndis_filter_send_request_completion()
from the code path. The function was a no-op.

Reported-by: Long Li &lt;longli@microsoft.com&gt;
Tested-by: Long Li &lt;longli@microsoft.com&gt;
Signed-off-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Reviewed-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>hyperv: Fix a kernel warning from netvsc_linkstatus_callback()</title>
<updated>2013-04-08T16:15:17Z</updated>
<author>
<name>Haiyang Zhang</name>
<email>haiyangz@microsoft.com</email>
</author>
<published>2013-04-05T11:44:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fd5c07a8d6a10c7112b19f3b0d428627c62b06ab'/>
<id>urn:sha1:fd5c07a8d6a10c7112b19f3b0d428627c62b06ab</id>
<content type='text'>
The warning about local_bh_enable inside IRQ happens when disconnecting a
virtual NIC.

The reason for the warning is -- netif_tx_disable() is called when the NIC
is disconnected. And it's called within irq context. netif_tx_disable() calls
local_bh_enable() which displays warning if in irq.

The fix is to remove the unnecessary netif_tx_disable &amp; wake_queue() in the
netvsc_linkstatus_callback().

Reported-by: Richard Genoud &lt;richard.genoud@gmail.com&gt;
Tested-by: Long Li &lt;longli@microsoft.com&gt;
Tested-by: Richard Genoud &lt;richard.genoud@gmail.com&gt;
Signed-off-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Reviewed-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
