summaryrefslogtreecommitdiff
path: root/net/socket.c
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2017-01-03 11:23:35 -0800
committerDmitry Shmidt <dimitrysh@google.com>2017-01-03 11:23:35 -0800
commitaceae9be74c70f993ddd8d6a157f1a256591c43f (patch)
treed8ef291e4467dfd1d28e31e8a2f38049fdcece2c /net/socket.c
parent9b133b6207826ae8cbe5f7de0b407253191e98fa (diff)
parent676b8efcce52d582153d3df3bc90689cab07a058 (diff)
Merge remote-tracking branch 'common/android-4.4' into android-4.4.y
Change-Id: I44dc2744898ca59ad15cd77b49ad84da0220250a
Diffstat (limited to 'net/socket.c')
-rw-r--r--net/socket.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/net/socket.c b/net/socket.c
index 0090225eeb1e..66d984ac2991 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -520,9 +520,23 @@ static ssize_t sockfs_listxattr(struct dentry *dentry, char *buffer,
return used;
}
+int sockfs_setattr(struct dentry *dentry, struct iattr *iattr)
+{
+ int err = simple_setattr(dentry, iattr);
+
+ if (!err) {
+ struct socket *sock = SOCKET_I(d_inode(dentry));
+
+ sock->sk->sk_uid = iattr->ia_uid;
+ }
+
+ return err;
+}
+
static const struct inode_operations sockfs_inode_ops = {
.getxattr = sockfs_getxattr,
.listxattr = sockfs_listxattr,
+ .setattr = sockfs_setattr,
};
/**