commit 6bb576d
Michael Forney
·
2026-03-20 20:59:09 +0000 UTC
parent af68fce
musl: Update to 1.2.6
13 files changed,
+16,
-210
+1,
-5
1@@ -41,7 +41,7 @@ return {
2 'src/signal/aarch64/sigsetjmp.s',
3 'src/string/aarch64/memcpy.S',
4 'src/string/aarch64/memset.S',
5- 'src/thread/aarch64/__set_thread_area.s',
6+ 'src/thread/aarch64/__set_thread_area.c',
7 'src/thread/aarch64/__unmapself.s',
8 'src/thread/aarch64/clone.s',
9 'src/thread/aarch64/syscall_cp.s',
10@@ -53,12 +53,8 @@ return {
11 'float.h',
12 'hwcap.h',
13 'mman.h',
14- 'posix.h',
15- 'reg.h',
16 'setjmp.h',
17 'signal.h',
18- 'stat.h',
19- 'stdint.h',
20 'user.h',
21 },
22 }
+7,
-1
1@@ -258,6 +258,7 @@ return {
2 'src/linux/readahead.c',
3 'src/linux/reboot.c',
4 'src/linux/remap_file_pages.c',
5+ 'src/linux/renameat2.c',
6 'src/linux/sbrk.c',
7 'src/linux/sendfile.c',
8 'src/linux/setfsgid.c',
9@@ -1089,6 +1090,7 @@ return {
10 'src/termios/cfgetospeed.c',
11 'src/termios/cfmakeraw.c',
12 'src/termios/cfsetospeed.c',
13+ 'src/termios/cfsetspeed.c',
14 'src/termios/tcdrain.c',
15 'src/termios/tcflow.c',
16 'src/termios/tcflush.c',
17@@ -1142,8 +1144,8 @@ return {
18 'src/thread/pthread_cancel.c',
19 'src/thread/pthread_cleanup_push.c',
20 'src/thread/pthread_cond_broadcast.c',
21- 'src/thread/pthread_cond_destroy.c',
22 'src/thread/pthread_cond_clockwait.c',
23+ 'src/thread/pthread_cond_destroy.c',
24 'src/thread/pthread_cond_init.c',
25 'src/thread/pthread_cond_signal.c',
26 'src/thread/pthread_cond_timedwait.c',
27@@ -1235,6 +1237,7 @@ return {
28 'src/time/__secs_to_tm.c',
29 'src/time/__tm_to_secs.c',
30 'src/time/__tz.c',
31+ 'src/time/__utc.c',
32 'src/time/__year_to_secs.c',
33 'src/time/asctime.c',
34 'src/time/asctime_r.c',
35@@ -1560,12 +1563,15 @@ return {
36 'msg.h',
37 'poll.h',
38 'ptrace.h',
39+ 'reg.h',
40 'resource.h',
41 'sem.h',
42 'shm.h',
43 'socket.h',
44 'soundcard.h',
45+ 'stat.h',
46 'statfs.h',
47+ 'stdint.h',
48 'termios.h',
49 'vt.h',
50 },
1@@ -1,4 +1,4 @@
2-From 3c3a5a3208341615cefc3be9383e04cab32f9bfb Mon Sep 17 00:00:00 2001
3+From 8029fd64b5b3f2c64b74fd65ec62b80bae773ae8 Mon Sep 17 00:00:00 2001
4 From: Michael Forney <mforney@mforney.org>
5 Date: Tue, 26 Oct 2021 15:27:31 -0700
6 Subject: [PATCH] use preferred syntactic location for epoll_event packed
7@@ -9,10 +9,10 @@ Subject: [PATCH] use preferred syntactic location for epoll_event packed
8 1 file changed, 5 insertions(+), 5 deletions(-)
9
10 diff --git a/include/sys/epoll.h b/include/sys/epoll.h
11-index ac81a841..de4fe0e7 100644
12+index 5f975c4a..bdb43201 100644
13 --- a/include/sys/epoll.h
14 +++ b/include/sys/epoll.h
15-@@ -45,14 +45,14 @@ typedef union epoll_data {
16+@@ -46,14 +46,14 @@ typedef union epoll_data {
17 uint64_t u64;
18 } epoll_data_t;
19
20@@ -30,8 +30,8 @@ index ac81a841..de4fe0e7 100644
21 + epoll_data_t data;
22 +};
23
24-
25- int epoll_create(int);
26+ struct epoll_params {
27+ uint32_t busy_poll_usecs;
28 --
29-2.32.0
30+2.49.0
31
1@@ -1,38 +0,0 @@
2-From 68480ab0b8c0477929f92387a8880d941917df49 Mon Sep 17 00:00:00 2001
3-From: Rich Felker <dalias@aerifal.cx>
4-Date: Sun, 9 Feb 2025 10:07:19 -0500
5-Subject: [PATCH] iconv: fix erroneous input validation in EUC-KR decoder
6-
7-as a result of incorrect bounds checking on the lead byte being
8-decoded, certain invalid inputs which should produce an encoding
9-error, such as "\xc8\x41", instead produced out-of-bounds loads from
10-the ksc table.
11-
12-in a worst case, the loaded value may not be a valid unicode scalar
13-value, in which case, if the output encoding was UTF-8, wctomb would
14-return (size_t)-1, causing an overflow in the output pointer and
15-remaining buffer size which could clobber memory outside of the output
16-buffer.
17-
18-bug report was submitted in private by Nick Wellnhofer on account of
19-potential security implications.
20----
21- src/locale/iconv.c | 2 +-
22- 1 file changed, 1 insertion(+), 1 deletion(-)
23-
24-diff --git a/src/locale/iconv.c b/src/locale/iconv.c
25-index 175def1c..25743a20 100644
26---- a/src/locale/iconv.c
27-+++ b/src/locale/iconv.c
28-@@ -495,7 +495,7 @@ size_t iconv(iconv_t cd, char **restrict in, size_t *restrict inb, char **restri
29- if (c >= 93 || d >= 94) {
30- c += (0xa1-0x81);
31- d += 0xa1;
32-- if (c >= 93 || c>=0xc6-0x81 && d>0x52)
33-+ if (c > 0xc6-0x81 || c==0xc6-0x81 && d>0x52)
34- goto ilseq;
35- if (d-'A'<26) d = d-'A';
36- else if (d-'a'<26) d = d-'a'+26;
37---
38-2.45.2
39-
R pkg/musl/patch/0005-trim-spaces-of-pthread_cond_timedwait.c-and-pthread_.patch =>
pkg/musl/patch/0003-trim-spaces-of-pthread_cond_timedwait.c-and-pthread_.patch
+0,
-0
R pkg/musl/patch/0006-Rename-files-for-implement-pthread_mutex_clocklock-a.patch =>
pkg/musl/patch/0004-Rename-files-for-implement-pthread_mutex_clocklock-a.patch
+0,
-0
1@@ -1,37 +0,0 @@
2-From aa8be5038707f4b1a79612d16f7117445dbd5a12 Mon Sep 17 00:00:00 2001
3-From: Rich Felker <dalias@aerifal.cx>
4-Date: Wed, 12 Feb 2025 17:06:30 -0500
5-Subject: [PATCH] iconv: harden UTF-8 output code path against input decoder
6- bugs
7-
8-the UTF-8 output code was written assuming an invariant that iconv's
9-decoders only emit valid Unicode Scalar Values which wctomb can encode
10-successfully, thereby always returning a value between 1 and 4.
11-
12-if this invariant is not satisfied, wctomb returns (size_t)-1, and the
13-subsequent adjustments to the output buffer pointer and remaining
14-output byte count overflow, moving the output position backwards,
15-potentially past the beginning of the buffer, without storing any
16-bytes.
17----
18- src/locale/iconv.c | 4 ++++
19- 1 file changed, 4 insertions(+)
20-
21-diff --git a/src/locale/iconv.c b/src/locale/iconv.c
22-index 25743a20..3dd9fd90 100644
23---- a/src/locale/iconv.c
24-+++ b/src/locale/iconv.c
25-@@ -538,6 +538,10 @@ size_t iconv(iconv_t cd, char **restrict in, size_t *restrict inb, char **restri
26- if (*outb < k) goto toobig;
27- memcpy(*out, tmp, k);
28- } else k = wctomb_utf8(*out, c);
29-+ /* This failure condition should be unreachable, but
30-+ * is included to prevent decoder bugs from translating
31-+ * into advancement outside the output buffer range. */
32-+ if (k>4) goto ilseq;
33- *out += k;
34- *outb -= k;
35- break;
36---
37-2.45.2
38-
R pkg/musl/patch/0007-add-pthread_mutex_clocklock-and-pthread_cond_clockdw.patch =>
pkg/musl/patch/0005-add-pthread_mutex_clocklock-and-pthread_cond_clockdw.patch
+0,
-0
1@@ -1,90 +0,0 @@
2-From c926062544498d920fec3c586e5eaa5e941ceafd Mon Sep 17 00:00:00 2001
3-From: Rich Felker <dalias@aerifal.cx>
4-Date: Wed, 8 May 2024 08:50:03 -0400
5-Subject: [PATCH] implement posix_getdents adopted for next issue of POSIX
6-
7-this interface was added as the outcome of Austin Group tracker issue
8-697. no error is specified for unsupported flags, which is probably an
9-oversight. for now, EOPNOTSUPP is used so as not to overload EINVAL.
10----
11- include/dirent.h | 18 +++++++++++++++---
12- src/dirent/posix_getdents.c | 11 +++++++++++
13- 2 files changed, 26 insertions(+), 3 deletions(-)
14- create mode 100644 src/dirent/posix_getdents.c
15-
16-diff --git a/include/dirent.h b/include/dirent.h
17-index 2d8fffb2..7fa60e06 100644
18---- a/include/dirent.h
19-+++ b/include/dirent.h
20-@@ -9,14 +9,23 @@ extern "C" {
21-
22- #define __NEED_ino_t
23- #define __NEED_off_t
24--#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE)
25- #define __NEED_size_t
26--#endif
27-+#define __NEED_ssize_t
28-
29- #include <bits/alltypes.h>
30-
31- #include <bits/dirent.h>
32-
33-+typedef unsigned short reclen_t;
34-+
35-+struct posix_dent {
36-+ ino_t d_ino;
37-+ off_t d_off;
38-+ reclen_t d_reclen;
39-+ unsigned char d_type;
40-+ char d_name[];
41-+};
42-+
43- typedef struct __dirstream DIR;
44-
45- #define d_fileno d_ino
46-@@ -29,6 +38,8 @@ int readdir_r(DIR *__restrict, struct dirent *__restrict, struct dire
47- void rewinddir(DIR *);
48- int dirfd(DIR *);
49-
50-+ssize_t posix_getdents(int, void *, size_t, int);
51-+
52- int alphasort(const struct dirent **, const struct dirent **);
53- int scandir(const char *, struct dirent ***, int (*)(const struct dirent *), int (*)(const struct dirent **, const struct dirent **));
54-
55-@@ -37,7 +48,6 @@ void seekdir(DIR *, long);
56- long telldir(DIR *);
57- #endif
58-
59--#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
60- #define DT_UNKNOWN 0
61- #define DT_FIFO 1
62- #define DT_CHR 2
63-@@ -47,6 +57,8 @@ long telldir(DIR *);
64- #define DT_LNK 10
65- #define DT_SOCK 12
66- #define DT_WHT 14
67-+
68-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
69- #define IFTODT(x) ((x)>>12 & 017)
70- #define DTTOIF(x) ((x)<<12)
71- int getdents(int, struct dirent *, size_t);
72-diff --git a/src/dirent/posix_getdents.c b/src/dirent/posix_getdents.c
73-new file mode 100644
74-index 00000000..b19e8127
75---- /dev/null
76-+++ b/src/dirent/posix_getdents.c
77-@@ -0,0 +1,11 @@
78-+#include <dirent.h>
79-+#include <limits.h>
80-+#include <errno.h>
81-+#include "syscall.h"
82-+
83-+int posix_getdents(int fd, void *buf, size_t len, int flags)
84-+{
85-+ if (flags) return __syscall_ret(-EOPNOTSUPP);
86-+ if (len>INT_MAX) len = INT_MAX;
87-+ return syscall(SYS_getdents, fd, buf, len);
88-+}
89---
90-2.49.0
91-
1@@ -1,29 +0,0 @@
2-From ecb9e060f7f5bc596b9be8043bba33840c85bc5a Mon Sep 17 00:00:00 2001
3-From: Rich Felker <dalias@aerifal.cx>
4-Date: Sun, 12 May 2024 15:33:15 -0400
5-Subject: [PATCH] fix mismatched type in posix_getdents definition
6-
7-commit 1b0d48517f816e98f19111df82f32bfc1608ecec wrongly copied the
8-getdents return type of int rather than matching the ssize_t used by
9-posix_getdents. this was overlooked in testing on 32-bit archs but
10-obviously broke 64-bit archs.
11----
12- src/dirent/posix_getdents.c | 2 +-
13- 1 file changed, 1 insertion(+), 1 deletion(-)
14-
15-diff --git a/src/dirent/posix_getdents.c b/src/dirent/posix_getdents.c
16-index b19e8127..26c16ac6 100644
17---- a/src/dirent/posix_getdents.c
18-+++ b/src/dirent/posix_getdents.c
19-@@ -3,7 +3,7 @@
20- #include <errno.h>
21- #include "syscall.h"
22-
23--int posix_getdents(int fd, void *buf, size_t len, int flags)
24-+ssize_t posix_getdents(int fd, void *buf, size_t len, int flags)
25- {
26- if (flags) return __syscall_ret(-EOPNOTSUPP);
27- if (len>INT_MAX) len = INT_MAX;
28---
29-2.49.0
30-
+1,
-1
1@@ -1 +1 @@
2-Subproject commit 0784374d561435f7c787a555aeab8ede699ed298
3+Subproject commit 9fa28ece75d8a2191de7c5bb53bed224c5947417
+1,
-1
1@@ -1 +1 @@
2-1.2.5 r3
3+1.2.6
+0,
-2
1@@ -57,14 +57,12 @@ return {
2 'io.h',
3 'limits.h',
4 'mman.h',
5- 'posix.h',
6 'ptrace.h',
7 'reg.h',
8 'sem.h',
9 'setjmp.h',
10 'signal.h',
11 'stat.h',
12- 'stdint.h',
13 'user.h',
14 },
15 }