git: 510f5c88f043 - main - linux(4): Modify write syscall to match Linux
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 20 Aug 2023 07:37:42 UTC
The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=510f5c88f04316dc4014485ae281d90656f53d9d commit 510f5c88f04316dc4014485ae281d90656f53d9d Author: Dmitry Chagin <dchagin@FreeBSD.org> AuthorDate: 2023-08-20 07:36:28 +0000 Commit: Dmitry Chagin <dchagin@FreeBSD.org> CommitDate: 2023-08-20 07:36:28 +0000 linux(4): Modify write syscall to match Linux Adding a write syscall wrapper is needed due to Linux family of write syscalls doesn't distinguish between in kernel blocking operations and always returns EAGAIN while FreeBSD can return ENOBUFS. MFC after: 1 month --- sys/amd64/linux/syscalls.master | 4 ++-- sys/amd64/linux32/syscalls.master | 6 +++--- sys/arm64/linux/syscalls.master | 4 ++-- sys/i386/linux/syscalls.master | 6 +++--- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/sys/amd64/linux/syscalls.master b/sys/amd64/linux/syscalls.master index 178ae18836e6..885192963728 100644 --- a/sys/amd64/linux/syscalls.master +++ b/sys/amd64/linux/syscalls.master @@ -46,8 +46,8 @@ l_size_t nbyte ); } -1 AUE_NULL NOPROTO { - int write( +1 AUE_NULL STD { + int linux_write( int fd, char *buf, l_size_t nbyte diff --git a/sys/amd64/linux32/syscalls.master b/sys/amd64/linux32/syscalls.master index 9439a80b96f6..aa3e420053f4 100644 --- a/sys/amd64/linux32/syscalls.master +++ b/sys/amd64/linux32/syscalls.master @@ -55,11 +55,11 @@ u_int nbyte ); } -4 AUE_NULL NOPROTO { - int write( +4 AUE_NULL STD { + int linux_write( int fd, char *buf, - u_int nbyte + l_size_t nbyte ); } 5 AUE_OPEN_RWTC STD { diff --git a/sys/arm64/linux/syscalls.master b/sys/arm64/linux/syscalls.master index 2bf8d4fad8ac..90c6fcfc4642 100644 --- a/sys/arm64/linux/syscalls.master +++ b/sys/arm64/linux/syscalls.master @@ -392,8 +392,8 @@ l_size_t nbyte ); } -64 AUE_NULL NOPROTO { - int write( +64 AUE_NULL STD { + int linux_write( int fd, char *buf, l_size_t nbyte diff --git a/sys/i386/linux/syscalls.master b/sys/i386/linux/syscalls.master index ff3a7d444600..81473ef776aa 100644 --- a/sys/i386/linux/syscalls.master +++ b/sys/i386/linux/syscalls.master @@ -55,11 +55,11 @@ u_int nbyte ); } -4 AUE_NULL NOPROTO { - int write( +4 AUE_NULL STD { + int linux_write( int fd, char *buf, - u_int nbyte + l_size_t nbyte ); } 5 AUE_OPEN_RWTC STD {