lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <202305051706416319733@zte.com.cn> Date: Fri, 5 May 2023 17:06:41 +0800 (CST) From: <ye.xingchen@....com.cn> To: <davem@...emloft.net> Cc: <edumazet@...gle.com>, <kuba@...nel.org>, <pabeni@...hat.com>, <netdev@...r.kernel.org>, <linux-kernel@...r.kernel.org> Subject: [PATCH] net: socket: Use fdget() and fdput() From: Ye Xingchen <ye.xingchen@....com.cn> By using the fdget function, the socket object, can be quickly obtained from the process's file descriptor table without the need to obtain the file descriptor first before passing it as a parameter to the fget function. Signed-off-by: Ye Xingchen <ye.xingchen@....com.cn> --- net/socket.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/net/socket.c b/net/socket.c index a7b4b37d86df..84daba774432 100644 --- a/net/socket.c +++ b/net/socket.c @@ -528,19 +528,18 @@ EXPORT_SYMBOL(sock_from_file); struct socket *sockfd_lookup(int fd, int *err) { - struct file *file; + struct fd f = fdget(fd); struct socket *sock; - file = fget(fd); - if (!file) { + if (!f.file) { *err = -EBADF; return NULL; } - sock = sock_from_file(file); + sock = sock_from_file(f.file); if (!sock) { *err = -ENOTSOCK; - fput(file); + fdput(f); } return sock; } -- 2.25.1
Powered by blists - more mailing lists