<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/net, branch v3.12.20</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>mac80211: exclude AP_VLAN interfaces from tx power calculation</title>
<updated>2014-05-15T07:56:05+00:00</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2014-04-10T13:06:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=1c0bbecc26637b7cdd4f7aad19b9141a6524678e'/>
<id>1c0bbecc26637b7cdd4f7aad19b9141a6524678e</id>
<content type='text'>
commit 764152ff66f4a8be1f9d7981e542ffdaa5bd7aff upstream.

Their power value is initialized to zero. This patch fixes an issue
where the configured power drops to the minimum value when AP_VLAN
interfaces are created/removed.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 764152ff66f4a8be1f9d7981e542ffdaa5bd7aff upstream.

Their power value is initialized to zero. This patch fixes an issue
where the configured power drops to the minimum value when AP_VLAN
interfaces are created/removed.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: fix software remain-on-channel implementation</title>
<updated>2014-05-15T07:56:04+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2014-03-27T14:39:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d89a88ef727f6048ea145129da830f88896fea9f'/>
<id>d89a88ef727f6048ea145129da830f88896fea9f</id>
<content type='text'>
commit 115b943a6ea12656088fa1ff6634c0d30815e55b upstream.

Jouni reported that when doing off-channel transmissions mixed
with on-channel transmissions, the on-channel ones ended up on
the off-channel in some cases.

The reason for that is that during the refactoring of the off-
channel code, I lost the part that stopped all activity and as
a consequence the on-channel frames (including data frames)
were no longer queued but would be transmitted on the temporary
channel.

Fix this by simply restoring the lost activity stop call.

Fixes: 2eb278e083549 ("mac80211: unify SW/offload remain-on-channel")
Reported-by: Jouni Malinen &lt;j@w1.fi&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 115b943a6ea12656088fa1ff6634c0d30815e55b upstream.

Jouni reported that when doing off-channel transmissions mixed
with on-channel transmissions, the on-channel ones ended up on
the off-channel in some cases.

The reason for that is that during the refactoring of the off-
channel code, I lost the part that stopped all activity and as
a consequence the on-channel frames (including data frames)
were no longer queued but would be transmitted on the temporary
channel.

Fix this by simply restoring the lost activity stop call.

Fixes: 2eb278e083549 ("mac80211: unify SW/offload remain-on-channel")
Reported-by: Jouni Malinen &lt;j@w1.fi&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: fix suspend vs. authentication race</title>
<updated>2014-05-15T07:56:04+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2014-03-19T08:55:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=db6ffa5384e83dd4b8a3c0e8a0f7979d8730ca77'/>
<id>db6ffa5384e83dd4b8a3c0e8a0f7979d8730ca77</id>
<content type='text'>
commit 1a1cb744de160ee70086a77afff605bbc275d291 upstream.

Since Stanislaw's patch removing the quiescing code, mac80211 had
a race regarding suspend vs. authentication: as cfg80211 doesn't
track authentication attempts, it can't abort them. Therefore the
attempts may be kept running while suspending, which can lead to
all kinds of issues, in at least some cases causing an error in
iwlmvm firmware.

Fix this by aborting the authentication attempt when suspending.

Fixes: 12e7f517029d ("mac80211: cleanup generic suspend/resume procedures")
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 1a1cb744de160ee70086a77afff605bbc275d291 upstream.

Since Stanislaw's patch removing the quiescing code, mac80211 had
a race regarding suspend vs. authentication: as cfg80211 doesn't
track authentication attempts, it can't abort them. Therefore the
attempts may be kept running while suspending, which can lead to
all kinds of issues, in at least some cases causing an error in
iwlmvm firmware.

Fix this by aborting the authentication attempt when suspending.

Fixes: 12e7f517029d ("mac80211: cleanup generic suspend/resume procedures")
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: fix WPA with VLAN on AP side with ps-sta again</title>
<updated>2014-05-15T07:56:03+00:00</updated>
<author>
<name>Michael Braun</name>
<email>michael-dev@fami-braun.de</email>
</author>
<published>2014-03-06T14:08:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=4fa516c800c27a7b3a26817e033eff674a016f54'/>
<id>4fa516c800c27a7b3a26817e033eff674a016f54</id>
<content type='text'>
commit 112c44b2df0984121a52fbda89425843b8e1a457 upstream.

commit de74a1d9032f4d37ea453ad2a647e1aff4cd2591
  "mac80211: fix WPA with VLAN on AP side with ps-sta"
fixed an issue where queued multicast packets would
be sent out encrypted with the key of an other bss.

commit "7cbf9d017dbb5e3276de7d527925d42d4c11e732"
  "mac80211: fix oops on mesh PS broadcast forwarding"
essentially reverted it, because vif.type cannot be AP_VLAN
due to the check to vif.type in ieee80211_get_buffered_bc before.

As the later commit intended to fix the MESH case, fix it
by checking for IFTYPE_AP instead of IFTYPE_AP_VLAN.

Fixes: 7cbf9d017dbb ("mac80211: fix oops on mesh PS broadcast forwarding")
Signed-off-by: Michael Braun &lt;michael-dev@fami-braun.de&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 112c44b2df0984121a52fbda89425843b8e1a457 upstream.

