tuntap: refuse to re-attach to different tun_struct
authorStefan Hajnoczi <stefanha@redhat.com>
Wed, 9 Jan 2013 21:59:48 +0000 (21:59 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 10 Jan 2013 22:24:10 +0000 (14:24 -0800)
commit6e331f4c83021e4de2a2fc4981574b5d5b16c425
treecc7e9eed80682c95c8a0446b6d92220703aa8c2a
parent21caa6622b36190a32b19dfa734822c2eb93e1fd
tuntap: refuse to re-attach to different tun_struct

Multiqueue tun devices support detaching a tun_file from its tun_struct
and re-attaching at a later point in time.  This allows users to disable
a specific queue temporarily.

ioctl(TUNSETIFF) allows the user to specify the network interface to
attach by name.  This means the user can attempt to attach to interface
"B" after detaching from interface "A".

The driver is not designed to support this so check we are re-attaching
to the right tun_struct.  Failure to do so may lead to oops.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tun.c