about summary refs log tree commit diff
path: root/arch
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2019-10-31 22:55:39 -0400
committerRich Felker <dalias@aerifal.cx>2019-11-02 18:30:56 -0400
commit573a4d2d597ba15435ffdf0f2d8bea1058e7b795 (patch)
tree7502c02e57fff9a87dde76d96d00728461afb69f /arch
parent0bbc04c98115440d15a51d6b2ba087ea79c56ad9 (diff)
downloadmusl-573a4d2d597ba15435ffdf0f2d8bea1058e7b795.tar.gz
musl-573a4d2d597ba15435ffdf0f2d8bea1058e7b795.tar.xz
musl-573a4d2d597ba15435ffdf0f2d8bea1058e7b795.zip
fix x32 msghdr struct by removing x32 bits/socket.h
being that it contains pointers and (from the kernel perspective,
which is wrong) size_t members, x32 uses the 32-bit version of the
structure, not a half-32-bit, half-64-bit layout like we had here. the
x86_64 definition was inadvertently copied when x32 was first added.

unlike errors in the opposite direction (missing padding), this error
was not easily detected breakage, because the layout of the commonly
used initial subset of members still matched. breakage could only be
observed in the presence of control messages or flags.
Diffstat (limited to 'arch')
-rw-r--r--arch/x32/bits/socket.h16
1 files changed, 0 insertions, 16 deletions
diff --git a/arch/x32/bits/socket.h b/arch/x32/bits/socket.h
deleted file mode 100644
index a4c89f3d..00000000
--- a/arch/x32/bits/socket.h
+++ /dev/null
@@ -1,16 +0,0 @@
-struct msghdr {
-	void *msg_name;
-	socklen_t msg_namelen;
-	struct iovec *msg_iov;
-	int msg_iovlen, __pad1;
-	void *msg_control;
-	socklen_t msg_controllen, __pad2;
-	int msg_flags;
-};
-
-struct cmsghdr {
-	socklen_t cmsg_len;
-	int __pad1;
-	int cmsg_level;
-	int cmsg_type;
-};