commit de74a1d9032f4d37ea453ad2a647e1aff4cd2591
  "mac80211: fix WPA with VLAN on AP side with ps-sta"
fixed an issue where queued multicast packets would
be sent out encrypted with the key of an other bss.

commit "7cbf9d017dbb5e3276de7d527925d42d4c11e732"
  "mac80211: fix oops on mesh PS broadcast forwarding"
essentially reverted it, because vif.type cannot be AP_VLAN
due to the check to vif.type in ieee80211_get_buffered_bc before.

As the later commit intended to fix the MESH case, fix it
by checking for IFTYPE_AP instead of IFTYPE_AP_VLAN.

Fixes: 7cbf9d017dbb ("mac80211: fix oops on mesh PS broadcast forwarding")
Signed-off-by: Michael Braun &lt;michael-dev@fami-braun.de&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: fix potential use-after-free</title>
<updated>2014-05-15T07:56:03+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2014-03-04T10:43:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=243677b1125ce3f460e45d887127072c6d323579'/>
<id>243677b1125ce3f460e45d887127072c6d323579</id>
<content type='text'>
commit d2722f8b87fb172ff2f31d3a2816b31d58678d40 upstream.

The bss struct might be freed in ieee80211_rx_bss_put(),
so we shouldn't use it afterwards.

Fixes: 817cee7675237 ("mac80211: track AP's beacon rate and give it to the driver")
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit d2722f8b87fb172ff2f31d3a2816b31d58678d40 upstream.

The bss struct might be freed in ieee80211_rx_bss_put(),
so we shouldn't use it afterwards.

Fixes: 817cee7675237 ("mac80211: track AP's beacon rate and give it to the driver")
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfsd: check passed socket's net matches NFSd superblock's one</title>
<updated>2014-05-15T07:55:08+00:00</updated>
<author>
<name>Stanislav Kinsbursky</name>
<email>skinsbursky@parallels.com</email>
</author>
<published>2014-02-26T13:50:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=3324f3094e69688fe73c23433a8151d0128df6fa'/>
<id>3324f3094e69688fe73c23433a8151d0128df6fa</id>
<content type='text'>
commit 3064639423c48d6e0eb9ecc27c512a58e38c6c57 upstream.

There could be a case, when NFSd file system is mounted in network, different
to socket's one, like below:

"ip netns exec" creates new network and mount namespace, which duplicates NFSd
mount point, created in init_net context. And thus NFS server stop in nested
network context leads to RPCBIND client destruction in init_net.
Then, on NFSd start in nested network context, rpc.nfsd process creates socket
in nested net and passes it into "write_ports", which leads to RPCBIND sockets
creation in init_net context because of the same reason (NFSd monut point was
created in init_net context). An attempt to register passed socket in nested
net leads to panic, because no RPCBIND client present in nexted network
namespace.

This patch add check that passed socket's net matches NFSd superblock's one.
And returns -EINVAL error to user psace otherwise.

v2: Put socket on exit.

Reported-by: Weng Meiling &lt;wengmeiling.weng@huawei.com&gt;
Signed-off-by: Stanislav Kinsbursky &lt;skinsbursky@parallels.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 3064639423c48d6e0eb9ecc27c512a58e38c6c57 upstream.

There could be a case, when NFSd file system is mounted in network, different
to socket's one, like below:

"ip netns exec" creates new network and mount namespace, which duplicates NFSd
mount point, created in init_net context. And thus NFS server stop in nested
network context leads to RPCBIND client destruction in init_net.
Then, on NFSd start in nested network context, rpc.nfsd process creates socket
in nested net and passes it into "write_ports", which leads to RPCBIND sockets
creation in init_net context because of the same reason (NFSd monut point was
created in init_net context). An attempt to register passed socket in nested
net leads to panic, because no RPCBIND client present in nexted network
namespace.

This patch add check that passed socket's net matches NFSd superblock's one.
And returns -EINVAL error to user psace otherwise.

v2: Put socket on exit.

Reported-by: Weng Meiling &lt;wengmeiling.weng@huawei.com&gt;
Signed-off-by: Stanislav Kinsbursky &lt;skinsbursky@parallels.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Fix removing Long Term Key</title>
<updated>2014-05-05T12:24:39+00:00</updated>
<author>
<name>Claudio Takahasi</name>
<email>claudio.takahasi@openbossa.org</email>
</author>
<published>2013-07-25T19:34:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=626d6cde21ad38e531efeb37f3ae81920e8c9a2f'/>
<id>626d6cde21ad38e531efeb37f3ae81920e8c9a2f</id>
<content type='text'>
commit 5981a8821b774ada0be512fd9bad7c241e17657e upstream.

This patch fixes authentication failure on LE link re-connection when
BlueZ acts as slave (peripheral). LTK is removed from the internal list
after its first use causing PIN or Key missing reply when re-connecting
the link. The LE Long Term Key Request event indicates that the master
is attempting to encrypt or re-encrypt the link.

