git: fdd7609f1023 - releng/13.0 - linux: fix handling of flags for 32 bit send(2) syscall
Edward Tomasz Napierala
trasz at FreeBSD.org
Fri Mar 5 00:36:42 UTC 2021
The branch releng/13.0 has been updated by trasz:
URL: https://cgit.FreeBSD.org/src/commit/?id=fdd7609f10236df34c8d8ae2d6f2dae46e0e96cf
commit fdd7609f10236df34c8d8ae2d6f2dae46e0e96cf
Author: Edward Tomasz Napierala <trasz at FreeBSD.org>
AuthorDate: 2021-02-05 17:24:23 +0000
Commit: Edward Tomasz Napierala <trasz at FreeBSD.org>
CommitDate: 2021-03-04 23:29:22 +0000
linux: fix handling of flags for 32 bit send(2) syscall
Previously the flags were passed as-is, which could resulted
in spurious EAGAIN returned for non-blocking sockets, which
broke some Steam games.
Approved by: re (gjb)
PR: 248065
Reported By: Alex S <iwtcex at gmail.com>
Tested By: Alex S <iwtcex at gmail.com>
Reviewed By: emaste
MFC After: 3 days
Sponsored By: The FreeBSD Foundation
(cherry picked from commit f6e8256a965d5b7a7d43034ea31b2430a3b51066)
(cherry picked from commit 9d930fb09072d21464288df8c834cb8d0b760073)
---
sys/compat/linux/linux_socket.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys/compat/linux/linux_socket.c b/sys/compat/linux/linux_socket.c
index 5bfcdbb8fd21..c723af9dfba0 100644
--- a/sys/compat/linux/linux_socket.c
+++ b/sys/compat/linux/linux_socket.c
@@ -1178,7 +1178,7 @@ linux_send(struct thread *td, struct linux_send_args *args)
bsd_args.s = args->s;
bsd_args.buf = (caddr_t)PTRIN(args->msg);
bsd_args.len = args->len;
- bsd_args.flags = args->flags;
+ bsd_args.flags = linux_to_bsd_msg_flags(args->flags);
bsd_args.to = NULL;
bsd_args.tolen = 0;
error = sys_sendto(td, &bsd_args);
More information about the dev-commits-src-all
mailing list