Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Feb 2021 23:46:56 GMT
From:      Edward Tomasz Napierala <trasz@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: f6e8256a965d - main - linux: fix handling of flags for 32 bit send(2) syscall
Message-ID:  <202102062346.116Nkuam063764@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by trasz:

URL: https://cgit.FreeBSD.org/src/commit/?id=f6e8256a965d5b7a7d43034ea31b2430a3b51066

commit f6e8256a965d5b7a7d43034ea31b2430a3b51066
Author:     Edward Tomasz Napierala <trasz@FreeBSD.org>
AuthorDate: 2021-02-05 17:24:23 +0000
Commit:     Edward Tomasz Napierala <trasz@FreeBSD.org>
CommitDate: 2021-02-06 23:21:27 +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.
    
    PR:             248065
    Reported By:    Alex S <iwtcex@gmail.com>
    Tested By:      Alex S <iwtcex@gmail.com>
    Reviewed By:    emaste
    MFC After:      3 days
    Sponsored By:   The FreeBSD Foundation
---
 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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202102062346.116Nkuam063764>