Pre-condition: BlueZ host paired and running as slave.
How to reproduce(master):

  1) Establish an ACL LE encrypted link
  2) Disconnect the link
  3) Try to re-establish the ACL LE encrypted link (fails)

&gt; HCI Event: LE Meta Event (0x3e) plen 19
      LE Connection Complete (0x01)
        Status: Success (0x00)
        Handle: 64
        Role: Slave (0x01)
...
@ Device Connected: 00:02:72:DC:29:C9 (1) flags 0x0000
&gt; HCI Event: LE Meta Event (0x3e) plen 13
      LE Long Term Key Request (0x05)
        Handle: 64
        Random number: 875be18439d9aa37
        Encryption diversifier: 0x76ed
&lt; HCI Command: LE Long Term Key Request Reply (0x08|0x001a) plen 18
        Handle: 64
        Long term key: 2aa531db2fce9f00a0569c7d23d17409
&gt; HCI Event: Command Complete (0x0e) plen 6
      LE Long Term Key Request Reply (0x08|0x001a) ncmd 1
        Status: Success (0x00)
        Handle: 64
&gt; HCI Event: Encryption Change (0x08) plen 4
        Status: Success (0x00)
        Handle: 64
        Encryption: Enabled with AES-CCM (0x01)
...
@ Device Disconnected: 00:02:72:DC:29:C9 (1) reason 3
&lt; HCI Command: LE Set Advertise Enable (0x08|0x000a) plen 1
        Advertising: Enabled (0x01)
&gt; HCI Event: Command Complete (0x0e) plen 4
      LE Set Advertise Enable (0x08|0x000a) ncmd 1
        Status: Success (0x00)
&gt; HCI Event: LE Meta Event (0x3e) plen 19
      LE Connection Complete (0x01)
        Status: Success (0x00)
        Handle: 64
        Role: Slave (0x01)
...
@ Device Connected: 00:02:72:DC:29:C9 (1) flags 0x0000
&gt; HCI Event: LE Meta Event (0x3e) plen 13
      LE Long Term Key Request (0x05)
        Handle: 64
        Random number: 875be18439d9aa37
        Encryption diversifier: 0x76ed
&lt; HCI Command: LE Long Term Key Request Neg Reply (0x08|0x001b) plen 2
        Handle: 64
&gt; HCI Event: Command Complete (0x0e) plen 6
      LE Long Term Key Request Neg Reply (0x08|0x001b) ncmd 1
        Status: Success (0x00)
        Handle: 64
&gt; HCI Event: Disconnect Complete (0x05) plen 4
        Status: Success (0x00)
        Handle: 64
        Reason: Authentication Failure (0x05)
@ Device Disconnected: 00:02:72:DC:29:C9 (1) reason 0

Signed-off-by: Claudio Takahasi &lt;claudio.takahasi@openbossa.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 5981a8821b774ada0be512fd9bad7c241e17657e upstream.

This patch fixes authentication failure on LE link re-connection when
BlueZ acts as slave (peripheral). LTK is removed from the internal list
after its first use causing PIN or Key missing reply when re-connecting
the link. The LE Long Term Key Request event indicates that the master
is attempting to encrypt or re-encrypt the link.

Pre-condition: BlueZ host paired and running as slave.
How to reproduce(master):

  1) Establish an ACL LE encrypted link
  2) Disconnect the link
  3) Try to re-establish the ACL LE encrypted link (fails)

&gt; HCI Event: LE Meta Event (0x3e) plen 19
      LE Connection Complete (0x01)
        Status: Success (0x00)
        Handle: 64
        Role: Slave (0x01)
...
@ Device Connected: 00:02:72:DC:29:C9 (1) flags 0x0000
&gt; HCI Event: LE Meta Event (0x3e) plen 13
      LE Long Term Key Request (0x05)
        Handle: 64
        Random number: 875be18439d9aa37
        Encryption diversifier: 0x76ed
&lt; HCI Command: LE Long Term Key Request Reply (0x08|0x001a) plen 18
        Handle: 64
        Long term key: 2aa531db2fce9f00a0569c7d23d17409
&gt; HCI Event: Command Complete (0x0e) plen 6
      LE Long Term Key Request Reply (0x08|0x001a) ncmd 1
        Status: Success (0x00)
        Handle: 64
&gt; HCI Event: Encryption Change (0x08) plen 4
        Status: Success (0x00)
        Handle: 64
        Encryption: Enabled with AES-CCM (0x01)
...
@ Device Disconnected: 00:02:72:DC:29:C9 (1) reason 3
&lt; HCI Command: LE Set Advertise Enable (0x08|0x000a) plen 1
        Advertising: Enabled (0x01)
&gt; HCI Event: Command Complete (0x0e) plen 4
      LE Set Advertise Enable (0x08|0x000a) ncmd 1
        Status: Success (0x00)
&gt; HCI Event: LE Meta Event (0x3e) plen 19
      LE Connection Complete (0x01)
        Status: Success (0x00)
        Handle: 64
        Role: Slave (0x01)
