[RFC PATCH 0/2] Fix some multiqueue TUN problems

Paul Moore
2012-11-29T22:06:25Z

A relatively short patchset to fix some problems that have arisen from
the multiqueue TUN work. I'm sending this a RFC for now as it changes
the LSM TUN interfaces and therefore crosses a few boundaries,
e.g. SELinux, although it does so only in an effort to restore the
original behavior which was lost in the multiqueue conversion.

I'm not particularly enthused with the idea of passing a void** as a
parameter to security_tun_dev_alloc_security() but the alternatives
would be to move the tun_struct out of tun.c or have the LSM interface
return a pointer (which would require us to return a "fake" non-NULL
pointer when the LSM was disabled) ... neither of these seemed like good
alternatives to me.

I've compiled the code and booted it without drama, but I haven't really
stressed it too much so buyer beware at this point. Comments are always
welcome ...

---

Paul Moore (2):
tun: correctly report an error in tun_flow_init()
tun: fix LSM/SELinux labeling of tun/tap devices

drivers/net/tun.c | 16 ++++++++++----
include/linux/security.h | 37 ++++++++++++++++++++++-----------
security/capability.c | 14 +++++++++---
security/security.c | 22 ++++++++++++-------
security/selinux/hooks.c | 42 +++++++++++++++++++++++--------------
security/selinux/include/objsec.h | 4 ++++
6 files changed, 90 insertions(+), 45 deletions(-)