summaryrefslogtreecommitdiff
path: root/net/socket.c
diff options
context:
space:
mode:
authorIan Wisbon <ian.wisbon@timesys.com>2011-02-10 17:15:15 -0500
committerIan Wisbon <ian.wisbon@timesys.com>2011-02-10 17:15:15 -0500
commita9d2ba1444b0af6c2d8534f0b306660ffc045bc6 (patch)
tree79b396bf70ae3795e6ee9a3b645e64f7e29474e7 /net/socket.c
parenteffff5718c380983788fe6c380671c18e15ac7c2 (diff)
Linux 2.6.31 Release for Digi ConnectCore Wi-i.MX boards2.6.31-digi-201102101717
Diffstat (limited to 'net/socket.c')
-rw-r--r--net/socket.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/net/socket.c b/net/socket.c
index 6d4716559047..f3cfd48191af 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -96,6 +96,10 @@
#include <net/sock.h>
#include <linux/netfilter.h>
+#ifdef CONFIG_UID_STAT
+#include <linux/uid_stat.h>
+#endif
+
static int sock_no_open(struct inode *irrelevant, struct file *dontcare);
static ssize_t sock_aio_read(struct kiocb *iocb, const struct iovec *iov,
unsigned long nr_segs, loff_t pos);
@@ -570,7 +574,12 @@ static inline int __sock_sendmsg(struct kiocb *iocb, struct socket *sock,
if (err)
return err;
- return sock->ops->sendmsg(iocb, sock, msg, size);
+ err = sock->ops->sendmsg(iocb, sock, msg, size);
+#ifdef CONFIG_UID_STAT
+ if (err > 0)
+ update_tcp_snd(current_uid(), err);
+#endif
+ return err;
}
int sock_sendmsg(struct socket *sock, struct msghdr *msg, size_t size)
@@ -684,7 +693,12 @@ static inline int __sock_recvmsg(struct kiocb *iocb, struct socket *sock,
if (err)
return err;
- return sock->ops->recvmsg(iocb, sock, msg, size, flags);
+ err = sock->ops->recvmsg(iocb, sock, msg, size, flags);
+#ifdef CONFIG_UID_STAT
+ if (err > 0)
+ update_tcp_rcv(current_uid(), err);
+#endif
+ return err;
}
int sock_recvmsg(struct socket *sock, struct msghdr *msg,