...
@ Device Connected: 00:02:72:DC:29:C9 (1) flags 0x0000
&gt; HCI Event: LE Meta Event (0x3e) plen 13
      LE Long Term Key Request (0x05)
        Handle: 64
        Random number: 875be18439d9aa37
        Encryption diversifier: 0x76ed
&lt; HCI Command: LE Long Term Key Request Neg Reply (0x08|0x001b) plen 2
        Handle: 64
&gt; HCI Event: Command Complete (0x0e) plen 6
      LE Long Term Key Request Neg Reply (0x08|0x001b) ncmd 1
        Status: Success (0x00)
        Handle: 64
&gt; HCI Event: Disconnect Complete (0x05) plen 4
        Status: Success (0x00)
        Handle: 64
        Reason: Authentication Failure (0x05)
@ Device Disconnected: 00:02:72:DC:29:C9 (1) reason 0

Signed-off-by: Claudio Takahasi &lt;claudio.takahasi@openbossa.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: ipv4: current group_info should be put after using.</title>
<updated>2014-05-05T11:39:42+00:00</updated>
<author>
<name>Wang, Xiaoming</name>
<email>xiaoming.wang@intel.com</email>
</author>
<published>2014-04-14T16:30:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=95c3a5624ae783081cc9d9b0e3d24ea19b36590e'/>
<id>95c3a5624ae783081cc9d9b0e3d24ea19b36590e</id>
<content type='text'>
commit b04c46190219a4f845e46a459e3102137b7f6cac upstream.

Plug a group_info refcount leak in ping_init.
group_info is only needed during initialization and
the code failed to release the reference on exit.
While here move grabbing the reference to a place
where it is actually needed.

Signed-off-by: Chuansheng Liu &lt;chuansheng.liu@intel.com&gt;
Signed-off-by: Zhang Dongxing &lt;dongxing.zhang@intel.com&gt;
Signed-off-by: xiaoming wang &lt;xiaoming.wang@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit b04c46190219a4f845e46a459e3102137b7f6cac upstream.

Plug a group_info refcount leak in ping_init.
group_info is only needed during initialization and
the code failed to release the reference on exit.
While here move grabbing the reference to a place
where it is actually needed.

Signed-off-by: Chuansheng Liu &lt;chuansheng.liu@intel.com&gt;
Signed-off-by: Zhang Dongxing &lt;dongxing.zhang@intel.com&gt;
Signed-off-by: xiaoming wang &lt;xiaoming.wang@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>openvswitch: fix vport-netdev unregister</title>
<updated>2014-04-25T16:06:20+00:00</updated>
<author>
<name>Alexei Starovoitov</name>
<email>ast@plumgrid.com</email>
</author>
<published>2013-10-15T21:54:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7d4f4737432af6216e86975e587331b9d8b08063'/>
<id>7d4f4737432af6216e86975e587331b9d8b08063</id>
<content type='text'>
commit b07c26511e94ab856f3700c56d582c0da36d5b4d upstream.

The combination of two commits:
commit 8e4e1713e4
("openvswitch: Simplify datapath locking.")
commit 2537b4dd0a
("openvswitch:: link upper device for port devices")

introduced a bug where upper_dev wasn't unlinked upon
netdev_unregister notification

The following steps:

  modprobe openvswitch
  ovs-dpctl add-dp test
  ip tuntap add dev tap1 mode tap
  ovs-dpctl add-if test tap1
  ip tuntap del dev tap1 mode tap

are causing multiple warnings:

