diff options
| author | David Howells | 2008-11-14 00:39:10 +0100 | 
|---|---|---|
| committer | James Morris | 2008-11-14 00:39:10 +0100 | 
| commit | 8192b0c482d7078fcdcb4854341b977426f6f09b (patch) | |
| tree | 6ab545ac9adff7fdc994c7b120b1c9d0915dd62e /net/core/dev.c | |
| parent | CRED: Wrap task credential accesses in the UNIX socket protocol (diff) | |
| download | kernel-qcow2-linux-8192b0c482d7078fcdcb4854341b977426f6f09b.tar.gz kernel-qcow2-linux-8192b0c482d7078fcdcb4854341b977426f6f09b.tar.xz kernel-qcow2-linux-8192b0c482d7078fcdcb4854341b977426f6f09b.zip | |
CRED: Wrap task credential accesses in the networking subsystem
Wrap access to task credentials so that they can be separated more easily from
the task_struct during the introduction of COW creds.
Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().
Change some task->e?[ug]id to task_e?[ug]id().  In some places it makes more
sense to use RCU directly rather than a convenient wrapper; these will be
addressed by later patches.
Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: James Morris <jmorris@namei.org>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Cc: netdev@vger.kernel.org
Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'net/core/dev.c')
| -rw-r--r-- | net/core/dev.c | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/net/core/dev.c b/net/core/dev.c index d9038e328cc1..262df226b3c9 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -2958,6 +2958,8 @@ static void dev_change_rx_flags(struct net_device *dev, int flags)  static int __dev_set_promiscuity(struct net_device *dev, int inc)  {  	unsigned short old_flags = dev->flags; +	uid_t uid; +	gid_t gid;  	ASSERT_RTNL(); @@ -2982,15 +2984,17 @@ static int __dev_set_promiscuity(struct net_device *dev, int inc)  		printk(KERN_INFO "device %s %s promiscuous mode\n",  		       dev->name, (dev->flags & IFF_PROMISC) ? "entered" :  							       "left"); -		if (audit_enabled) +		if (audit_enabled) { +			current_uid_gid(&uid, &gid);  			audit_log(current->audit_context, GFP_ATOMIC,  				AUDIT_ANOM_PROMISCUOUS,  				"dev=%s prom=%d old_prom=%d auid=%u uid=%u gid=%u ses=%u",  				dev->name, (dev->flags & IFF_PROMISC),  				(old_flags & IFF_PROMISC),  				audit_get_loginuid(current), -				current->uid, current->gid, +				uid, gid,  				audit_get_sessionid(current)); +		}  		dev_change_rx_flags(dev, IFF_PROMISC);  	} | 
