mirror of https://github.com/OpenIPC/firmware.git
27 lines
647 B
Diff
27 lines
647 B
Diff
diff -drupN a/net/socket.c b/net/socket.c
|
|
--- a/net/socket.c 2018-08-06 17:23:04.000000000 +0300
|
|
+++ b/net/socket.c 2022-06-12 05:28:14.000000000 +0300
|
|
@@ -534,8 +534,22 @@ static ssize_t sockfs_listxattr(struct d
|
|
return used;
|
|
}
|
|
|
|
+static int sockfs_setattr(struct dentry *dentry, struct iattr *iattr)
|
|
+{
|
|
+ int err = simple_setattr(dentry, iattr);
|
|
+
|
|
+ if (!err && (iattr->ia_valid & ATTR_UID)) {
|
|
+ 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 = {
|
|
.listxattr = sockfs_listxattr,
|
|
+ .setattr = sockfs_setattr,
|
|
};
|
|
|
|
/**
|