[   62.747557] gre: GRE over IPv4 demultiplexor driver
[   62.749579] openvswitch: Open vSwitch switching datapath
[   62.755087] device test entered promiscuous mode
[   62.765911] device tap1 entered promiscuous mode
[   62.766033] IPv6: ADDRCONF(NETDEV_UP): tap1: link is not ready
[   62.769017] ------------[ cut here ]------------
[   62.769022] WARNING: CPU: 1 PID: 3267 at net/core/dev.c:5501 rollback_registered_many+0x20f/0x240()
[   62.769023] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video
[   62.769051] CPU: 1 PID: 3267 Comm: ip Not tainted 3.12.0-rc3+ #60
[   62.769052] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012
[   62.769053]  0000000000000009 ffff8807f25cbd28 ffffffff8175e575 0000000000000006
[   62.769055]  0000000000000000 ffff8807f25cbd68 ffffffff8105314c ffff8807f25cbd58
[   62.769057]  ffff8807f2634000 ffff8807f25cbdc8 ffff8807f25cbd88 ffff8807f25cbdc8
[   62.769059] Call Trace:
[   62.769062]  [&lt;ffffffff8175e575&gt;] dump_stack+0x55/0x76
[   62.769065]  [&lt;ffffffff8105314c&gt;] warn_slowpath_common+0x8c/0xc0
[   62.769067]  [&lt;ffffffff8105319a&gt;] warn_slowpath_null+0x1a/0x20
[   62.769069]  [&lt;ffffffff8162a04f&gt;] rollback_registered_many+0x20f/0x240
[   62.769071]  [&lt;ffffffff8162a101&gt;] rollback_registered+0x31/0x40
[   62.769073]  [&lt;ffffffff8162a488&gt;] unregister_netdevice_queue+0x58/0x90
[   62.769075]  [&lt;ffffffff8154f900&gt;] __tun_detach+0x140/0x340
[   62.769077]  [&lt;ffffffff8154fb36&gt;] tun_chr_close+0x36/0x60
[   62.769080]  [&lt;ffffffff811bddaf&gt;] __fput+0xff/0x260
[   62.769082]  [&lt;ffffffff811bdf5e&gt;] ____fput+0xe/0x10
[   62.769084]  [&lt;ffffffff8107b515&gt;] task_work_run+0xb5/0xe0
[   62.769087]  [&lt;ffffffff810029b9&gt;] do_notify_resume+0x59/0x80
[   62.769089]  [&lt;ffffffff813a41fe&gt;] ? trace_hardirqs_on_thunk+0x3a/0x3f
[   62.769091]  [&lt;ffffffff81770f5a&gt;] int_signal+0x12/0x17
[   62.769093] ---[ end trace 838756c62e156ffb ]---
[   62.769481] ------------[ cut here ]------------
[   62.769485] WARNING: CPU: 1 PID: 92 at fs/sysfs/inode.c:325 sysfs_hash_and_remove+0xa9/0xb0()
[   62.769486] sysfs: can not remove 'master', no directory
[   62.769486] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video
[   62.769514] CPU: 1 PID: 92 Comm: kworker/1:2 Tainted: G        W    3.12.0-rc3+ #60
[   62.769515] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012
[   62.769518] Workqueue: events ovs_dp_notify_wq [openvswitch]
[   62.769519]  0000000000000009 ffff880807ad3ac8 ffffffff8175e575 0000000000000006
[   62.769521]  ffff880807ad3b18 ffff880807ad3b08 ffffffff8105314c ffff880807ad3b28
[   62.769523]  0000000000000000 ffffffff81a87a1f ffff8807f2634000 ffff880037038500
[   62.769525] Call Trace:
[   62.769528]  [&lt;ffffffff8175e575&gt;] dump_stack+0x55/0x76
[   62.769529]  [&lt;ffffffff8105314c&gt;] warn_slowpath_common+0x8c/0xc0
[   62.769531]  [&lt;ffffffff81053236&gt;] warn_slowpath_fmt+0x46/0x50
[   62.769533]  [&lt;ffffffff8123e7e9&gt;] sysfs_hash_and_remove+0xa9/0xb0
[   62.769535]  [&lt;ffffffff81240e96&gt;] sysfs_remove_link+0x26/0x30
[   62.769538]  [&lt;ffffffff81631ef7&gt;] __netdev_adjacent_dev_remove+0xf7/0x150
[   62.769540]  [&lt;ffffffff81632037&gt;] __netdev_adjacent_dev_unlink_lists+0x27/0x50
[   62.769542]  [&lt;ffffffff8163213a&gt;] __netdev_adjacent_dev_unlink_neighbour+0x3a/0x50
[   62.769544]  [&lt;ffffffff8163218d&gt;] netdev_upper_dev_unlink+0x3d/0x140
[   62.769548]  [&lt;ffffffffa033c2db&gt;] netdev_destroy+0x4b/0x80 [openvswitch]
[   62.769550]  [&lt;ffffffffa033b696&gt;] ovs_vport_del+0x46/0x60 [openvswitch]
[   62.769552]  [&lt;ffffffffa0335314&gt;] ovs_dp_detach_port+0x44/0x60 [openvswitch]
[   62.769555]  [&lt;ffffffffa0336574&gt;] ovs_dp_notify_wq+0xb4/0x150 [openvswitch]
[   62.769557]  [&lt;ffffffff81075c28&gt;] process_one_work+0x1d8/0x6a0
[   62.769559]  [&lt;ffffffff81075bc8&gt;] ? process_one_work+0x178/0x6a0
[   62.769562]  [&lt;ffffffff8107659b&gt;] worker_thread+0x11b/0x370
[   62.769564]  [&lt;ffffffff81076480&gt;] ? rescuer_thread+0x350/0x350
[   62.769566]  [&lt;ffffffff8107f44a&gt;] kthread+0xea/0xf0
[   62.769568]  [&lt;ffffffff8107f360&gt;] ? flush_kthread_worker+0x150/0x150
[   62.769570]  [&lt;ffffffff81770bac&gt;] ret_from_fork+0x7c/0xb0
[   62.769572]  [&lt;ffffffff8107f360&gt;] ? flush_kthread_worker+0x150/0x150
[   62.769573] ---[ end trace 838756c62e156ffc ]---
[   62.769574] ------------[ cut here ]------------
[   62.769576] WARNING: CPU: 1 PID: 92 at fs/sysfs/inode.c:325 sysfs_hash_and_remove+0xa9/0xb0()
[   62.769577] sysfs: can not remove 'upper_test', no directory
[   62.769577] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video
[   62.769603] CPU: 1 PID: 92 Comm: kworker/1:2 Tainted: G        W    3.12.0-rc3+ #60
[   62.769604] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012
[   62.769606] Workqueue: events ovs_dp_notify_wq [openvswitch]
[   62.769607]  0000000000000009 ffff880807ad3ac8 ffffffff8175e575 0000000000000006
[   62.769609]  ffff880807ad3b18 ffff880807ad3b08 ffffffff8105314c ffff880807ad3b58
[   62.769611]  0000000000000000 ffff880807ad3bd9 ffff8807f2634000 ffff880037038500
[   62.769613] Call Trace:
[   62.769615]  [&lt;ffffffff8175e575&gt;] dump_stack+0x55/0x76
[   62.769617]  [&lt;ffffffff8105314c&gt;] warn_slowpath_common+0x8c/0xc0
[   62.769619]  [&lt;ffffffff81053236&gt;] warn_slowpath_fmt+0x46/0x50
[   62.769621]  [&lt;ffffffff8123e7e9&gt;] sysfs_hash_and_remove+0xa9/0xb0
[   62.769622]  [&lt;ffffffff81240e96&gt;] sysfs_remove_link+0x26/0x30
[   62.769624]  [&lt;ffffffff81631f22&gt;] __netdev_adjacent_dev_remove+0x122/0x150
[   62.769627]  [&lt;ffffffff81632037&gt;] __netdev_adjacent_dev_unlink_lists+0x27/0x50
[   62.769629]  [&lt;ffffffff8163213a&gt;] __netdev_adjacent_dev_unlink_neighbour+0x3a/0x50
[   62.769631]  [&lt;ffffffff8163218d&gt;] netdev_upper_dev_unlink+0x3d/0x140
[   62.769633]  [&lt;ffffffffa033c2db&gt;] netdev_destroy+0x4b/0x80 [openvswitch]
[   62.769636]  [&lt;ffffffffa033b696&gt;] ovs_vport_del+0x46/0x60 [openvswitch]
[   62.769638]  [&lt;ffffffffa0335314&gt;] ovs_dp_detach_port+0x44/0x60 [openvswitch]
[   62.769640]  [&lt;ffffffffa0336574&gt;] ovs_dp_notify_wq+0xb4/0x150 [openvswitch]
[   62.769642]  [&lt;ffffffff81075c28&gt;] process_one_work+0x1d8/0x6a0
[   62.769644]  [&lt;ffffffff81075bc8&gt;] ? process_one_work+0x178/0x6a0
[   62.769646]  [&lt;ffffffff8107659b&gt;] worker_thread+0x11b/0x370
[   62.769648]  [&lt;ffffffff81076480&gt;] ? rescuer_thread+0x350/0x350
[   62.769650]  [&lt;ffffffff8107f44a&gt;] kthread+0xea/0xf0
[   62.769652]  [&lt;ffffffff8107f360&gt;] ? flush_kthread_worker+0x150/0x150
[   62.769654]  [&lt;ffffffff81770bac&gt;] ret_from_fork+0x7c/0xb0
[   62.769656]  [&lt;ffffffff8107f360&gt;] ? flush_kthread_worker+0x150/0x150
[   62.769657] ---[ end trace 838756c62e156ffd ]---
[   62.769724] device tap1 left promiscuous mode

