git: 510f5c88f043 - main - linux(4): Modify write syscall to match Linux

From: Dmitry Chagin <dchagin_at_FreeBSD.org>
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 {