firmware/br-ext-chip-allwinner/board/v83x/kernel/patches/00000-net_socket.c.patch

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,
};
/**