This patch also affects moving devices between net namespaces.

OVS used to ignore netns move notifications which caused problems.
Like:
  ovs-dpctl add-if test tap1
  ip link set tap1 netns 3512
and then removing tap1 inside the namespace will cause hang on missing dev_put.

With this patch OVS will detach dev upon receiving netns move event.

Signed-off-by: Alexei Starovoitov &lt;ast@plumgrid.com&gt;
Signed-off-by: Jesse Gross &lt;jesse@nicira.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit b07c26511e94ab856f3700c56d582c0da36d5b4d upstream.

The combination of two commits:
commit 8e4e1713e4
("openvswitch: Simplify datapath locking.")
commit 2537b4dd0a
("openvswitch:: link upper device for port devices")

introduced a bug where upper_dev wasn't unlinked upon
netdev_unregister notification

The following steps:

  modprobe openvswitch
  ovs-dpctl add-dp test
  ip tuntap add dev tap1 mode tap
  ovs-dpctl add-if test tap1
  ip tuntap del dev tap1 mode tap

are causing multiple warnings:

[   62.747557] gre: GRE over IPv4 demultiplexor driver
[   62.749579] openvswitch: Open vSwitch switching datapath
[   62.755087] device test entered promiscuous mode
[   62.765911] device tap1 entered promiscuous mode
[   62.766033] IPv6: ADDRCONF(NETDEV_UP): tap1: link is not ready
[   62.769017] ------------[ cut here ]------------
[   62.769022] WARNING: CPU: 1 PID: 3267 at net/core/dev.c:5501 rollback_registered_many+0x20f/0x240()
[   62.769023] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video
[   62.769051] CPU: 1 PID: 3267 Comm: ip Not tainted 3.12.0-rc3+ #60
[   62.769052] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012
[   62.769053]  0000000000000009 ffff8807f25cbd28 ffffffff8175e575 0000000000000006
[   62.769055]  0000000000000000 ffff8807f25cbd68 ffffffff8105314c ffff8807f25cbd58
[   62.769057]  ffff8807f2634000 ffff8807f25cbdc8 ffff8807f25cbd88 ffff8807f25cbdc8
[   62.769059] Call Trace:
[   62.769062]  [&lt;ffffffff8175e575&gt;] dump_stack+0x55/0x76
[   62.769065]  [&lt;ffffffff8105314c&gt;] warn_slowpath_common+0x8c/0xc0
[   62.769067]  [&lt;ffffffff8105319a&gt;] warn_slowpath_null+0x1a/0x20
[   62.769069]  [&lt;ffffffff8162a04f&gt;] rollback_registered_many+0x20f/0x240
[   62.769071]  [&lt;ffffffff8162a101&gt;] rollback_registered+0x31/0x40
[   62.769073]  [&lt;ffffffff8162a488&gt;] unregister_netdevice_queue+0x58/0x90
[   62.769075]  [&lt;ffffffff8154f900&gt;] __tun_detach+0x140/0x340
[   62.769077]  [&lt;ffffffff8154fb36&gt;] tun_chr_close+0x36/0x60
[   62.769080]  [&lt;ffffffff811bddaf&gt;] __fput+0xff/0x260
[   62.769082]  [&lt;ffffffff811bdf5e&gt;] ____fput+0xe/0x10
[   62.769084]  [&lt;ffffffff8107b515&gt;] task_work_run+0xb5/0xe0
[   62.769087]  [&lt;ffffffff810029b9&gt;] do_notify_resume+0x59/0x80
[   62.769089]  [&lt;ffffffff813a41fe&gt;] ? trace_hardirqs_on_thunk+0x3a/0x3f
[   62.769091]  [&lt;ffffffff81770f5a&gt;] int_signal+0x12/0x17
[   62.769093] ---[ end trace 838756c62e156ffb ]---
[   62.769481] ------------[ cut here ]------------
[   62.769485] WARNING: CPU: 1 PID: 92 at fs/sysfs/inode.c:325 sysfs_hash_and_remove+0xa9/0xb0()
[   62.769486] sysfs: can not remove 'master', no directory
[   62.769486] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video
[   62.769514] CPU: 1 PID: 92 Comm: kworker/1:2 Tainted: G        W    3.12.0-rc3+ #60
[   62.769515] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012
[   62.769518] Workqueue: events ovs_dp_notify_wq [openvswitch]
[   62.769519]  0000000000000009 ffff880807ad3ac8 ffffffff8175e575 0000000000000006
[   62.769521]  ffff880807ad3b18 ffff880807ad3b08 ffffffff8105314c ffff880807ad3b28
[   62.769523]  0000000000000000 ffffffff81a87a1f ffff8807f2634000 ffff880037038500
[   62.769525] Call Trace:
[   62.769528]  [&lt;ffffffff8175e575&gt;] dump_stack+0x55/0x76
[   62.769529]  [&lt;ffffffff8105314c&gt;] warn_slowpath_common+0x8c/0xc0
[   62.769531]  [&lt;ffffffff81053236&gt;] warn_slowpath_fmt+0x46/0x50
[   62.769533]  [&lt;ffffffff8123e7e9&gt;] sysfs_hash_and_remove+0xa9/0xb0
[   62.769535]  [&lt;ffffffff81240e96&gt;] sysfs_remove_link+0x26/0x30
[   62.769538]  [&lt;ffffffff81631ef7&gt;] __netdev_adjacent_dev_remove+0xf7/0x150
[   62.769540]  [&lt;ffffffff81632037&gt;] __netdev_adjacent_dev_unlink_lists+0x27/0x50
[   62.769542]  [&lt;ffffffff8163213a&gt;] __netdev_adjacent_dev_unlink_neighbour+0x3a/0x50
[   62.769544]  [&lt;ffffffff8163218d&gt;] netdev_upper_dev_unlink+0x3d/0x140
[   62.769548]  [&lt;ffffffffa033c2db&gt;] netdev_destroy+0x4b/0x80 [openvswitch]
[   62.769550]  [&lt;ffffffffa033b696&gt;] ovs_vport_del+0x46/0x60 [openvswitch]
[   62.769552]  [&lt;ffffffffa0335314&gt;] ovs_dp_detach_port+0x44/0x60 [openvswitch]
[   62.769555]  [&lt;ffffffffa0336574&gt;] ovs_dp_notify_wq+0xb4/0x150 [openvswitch]
[   62.769557]  [&lt;ffffffff81075c28&gt;] process_one_work+0x1d8/0x6a0
[   62.769559]  [&lt;ffffffff81075bc8&gt;] ? process_one_work+0x178/0x6a0
[   62.769562]  [&lt;ffffffff8107659b&gt;] worker_thread+0x11b/0x370
[   62.769564]  [&lt;ffffffff81076480&gt;] ? rescuer_thread+0x350/0x350
[   62.769566]  [&lt;ffffffff8107f44a&gt;] kthread+0xea/0xf0
[   62.769568]  [&lt;ffffffff8107f360&gt;] ? flush_kthread_worker+0x150/0x150
[   62.769570]  [&lt;ffffffff81770bac&gt;] ret_from_fork+0x7c/0xb0
[   62.769572]  [&lt;ffffffff8107f360&gt;] ? flush_kthread_worker+0x150/0x150
[   62.769573] ---[ end trace 838756c62e156ffc ]---
[   62.769574] ------------[ cut here ]------------
[   62.769576] WARNING: CPU: 1 PID: 92 at fs/sysfs/inode.c:325 sysfs_hash_and_remove+0xa9/0xb0()
[   62.769577] sysfs: can not remove 'upper_test', no directory
[   62.769577] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video
[   62.769603] CPU: 1 PID: 92 Comm: kworker/1:2 Tainted: G        W    3.12.0-rc3+ #60
[   62.769604] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012
[   62.769606] Workqueue: events ovs_dp_notify_wq [openvswitch]
[   62.769607]  0000000000000009 ffff880807ad3ac8 ffffffff8175e575 0000000000000006
[   62.769609]  ffff880807ad3b18 ffff880807ad3b08 ffffffff8105314c ffff880807ad3b58
[   62.769611]  0000000000000000 ffff880807ad3bd9 ffff8807f2634000 ffff880037038500
[   62.769613] Call Trace:
[   62.769615]  [&lt;ffffffff8175e575&gt;] dump_stack+0x55/0x76
[   62.769617]  [&lt;ffffffff8105314c&gt;] warn_slowpath_common+0x8c/0xc0
[   62.769619]  [&lt;ffffffff81053236&gt;] warn_slowpath_fmt+0x46/0x50
[   62.769621]  [&lt;ffffffff8123e7e9&gt;] sysfs_hash_and_remove+0xa9/0xb0
[   62.769622]  [&lt;ffffffff81240e96&gt;] sysfs_remove_link+0x26/0x30
[   62.769624]  [&lt;ffffffff81631f22&gt;] __netdev_adjacent_dev_remove+0x122/0x150
[   62.769627]  [&lt;ffffffff81632037&gt;] __netdev_adjacent_dev_unlink_lists+0x27/0x50
[   62.769629]  [&lt;ffffffff8163213a&gt;] __netdev_adjacent_dev_unlink_neighbour+0x3a/0x50
[   62.769631]  [&lt;ffffffff8163218d&gt;] netdev_upper_dev_unlink+0x3d/0x140
[   62.769633]  [&lt;ffffffffa033c2db&gt;] netdev_destroy+0x4b/0x80 [openvswitch]
[   62.769636]  [&lt;ffffffffa033b696&gt;] ovs_vport_del+0x46/0x60 [openvswitch]
[   62.769638]  [&lt;ffffffffa0335314&gt;] ovs_dp_detach_port+0x44/0x60 [openvswitch]
[   62.769640]  [&lt;ffffffffa0336574&gt;] ovs_dp_notify_wq+0xb4/0x150 [openvswitch]
[   62.769642]  [&lt;ffffffff81075c28&gt;] process_one_work+0x1d8/0x6a0
[   62.769644]  [&lt;ffffffff81075bc8&gt;] ? process_one_work+0x178/0x6a0
[   62.769646]  [&lt;ffffffff8107659b&gt;] worker_thread+0x11b/0x370
[   62.769648]  [&lt;ffffffff81076480&gt;] ? rescuer_thread+0x350/0x350
[   62.769650]  [&lt;ffffffff8107f44a&gt;] kthread+0xea/0xf0
[   62.769652]  [&lt;ffffffff8107f360&gt;] ? flush_kthread_worker+0x150/0x150
[   62.769654]  [&lt;ffffffff81770bac&gt;] ret_from_fork+0x7c/0xb0
[   62.769656]  [&lt;ffffffff8107f360&gt;] ? flush_kthread_worker+0x150/0x150
[   62.769657] ---[ end trace 838756c62e156ffd ]---
[   62.769724] device tap1 left promiscuous mode

This patch also affects moving devices between net namespaces.

OVS used to ignore netns move notifications which caused problems.
Like:
  ovs-dpctl add-if test tap1
  ip link set tap1 netns 3512
and then removing tap1 inside the namespace will cause hang on missing dev_put.

With this patch OVS will detach dev upon receiving netns move event.

Signed-off-by: Alexei Starovoitov &lt;ast@plumgrid.com&gt;
Signed-off-by: Jesse Gross &lt;jesse@nicira.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rds: prevent dereference of a NULL device in rds_iw_laddr_check</title>
<updated>2014-04-18T09:07:19+00:00</updated>
<author>
<name>Sasha Levin</name>
<email>sasha.levin@oracle.com</email>
</author>
<published>2014-03-30T00:39:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=64005923ffdefe53e87138ec472c88877196d405'/>
<id>64005923ffdefe53e87138ec472c88877196d405</id>
<content type='text'>
[ Upstream commit bf39b4247b8799935ea91d90db250ab608a58e50 ]

Binding might result in a NULL device which is later dereferenced
without checking.

Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit bf39b4247b8799935ea91d90db250ab608a58e50 ]

Binding might result in a NULL device which is later dereferenced
without checking.

Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
</feed>
