1
linux/include
David Woodhouse f85ba78068 tun: add IFF_TUN_EXCL flag to avoid opening a persistent device.
When creating a certain types of VPN, NetworkManager will first attempt
to find an available tun device by iterating through 'vpn%d' until it
finds one that isn't already busy. Then it'll set that to be persistent
and owned by the otherwise unprivileged user that the VPN dæmon itself
runs as.

There's a race condition here -- during the period where the vpn%d
device is created and we're waiting for the VPN dæmon to actually
connect and use it, if we try to create _another_ device we could end up
re-using the same one -- because trying to open it again doesn't get
-EBUSY as it would while it's _actually_ busy.

So solve this, we add an IFF_TUN_EXCL flag which causes tun_set_iff() to
fail if it would be opening an existing persistent tundevice -- so that
we can make sure we're getting an entirely _new_ device.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-04-27 03:23:54 -07:00
..
acpi Merge branches 'release', 'APERF', 'ARAT', 'misc', 'kelvin', 'device-lock' and 'bjorn.notify' into release 2009-04-07 18:18:42 -04:00
asm-arm
asm-generic percpu: unbreak alpha percpu 2009-04-10 21:36:18 +02:00
asm-h8300
asm-m32r Merge branch 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-04-05 11:04:19 -07:00
crypto
drm drm: remove unused "can_grow" parameter from drm_crtc_helper_initial_config 2009-04-03 10:21:44 +10:00
keys
linux tun: add IFF_TUN_EXCL flag to avoid opening a persistent device. 2009-04-27 03:23:54 -07:00
math-emu
media V4L/DVB (11381): ivtv/cx18: remove VIDIOC_INT_S_AUDIO_ROUTING debug support. 2009-04-06 21:44:28 -03:00
mtd
net snmp: add missing counters for RFC 4293 2009-04-27 02:45:02 -07:00
pcmcia
rdma
rxrpc
scsi PM/Hibernate: Wait for SCSI devices scan to complete during resume 2009-04-13 11:37:07 -07:00
sound
trace tracing/syscalls: use a dedicated file header 2009-04-09 05:43:32 +02:00
video tdfxfb: move I2C functionality into the tdfxfb 2009-04-07 08:31:08 -07:00
xen
Kbuild