stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Ian Rogers <irogers@google.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.5 083/285] perf dlfilter: Add al_cleanup()
Date: Sun, 17 Sep 2023 21:11:23 +0200	[thread overview]
Message-ID: <20230917191054.580662538@linuxfoundation.org> (raw)
In-Reply-To: <20230917191051.639202302@linuxfoundation.org>

6.5-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Adrian Hunter <adrian.hunter@intel.com>

[ Upstream commit 82b0a10390e5f198a4e23c9cc6a7307d2cf099f3 ]

Add perf_dlfilter_fns.al_cleanup() to do addr_location__exit() on data
passed via perf_dlfilter_fns.resolve_address().

Add dlfilter-test-api-v2 to the "dlfilter C API" test to test it.

Update documentation, clarifying that data returned by APIs should not
be dereferenced after filter_event() and filter_event_early() return.

Fixes: 0dd5041c9a0eaf8c ("perf addr_location: Add init/exit/copy functions")
Reviewed-by: Ian Rogers <irogers@google.com>
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20230731091857.10681-3-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 tools/perf/Documentation/perf-dlfilter.txt  |  22 +-
 tools/perf/Makefile.perf                    |   2 +-
 tools/perf/dlfilters/dlfilter-test-api-v2.c | 377 ++++++++++++++++++++
 tools/perf/include/perf/perf_dlfilter.h     |  11 +-
 tools/perf/tests/dlfilter-test.c            |  38 +-
 tools/perf/util/dlfilter.c                  |  29 ++
 6 files changed, 464 insertions(+), 15 deletions(-)
 create mode 100644 tools/perf/dlfilters/dlfilter-test-api-v2.c

diff --git a/tools/perf/Documentation/perf-dlfilter.txt b/tools/perf/Documentation/perf-dlfilter.txt
index fb22e3b31dc5c..8887cc20a809e 100644
--- a/tools/perf/Documentation/perf-dlfilter.txt
+++ b/tools/perf/Documentation/perf-dlfilter.txt
@@ -64,6 +64,12 @@ internal filtering.
 If implemented, 'filter_description' should return a one-line description
 of the filter, and optionally a longer description.
 
+Do not assume the 'sample' argument is valid (dereferenceable)
+after 'filter_event' and 'filter_event_early' return.
+
+Do not assume data referenced by pointers in struct perf_dlfilter_sample
+is valid (dereferenceable) after 'filter_event' and 'filter_event_early' return.
+
 The perf_dlfilter_sample structure
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -150,7 +156,8 @@ struct perf_dlfilter_fns {
 	const char *(*srcline)(void *ctx, __u32 *line_number);
 	struct perf_event_attr *(*attr)(void *ctx);
 	__s32 (*object_code)(void *ctx, __u64 ip, void *buf, __u32 len);
-	void *(*reserved[120])(void *);
+	void (*al_cleanup)(void *ctx, struct perf_dlfilter_al *al);
+	void *(*reserved[119])(void *);
 };
 ----
 
@@ -161,7 +168,8 @@ struct perf_dlfilter_fns {
 'args' returns arguments from --dlarg options.
 
 'resolve_address' provides information about 'address'. al->size must be set
-before calling. Returns 0 on success, -1 otherwise.
+before calling. Returns 0 on success, -1 otherwise. Call al_cleanup() (if present,
+see below) when 'al' data is no longer needed.
 
 'insn' returns instruction bytes and length.
 
@@ -171,6 +179,12 @@ before calling. Returns 0 on success, -1 otherwise.
 
 'object_code' reads object code and returns the number of bytes read.
 
+'al_cleanup' must be called (if present, so check perf_dlfilter_fns.al_cleanup != NULL)
+after resolve_address() to free any associated resources.
+
+Do not assume pointers obtained via perf_dlfilter_fns are valid (dereferenceable)
+after 'filter_event' and 'filter_event_early' return.
+
 The perf_dlfilter_al structure
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -197,9 +211,13 @@ struct perf_dlfilter_al {
 	/* Below members are only populated by resolve_ip() */
 	__u8 filtered; /* true if this sample event will be filtered out */
 	const char *comm;
+	void *priv; /* Private data. Do not change */
 };
 ----
 
+Do not assume data referenced by pointers in struct perf_dlfilter_al
+is valid (dereferenceable) after 'filter_event' and 'filter_event_early' return.
+
 perf_dlfilter_sample flags
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index 097316ef38e6a..f178b36c69402 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -381,7 +381,7 @@ ifndef NO_JVMTI
 PROGRAMS += $(OUTPUT)$(LIBJVMTI)
 endif
 
-DLFILTERS := dlfilter-test-api-v0.so dlfilter-show-cycles.so
+DLFILTERS := dlfilter-test-api-v0.so dlfilter-test-api-v2.so dlfilter-show-cycles.so
 DLFILTERS := $(patsubst %,$(OUTPUT)dlfilters/%,$(DLFILTERS))
 
 # what 'all' will build and 'install' will install, in perfexecdir
diff --git a/tools/perf/dlfilters/dlfilter-test-api-v2.c b/tools/perf/dlfilters/dlfilter-test-api-v2.c
new file mode 100644
index 0000000000000..38e593d92920c
--- /dev/null
+++ b/tools/perf/dlfilters/dlfilter-test-api-v2.c
@@ -0,0 +1,377 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Test v2 API for perf --dlfilter shared object
+ * Copyright (c) 2023, Intel Corporation.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdbool.h>
+
+/*
+ * Copy v2 API instead of including current API
+ */
+#include <linux/perf_event.h>
+#include <linux/types.h>
+
+/*
+ * The following macro can be used to determine if this header defines
+ * perf_dlfilter_sample machine_pid and vcpu.
+ */
+#define PERF_DLFILTER_HAS_MACHINE_PID
+
+/* Definitions for perf_dlfilter_sample flags */
+enum {
+	PERF_DLFILTER_FLAG_BRANCH	= 1ULL << 0,
+	PERF_DLFILTER_FLAG_CALL		= 1ULL << 1,
+	PERF_DLFILTER_FLAG_RETURN	= 1ULL << 2,
+	PERF_DLFILTER_FLAG_CONDITIONAL	= 1ULL << 3,
+	PERF_DLFILTER_FLAG_SYSCALLRET	= 1ULL << 4,
+	PERF_DLFILTER_FLAG_ASYNC	= 1ULL << 5,
+	PERF_DLFILTER_FLAG_INTERRUPT	= 1ULL << 6,
+	PERF_DLFILTER_FLAG_TX_ABORT	= 1ULL << 7,
+	PERF_DLFILTER_FLAG_TRACE_BEGIN	= 1ULL << 8,
+	PERF_DLFILTER_FLAG_TRACE_END	= 1ULL << 9,
+	PERF_DLFILTER_FLAG_IN_TX	= 1ULL << 10,
+	PERF_DLFILTER_FLAG_VMENTRY	= 1ULL << 11,
+	PERF_DLFILTER_FLAG_VMEXIT	= 1ULL << 12,
+};
+
+/*
+ * perf sample event information (as per perf script and <linux/perf_event.h>)
+ */
+struct perf_dlfilter_sample {
+	__u32 size; /* Size of this structure (for compatibility checking) */
+	__u16 ins_lat;		/* Refer PERF_SAMPLE_WEIGHT_TYPE in <linux/perf_event.h> */
+	__u16 p_stage_cyc;	/* Refer PERF_SAMPLE_WEIGHT_TYPE in <linux/perf_event.h> */
+	__u64 ip;
+	__s32 pid;
+	__s32 tid;
+	__u64 time;
+	__u64 addr;
+	__u64 id;
+	__u64 stream_id;
+	__u64 period;
+	__u64 weight;		/* Refer PERF_SAMPLE_WEIGHT_TYPE in <linux/perf_event.h> */
+	__u64 transaction;	/* Refer PERF_SAMPLE_TRANSACTION in <linux/perf_event.h> */
+	__u64 insn_cnt;	/* For instructions-per-cycle (IPC) */
+	__u64 cyc_cnt;		/* For instructions-per-cycle (IPC) */
+	__s32 cpu;
+	__u32 flags;		/* Refer PERF_DLFILTER_FLAG_* above */
+	__u64 data_src;		/* Refer PERF_SAMPLE_DATA_SRC in <linux/perf_event.h> */
+	__u64 phys_addr;	/* Refer PERF_SAMPLE_PHYS_ADDR in <linux/perf_event.h> */
+	__u64 data_page_size;	/* Refer PERF_SAMPLE_DATA_PAGE_SIZE in <linux/perf_event.h> */
+	__u64 code_page_size;	/* Refer PERF_SAMPLE_CODE_PAGE_SIZE in <linux/perf_event.h> */
+	__u64 cgroup;		/* Refer PERF_SAMPLE_CGROUP in <linux/perf_event.h> */
+	__u8  cpumode;		/* Refer CPUMODE_MASK etc in <linux/perf_event.h> */
+	__u8  addr_correlates_sym; /* True => resolve_addr() can be called */
+	__u16 misc;		/* Refer perf_event_header in <linux/perf_event.h> */
+	__u32 raw_size;		/* Refer PERF_SAMPLE_RAW in <linux/perf_event.h> */
+	const void *raw_data;	/* Refer PERF_SAMPLE_RAW in <linux/perf_event.h> */
+	__u64 brstack_nr;	/* Number of brstack entries */
+	const struct perf_branch_entry *brstack; /* Refer <linux/perf_event.h> */
+	__u64 raw_callchain_nr;	/* Number of raw_callchain entries */
+	const __u64 *raw_callchain; /* Refer <linux/perf_event.h> */
+	const char *event;
+	__s32 machine_pid;
+	__s32 vcpu;
+};
+
+/*
+ * Address location (as per perf script)
+ */
+struct perf_dlfilter_al {
+	__u32 size; /* Size of this structure (for compatibility checking) */
+	__u32 symoff;
+	const char *sym;
+	__u64 addr; /* Mapped address (from dso) */
+	__u64 sym_start;
+	__u64 sym_end;
+	const char *dso;
+	__u8  sym_binding; /* STB_LOCAL, STB_GLOBAL or STB_WEAK, refer <elf.h> */
+	__u8  is_64_bit; /* Only valid if dso is not NULL */
+	__u8  is_kernel_ip; /* True if in kernel space */
+	__u32 buildid_size;
+	__u8 *buildid;
+	/* Below members are only populated by resolve_ip() */
+	__u8 filtered; /* True if this sample event will be filtered out */
+	const char *comm;
+	void *priv; /* Private data (v2 API) */
+};
+
+struct perf_dlfilter_fns {
+	/* Return information about ip */
+	const struct perf_dlfilter_al *(*resolve_ip)(void *ctx);
+	/* Return information about addr (if addr_correlates_sym) */
+	const struct perf_dlfilter_al *(*resolve_addr)(void *ctx);
+	/* Return arguments from --dlarg option */
+	char **(*args)(void *ctx, int *dlargc);
+	/*
+	 * Return information about address (al->size must be set before
+	 * calling). Returns 0 on success, -1 otherwise. Call al_cleanup()
+	 * when 'al' data is no longer needed.
+	 */
+	__s32 (*resolve_address)(void *ctx, __u64 address, struct perf_dlfilter_al *al);
+	/* Return instruction bytes and length */
+	const __u8 *(*insn)(void *ctx, __u32 *length);
+	/* Return source file name and line number */
+	const char *(*srcline)(void *ctx, __u32 *line_number);
+	/* Return perf_event_attr, refer <linux/perf_event.h> */
+	struct perf_event_attr *(*attr)(void *ctx);
+	/* Read object code, return numbers of bytes read */
+	__s32 (*object_code)(void *ctx, __u64 ip, void *buf, __u32 len);
+	/*
+	 * If present (i.e. must check al_cleanup != NULL), call after
+	 * resolve_address() to free any associated resources. (v2 API)
+	 */
+	void (*al_cleanup)(void *ctx, struct perf_dlfilter_al *al);
+	/* Reserved */
+	void *(*reserved[119])(void *);
+};
+
+struct perf_dlfilter_fns perf_dlfilter_fns;
+
+static int verbose;
+
+#define pr_debug(fmt, ...) do { \
+		if (verbose > 0) \
+			fprintf(stderr, fmt, ##__VA_ARGS__); \
+	} while (0)
+
+static int test_fail(const char *msg)
+{
+	pr_debug("%s\n", msg);
+	return -1;
+}
+
+#define CHECK(x) do { \
+		if (!(x)) \
+			return test_fail("Check '" #x "' failed\n"); \
+	} while (0)
+
+struct filter_data {
+	__u64 ip;
+	__u64 addr;
+	int do_early;
+	int early_filter_cnt;
+	int filter_cnt;
+};
+
+static struct filter_data *filt_dat;
+
+int start(void **data, void *ctx)
+{
+	int dlargc;
+	char **dlargv;
+	struct filter_data *d;
+	static bool called;
+
+	verbose = 1;
+
+	CHECK(!filt_dat && !called);
+	called = true;
+
+	d = calloc(1, sizeof(*d));
+	if (!d)
+		test_fail("Failed to allocate memory");
+	filt_dat = d;
+	*data = d;
+
+	dlargv = perf_dlfilter_fns.args(ctx, &dlargc);
+
+	CHECK(dlargc == 6);
+	CHECK(!strcmp(dlargv[0], "first"));
+	verbose = strtol(dlargv[1], NULL, 0);
+	d->ip = strtoull(dlargv[2], NULL, 0);
+	d->addr = strtoull(dlargv[3], NULL, 0);
+	d->do_early = strtol(dlargv[4], NULL, 0);
+	CHECK(!strcmp(dlargv[5], "last"));
+
+	pr_debug("%s API\n", __func__);
+
+	return 0;
+}
+
+#define CHECK_SAMPLE(x) do { \
+		if (sample->x != expected.x) \
+			return test_fail("'" #x "' not expected value\n"); \
+	} while (0)
+
+static int check_sample(struct filter_data *d, const struct perf_dlfilter_sample *sample)
+{
+	struct perf_dlfilter_sample expected = {
+		.ip		= d->ip,
+		.pid		= 12345,
+		.tid		= 12346,
+		.time		= 1234567890,
+		.addr		= d->addr,
+		.id		= 99,
+		.stream_id	= 101,
+		.period		= 543212345,
+		.cpu		= 31,
+		.cpumode	= PERF_RECORD_MISC_USER,
+		.addr_correlates_sym = 1,
+		.misc		= PERF_RECORD_MISC_USER,
+	};
+
+	CHECK(sample->size >= sizeof(struct perf_dlfilter_sample));
+
+	CHECK_SAMPLE(ip);
+	CHECK_SAMPLE(pid);
+	CHECK_SAMPLE(tid);
+	CHECK_SAMPLE(time);
+	CHECK_SAMPLE(addr);
+	CHECK_SAMPLE(id);
+	CHECK_SAMPLE(stream_id);
+	CHECK_SAMPLE(period);
+	CHECK_SAMPLE(cpu);
+	CHECK_SAMPLE(cpumode);
+	CHECK_SAMPLE(addr_correlates_sym);
+	CHECK_SAMPLE(misc);
+
+	CHECK(!sample->raw_data);
+	CHECK_SAMPLE(brstack_nr);
+	CHECK(!sample->brstack);
+	CHECK_SAMPLE(raw_callchain_nr);
+	CHECK(!sample->raw_callchain);
+
+#define EVENT_NAME "branches:"
+	CHECK(!strncmp(sample->event, EVENT_NAME, strlen(EVENT_NAME)));
+
+	return 0;
+}
+
+static int check_al(void *ctx)
+{
+	const struct perf_dlfilter_al *al;
+
+	al = perf_dlfilter_fns.resolve_ip(ctx);
+	if (!al)
+		return test_fail("resolve_ip() failed");
+
+	CHECK(al->sym && !strcmp("foo", al->sym));
+	CHECK(!al->symoff);
+
+	return 0;
+}
+
+static int check_addr_al(void *ctx)
+{
+	const struct perf_dlfilter_al *addr_al;
+
+	addr_al = perf_dlfilter_fns.resolve_addr(ctx);
+	if (!addr_al)
+		return test_fail("resolve_addr() failed");
+
+	CHECK(addr_al->sym && !strcmp("bar", addr_al->sym));
+	CHECK(!addr_al->symoff);
+
+	return 0;
+}
+
+static int check_address_al(void *ctx, const struct perf_dlfilter_sample *sample)
+{
+	struct perf_dlfilter_al address_al;
+	const struct perf_dlfilter_al *al;
+
+	al = perf_dlfilter_fns.resolve_ip(ctx);
+	if (!al)
+		return test_fail("resolve_ip() failed");
+
+	address_al.size = sizeof(address_al);
+	if (perf_dlfilter_fns.resolve_address(ctx, sample->ip, &address_al))
+		return test_fail("resolve_address() failed");
+
+	CHECK(address_al.sym && al->sym);
+	CHECK(!strcmp(address_al.sym, al->sym));
+	CHECK(address_al.addr == al->addr);
+	CHECK(address_al.sym_start == al->sym_start);
+	CHECK(address_al.sym_end == al->sym_end);
+	CHECK(address_al.dso && al->dso);
+	CHECK(!strcmp(address_al.dso, al->dso));
+
+	/* al_cleanup() is v2 API so may not be present */
+	if (perf_dlfilter_fns.al_cleanup)
+		perf_dlfilter_fns.al_cleanup(ctx, &address_al);
+
+	return 0;
+}
+
+static int check_attr(void *ctx)
+{
+	struct perf_event_attr *attr = perf_dlfilter_fns.attr(ctx);
+
+	CHECK(attr);
+	CHECK(attr->type == PERF_TYPE_HARDWARE);
+	CHECK(attr->config == PERF_COUNT_HW_BRANCH_INSTRUCTIONS);
+
+	return 0;
+}
+
+static int do_checks(void *data, const struct perf_dlfilter_sample *sample, void *ctx, bool early)
+{
+	struct filter_data *d = data;
+
+	CHECK(data && filt_dat == data);
+
+	if (early) {
+		CHECK(!d->early_filter_cnt);
+		d->early_filter_cnt += 1;
+	} else {
+		CHECK(!d->filter_cnt);
+		CHECK(d->early_filter_cnt);
+		CHECK(d->do_early != 2);
+		d->filter_cnt += 1;
+	}
+
+	if (check_sample(data, sample))
+		return -1;
+
+	if (check_attr(ctx))
+		return -1;
+
+	if (early && !d->do_early)
+		return 0;
+
+	if (check_al(ctx) || check_addr_al(ctx) || check_address_al(ctx, sample))
+		return -1;
+
+	if (early)
+		return d->do_early == 2;
+
+	return 1;
+}
+
+int filter_event_early(void *data, const struct perf_dlfilter_sample *sample, void *ctx)
+{
+	pr_debug("%s API\n", __func__);
+
+	return do_checks(data, sample, ctx, true);
+}
+
+int filter_event(void *data, const struct perf_dlfilter_sample *sample, void *ctx)
+{
+	pr_debug("%s API\n", __func__);
+
+	return do_checks(data, sample, ctx, false);
+}
+
+int stop(void *data, void *ctx)
+{
+	static bool called;
+
+	pr_debug("%s API\n", __func__);
+
+	CHECK(data && filt_dat == data && !called);
+	called = true;
+
+	free(data);
+	filt_dat = NULL;
+	return 0;
+}
+
+const char *filter_description(const char **long_description)
+{
+	*long_description = "Filter used by the 'dlfilter C API' perf test";
+	return "dlfilter to test v2 C API";
+}
diff --git a/tools/perf/include/perf/perf_dlfilter.h b/tools/perf/include/perf/perf_dlfilter.h
index a26e2f129f83e..16fc4568ac53b 100644
--- a/tools/perf/include/perf/perf_dlfilter.h
+++ b/tools/perf/include/perf/perf_dlfilter.h
@@ -91,6 +91,7 @@ struct perf_dlfilter_al {
 	/* Below members are only populated by resolve_ip() */
 	__u8 filtered; /* True if this sample event will be filtered out */
 	const char *comm;
+	void *priv; /* Private data. Do not change */
 };
 
 struct perf_dlfilter_fns {
@@ -102,7 +103,8 @@ struct perf_dlfilter_fns {
 	char **(*args)(void *ctx, int *dlargc);
 	/*
 	 * Return information about address (al->size must be set before
-	 * calling). Returns 0 on success, -1 otherwise.
+	 * calling). Returns 0 on success, -1 otherwise. Call al_cleanup()
+	 * when 'al' data is no longer needed.
 	 */
 	__s32 (*resolve_address)(void *ctx, __u64 address, struct perf_dlfilter_al *al);
 	/* Return instruction bytes and length */
@@ -113,8 +115,13 @@ struct perf_dlfilter_fns {
 	struct perf_event_attr *(*attr)(void *ctx);
 	/* Read object code, return numbers of bytes read */
 	__s32 (*object_code)(void *ctx, __u64 ip, void *buf, __u32 len);
+	/*
+	 * If present (i.e. must check al_cleanup != NULL), call after
+	 * resolve_address() to free any associated resources.
+	 */
+	void (*al_cleanup)(void *ctx, struct perf_dlfilter_al *al);
 	/* Reserved */
-	void *(*reserved[120])(void *);
+	void *(*reserved[119])(void *);
 };
 
 /*
diff --git a/tools/perf/tests/dlfilter-test.c b/tools/perf/tests/dlfilter-test.c
index 086fd2179e41f..da3a9b50b1b1f 100644
--- a/tools/perf/tests/dlfilter-test.c
+++ b/tools/perf/tests/dlfilter-test.c
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0
 /*
  * Test dlfilter C API. A perf.data file is synthesized and then processed
- * by perf script with a dlfilter named dlfilter-test-api-v0.so. Also a C file
+ * by perf script with dlfilters named dlfilter-test-api-v*.so. Also a C file
  * is compiled to provide a dso to match the synthesized perf.data file.
  */
 
@@ -37,6 +37,8 @@
 
 #define MAP_START 0x400000
 
+#define DLFILTER_TEST_NAME_MAX 128
+
 struct test_data {
 	struct perf_tool tool;
 	struct machine *machine;
@@ -45,6 +47,8 @@ struct test_data {
 	u64 bar;
 	u64 ip;
 	u64 addr;
+	char name[DLFILTER_TEST_NAME_MAX];
+	char desc[DLFILTER_TEST_NAME_MAX];
 	char perf[PATH_MAX];
 	char perf_data_file_name[PATH_MAX];
 	char c_file_name[PATH_MAX];
@@ -215,7 +219,7 @@ static int write_prog(char *file_name)
 	return err ? -1 : 0;
 }
 
-static int get_dlfilters_path(char *buf, size_t sz)
+static int get_dlfilters_path(const char *name, char *buf, size_t sz)
 {
 	char perf[PATH_MAX];
 	char path[PATH_MAX];
@@ -224,12 +228,12 @@ static int get_dlfilters_path(char *buf, size_t sz)
 
 	perf_exe(perf, sizeof(perf));
 	perf_path = dirname(perf);
-	snprintf(path, sizeof(path), "%s/dlfilters/dlfilter-test-api-v0.so", perf_path);
+	snprintf(path, sizeof(path), "%s/dlfilters/%s", perf_path, name);
 	if (access(path, R_OK)) {
 		exec_path = get_argv_exec_path();
 		if (!exec_path)
 			return -1;
-		snprintf(path, sizeof(path), "%s/dlfilters/dlfilter-test-api-v0.so", exec_path);
+		snprintf(path, sizeof(path), "%s/dlfilters/%s", exec_path, name);
 		free(exec_path);
 		if (access(path, R_OK))
 			return -1;
@@ -244,9 +248,9 @@ static int check_filter_desc(struct test_data *td)
 	char *desc = NULL;
 	int ret;
 
-	if (get_filter_desc(td->dlfilters, "dlfilter-test-api-v0.so", &desc, &long_desc) &&
+	if (get_filter_desc(td->dlfilters, td->name, &desc, &long_desc) &&
 	    long_desc && !strcmp(long_desc, "Filter used by the 'dlfilter C API' perf test") &&
-	    desc && !strcmp(desc, "dlfilter to test v0 C API"))
+	    desc && !strcmp(desc, td->desc))
 		ret = 0;
 	else
 		ret = -1;
@@ -284,7 +288,7 @@ static int get_ip_addr(struct test_data *td)
 static int do_run_perf_script(struct test_data *td, int do_early)
 {
 	return system_cmd("%s script -i %s "
-			  "--dlfilter %s/dlfilter-test-api-v0.so "
+			  "--dlfilter %s/%s "
 			  "--dlarg first "
 			  "--dlarg %d "
 			  "--dlarg %" PRIu64 " "
@@ -292,7 +296,7 @@ static int do_run_perf_script(struct test_data *td, int do_early)
 			  "--dlarg %d "
 			  "--dlarg last",
 			  td->perf, td->perf_data_file_name, td->dlfilters,
-			  verbose, td->ip, td->addr, do_early);
+			  td->name, verbose, td->ip, td->addr, do_early);
 }
 
 static int run_perf_script(struct test_data *td)
@@ -321,7 +325,7 @@ static int test__dlfilter_test(struct test_data *td)
 	u64 id = 99;
 	int err;
 
-	if (get_dlfilters_path(td->dlfilters, PATH_MAX))
+	if (get_dlfilters_path(td->name, td->dlfilters, PATH_MAX))
 		return test_result("dlfilters not found", TEST_SKIP);
 
 	if (check_filter_desc(td))
@@ -399,14 +403,18 @@ static void test_data__free(struct test_data *td)
 	}
 }
 
-static int test__dlfilter(struct test_suite *test __maybe_unused, int subtest __maybe_unused)
+static int test__dlfilter_ver(int ver)
 {
 	struct test_data td = {.fd = -1};
 	int pid = getpid();
 	int err;
 
+	pr_debug("\n-- Testing version %d API --\n", ver);
+
 	perf_exe(td.perf, sizeof(td.perf));
 
+	snprintf(td.name, sizeof(td.name), "dlfilter-test-api-v%d.so", ver);
+	snprintf(td.desc, sizeof(td.desc), "dlfilter to test v%d C API", ver);
 	snprintf(td.perf_data_file_name, PATH_MAX, "/tmp/dlfilter-test-%u-perf-data", pid);
 	snprintf(td.c_file_name, PATH_MAX, "/tmp/dlfilter-test-%u-prog.c", pid);
 	snprintf(td.prog_file_name, PATH_MAX, "/tmp/dlfilter-test-%u-prog", pid);
@@ -416,4 +424,14 @@ static int test__dlfilter(struct test_suite *test __maybe_unused, int subtest __
 	return err;
 }
 
+static int test__dlfilter(struct test_suite *test __maybe_unused, int subtest __maybe_unused)
+{
+	int err = test__dlfilter_ver(0);
+
+	if (err)
+		return err;
+	/* No test for version 1 */
+	return test__dlfilter_ver(2);
+}
+
 DEFINE_SUITE("dlfilter C API", dlfilter);
diff --git a/tools/perf/util/dlfilter.c b/tools/perf/util/dlfilter.c
index 798a53d7e6c9d..e0f822ebb9b97 100644
--- a/tools/perf/util/dlfilter.c
+++ b/tools/perf/util/dlfilter.c
@@ -10,6 +10,8 @@
 #include <subcmd/exec-cmd.h>
 #include <linux/zalloc.h>
 #include <linux/build_bug.h>
+#include <linux/kernel.h>
+#include <linux/string.h>
 
 #include "debug.h"
 #include "event.h"
@@ -63,6 +65,7 @@ static void al_to_d_al(struct addr_location *al, struct perf_dlfilter_al *d_al)
 	d_al->addr = al->addr;
 	d_al->comm = NULL;
 	d_al->filtered = 0;
+	d_al->priv = NULL;
 }
 
 static struct addr_location *get_al(struct dlfilter *d)
@@ -151,6 +154,11 @@ static char **dlfilter__args(void *ctx, int *dlargc)
 	return d->dlargv;
 }
 
+static bool has_priv(struct perf_dlfilter_al *d_al_p)
+{
+	return d_al_p->size >= offsetof(struct perf_dlfilter_al, priv) + sizeof(d_al_p->priv);
+}
+
 static __s32 dlfilter__resolve_address(void *ctx, __u64 address, struct perf_dlfilter_al *d_al_p)
 {
 	struct dlfilter *d = (struct dlfilter *)ctx;
@@ -177,9 +185,29 @@ static __s32 dlfilter__resolve_address(void *ctx, __u64 address, struct perf_dlf
 	memcpy(d_al_p, &d_al, min((size_t)sz, sizeof(d_al)));
 	d_al_p->size = sz;
 
+	if (has_priv(d_al_p))
+		d_al_p->priv = memdup(&al, sizeof(al));
+
 	return 0;
 }
 
+static void dlfilter__al_cleanup(void *ctx __maybe_unused, struct perf_dlfilter_al *d_al_p)
+{
+	struct addr_location *al;
+
+	/* Ensure backward compatibility */
+	if (!has_priv(d_al_p) || !d_al_p->priv)
+		return;
+
+	al = d_al_p->priv;
+
+	d_al_p->priv = NULL;
+
+	addr_location__exit(al);
+
+	free(al);
+}
+
 static const __u8 *dlfilter__insn(void *ctx, __u32 *len)
 {
 	struct dlfilter *d = (struct dlfilter *)ctx;
@@ -297,6 +325,7 @@ static const struct perf_dlfilter_fns perf_dlfilter_fns = {
 	.resolve_addr    = dlfilter__resolve_addr,
 	.args            = dlfilter__args,
 	.resolve_address = dlfilter__resolve_address,
+	.al_cleanup      = dlfilter__al_cleanup,
 	.insn            = dlfilter__insn,
 	.srcline         = dlfilter__srcline,
 	.attr            = dlfilter__attr,
-- 
2.40.1




  parent reply	other threads:[~2023-09-17 19:48 UTC|newest]

Thread overview: 319+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-17 19:10 [PATCH 6.5 000/285] 6.5.4-rc1 review Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 001/285] net/ipv6: SKB symmetric hash should incorporate transport ports Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 002/285] drm/virtio: Conditionally allocate virtio_gpu_fence Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 003/285] scsi: ufs: core: Add advanced RPMB support where UFSHCI 4.0 does not support EHS length in UTRD Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 004/285] scsi: qla2xxx: Adjust IOCB resource on qpair create Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 005/285] scsi: qla2xxx: Limit TMF to 8 per function Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 006/285] scsi: qla2xxx: Fix deletion race condition Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 007/285] scsi: qla2xxx: fix inconsistent TMF timeout Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 008/285] scsi: qla2xxx: Fix command flush during TMF Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 009/285] scsi: qla2xxx: Fix erroneous link up failure Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 010/285] scsi: qla2xxx: Turn off noisy message log Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 011/285] scsi: qla2xxx: Fix session hang in gnl Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 012/285] scsi: qla2xxx: Fix TMF leak through Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 013/285] scsi: qla2xxx: Remove unsupported ql2xenabledif option Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 014/285] scsi: qla2xxx: Flush mailbox commands on chip reset Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 015/285] scsi: qla2xxx: Fix smatch warn for qla_init_iocb_limit() Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 016/285] scsi: qla2xxx: Error code did not return to upper layer Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 017/285] scsi: qla2xxx: Fix firmware resource tracking Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 018/285] null_blk: fix poll request timeout handling Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 019/285] kernfs: fix missing kernfs_iattr_rwsem locking Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 020/285] fbdev/ep93xx-fb: Do not assign to struct fb_info.dev Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 021/285] clk: qcom: camcc-sc7180: fix async resume during probe Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 022/285] drm/ast: Fix DRAM init on AST2200 Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 023/285] ASoC: tegra: Fix SFC conversion for few rates Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 024/285] ARM: dts: samsung: exynos4210-i9100: Fix LCD screens physical size Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 025/285] arm64: tegra: Update AHUB clock parent and rate on Tegra234 Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 026/285] arm64: tegra: Update AHUB clock parent and rate Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 027/285] clk: qcom: turingcc-qcs404: fix missing resume during probe Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 028/285] ARM: dts: qcom: msm8974pro-castor: correct inverted X of touchscreen Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 029/285] arm64: dts: qcom: msm8953-vince: drop duplicated touschreen parent interrupt Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 030/285] ARM: dts: qcom: msm8974pro-castor: correct touchscreen function names Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 031/285] ARM: dts: qcom: msm8974pro-castor: correct touchscreen syna,nosleep-mode Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 032/285] arm64: dts: renesas: rzg2l: Fix txdv-skew-psec typos Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 033/285] ARM: dts: BCM5301X: Extend RAM to full 256MB for Linksys EA6500 V2 Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 034/285] [SMB3] send channel sequence number in SMB3 requests after reconnects Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 035/285] memcg: drop kmem.limit_in_bytes Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 036/285] mm: hugetlb_vmemmap: fix a race between vmemmap pmd split Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 037/285] lib/test_meminit: allocate pages up to order MAX_ORDER Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 038/285] Multi-gen LRU: avoid race in inc_min_seq() Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 039/285] parisc: led: Fix LAN receive and transmit LEDs Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 040/285] parisc: led: Reduce CPU overhead for disk & lan LED computation Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 041/285] cifs: update desired access while requesting for directory lease Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 042/285] pinctrl: cherryview: fix address_space_handler() argument Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 043/285] dt-bindings: clock: xlnx,versal-clk: drop select:false Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 044/285] clk: imx: pll14xx: dynamically configure PLL for 393216000/361267200Hz Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 045/285] clk: imx: pll14xx: align pdiv with reference manual Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 046/285] clk: qcom: gcc-mdm9615: use proper parent for pll0_vote clock Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 047/285] soc: qcom: qmi_encdec: Restrict string length in decode Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 048/285] clk: qcom: dispcc-sm8450: fix runtime PM imbalance on probe errors Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 049/285] clk: qcom: dispcc-sm8550: " Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 050/285] clk: qcom: lpasscc-sc7280: fix missing resume during probe Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 051/285] clk: qcom: q6sstop-qcs404: " Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 052/285] clk: qcom: mss-sc7180: " Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 053/285] NFS: Fix a potential data corruption Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 054/285] NFSv4/pnfs: minor fix for cleanup path in nfs4_get_device_info Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 055/285] bus: mhi: host: Skip MHI reset if device is in RDDM Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 056/285] kbuild: rpm-pkg: define _arch conditionally Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 057/285] kbuild: do not run depmod for make modules_sign Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 058/285] kbuild: dummy-tools: make MPROFILE_KERNEL checks work on BE Greg Kroah-Hartman
2023-09-17 19:10 ` [PATCH 6.5 059/285] tpm_crb: Fix an error handling path in crb_acpi_add() Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 060/285] gfs2: Switch to wait_event in gfs2_logd Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 061/285] gfs2: low-memory forced flush fixes Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 062/285] mailbox: qcom-ipcc: fix incorrect num_chans counting Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 063/285] kconfig: fix possible buffer overflow Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 064/285] tools/mm: fix undefined reference to pthread_once Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 065/285] Input: iqs7222 - configure power mode before triggering ATI Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 066/285] perf trace: Really free the evsel->priv area Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 067/285] pwm: atmel-tcb: Harmonize resource allocation order Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 068/285] pwm: atmel-tcb: Fix resource freeing in error path and remove Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 069/285] backlight: lp855x: Initialize PWM state on first brightness change Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 070/285] backlight: gpio_backlight: Drop output GPIO direction check for initial power state Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 071/285] perf parse-events: Separate YYABORT and YYNOMEM cases Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 072/285] perf parse-events: Move instances of YYABORT to YYNOMEM Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 073/285] perf parse-events: Separate ENOMEM memory handling Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 074/285] perf parse-events: Additional error reporting Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 075/285] KVM: SVM: Dont defer NMI unblocking until next exit for SEV-ES guests Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 076/285] Input: tca6416-keypad - always expect proper IRQ number in i2c client Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 077/285] Input: tca6416-keypad - fix interrupt enable disbalance Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 078/285] perf annotate bpf: Dont enclose non-debug code with an assert() Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 079/285] x86/virt: Drop unnecessary check on extended CPUID level in cpu_has_svm() Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 080/285] perf script: Print "cgroup" field on the same line as "comm" Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 081/285] perf bpf-filter: Fix sample flag check with || Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 082/285] perf dlfilter: Initialize addr_location before passing it to thread__find_symbol_fb() Greg Kroah-Hartman
2023-09-17 19:11 ` Greg Kroah-Hartman [this message]
2023-09-17 19:11 ` [PATCH 6.5 084/285] perf vendor events: Update the JSON/events descriptions for power10 platform Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 085/285] perf vendor events: Drop some of the JSON/events " Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 086/285] perf vendor events: Drop STORES_PER_INST metric event " Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 087/285] perf vendor events: Move JSON/events to appropriate files " Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 088/285] perf vendor events: Update metric event names " Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 089/285] perf top: Dont pass an ERR_PTR() directly to perf_session__delete() Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 090/285] perf lock: " Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 091/285] watchdog: intel-mid_wdt: add MODULE_ALIAS() to allow auto-load Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 092/285] perf vendor events arm64: Remove L1D_CACHE_LMISS from AmpereOne list Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 093/285] pwm: lpc32xx: Remove handling of PWM channels Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 094/285] accel/ivpu: refactor deprecated strncpy Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 095/285] perf header: Fix missing PMU caps Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 096/285] i3c: master: svc: Describe member saved_regs Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 097/285] perf test stat_bpf_counters_cgrp: Fix shellcheck issue about logical operators Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 098/285] perf test stat_bpf_counters_cgrp: Enhance perf stat cgroup BPF counter test Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 099/285] regulator: tps6287x: Fix n_voltages Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 100/285] selftests/bpf: Fix flaky cgroup_iter_sleepable subtest Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 101/285] drm/i915: mark requests for GuC virtual engines to avoid use-after-free Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 102/285] blk-throttle: use calculate_io/bytes_allowed() for throtl_trim_slice() Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 103/285] blk-throttle: consider carryover_ios/bytes in throtl_trim_slice() Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 104/285] netfilter: nf_tables: Audit log setelem reset Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 105/285] netfilter: nf_tables: Audit log rule reset Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 106/285] smb: propagate error code of extract_sharename() Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 107/285] net/sched: fq_pie: avoid stalls in fq_pie_timer() Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 108/285] sctp: annotate data-races around sk->sk_wmem_queued Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 109/285] ipv4: annotate data-races around fi->fib_dead Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 110/285] net: read sk->sk_family once in sk_mc_loop() Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 111/285] net: fib: avoid warn splat in flow dissector Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 112/285] xsk: Fix xsk_diag use-after-free error during socket cleanup Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 113/285] ceph: make members in struct ceph_mds_request_args_ext a union Greg Kroah-Hartman
2023-09-18  8:04   ` Ilya Dryomov
2023-09-18  8:19     ` Xiubo Li
2023-09-18  8:43       ` Ilya Dryomov
2023-09-18  9:23         ` Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 114/285] drm/i915/gvt: Verify pfn is "valid" before dereferencing "struct page" Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 115/285] drm/i915/gvt: Put the page reference obtained by KVMs gfn_to_pfn() Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 116/285] drm/i915/gvt: Drop unused helper intel_vgpu_reset_gtt() Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 117/285] drm/amd/display: fix mode scaling (RMX_.*) Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 118/285] net/handshake: fix null-ptr-deref in handshake_nl_done_doit() Greg Kroah-Hartman
2023-09-17 19:11 ` [PATCH 6.5 119/285] net: use sk_forward_alloc_get() in sk_get_meminfo() Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 120/285] net: annotate data-races around sk->sk_forward_alloc Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 121/285] mptcp: annotate data-races around msk->rmem_fwd_alloc Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 122/285] net: annotate data-races around sk->sk_tsflags Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 123/285] net: annotate data-races around sk->sk_bind_phc Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 124/285] ipv4: ignore dst hint for multipath routes Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 125/285] ipv6: " Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 126/285] selftests/bpf: Fix a CI failure caused by vsock write Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 127/285] igb: disable virtualization features on 82580 Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 128/285] gve: fix frag_list chaining Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 129/285] veth: Fixing transmit return status for dropped packets Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 130/285] net: ipv6/addrconf: avoid integer underflow in ipv6_create_tempaddr Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 131/285] net: phy: micrel: Correct bit assignments for phy_device flags Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 132/285] bpf, sockmap: Fix skb refcnt race after locking changes Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 133/285] af_unix: Fix msg_controllen test in scm_pidfd_recv() for MSG_CMSG_COMPAT Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 134/285] af_unix: Fix data-races around user->unix_inflight Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 135/285] af_unix: Fix data-race around unix_tot_inflight Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 136/285] af_unix: Fix data-races around sk->sk_shutdown Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 137/285] af_unix: Fix data race around sk->sk_err Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 138/285] net: sched: sch_qfq: Fix UAF in qfq_dequeue() Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 139/285] kcm: Destroy mutex in kcm_exit_net() Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 140/285] octeontx2-af: Fix truncation of smq in CN10K NIX AQ enqueue mbox handler Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 141/285] igc: Change IGC_MIN to allow set rx/tx value between 64 and 80 Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 142/285] igbvf: Change IGBVF_MIN " Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 143/285] igb: Change IGB_MIN " Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 144/285] s390/zcrypt: dont leak memory if dev_set_name() fails Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 145/285] regulator: tps6594-regulator: Fix random kernel crash Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 146/285] idr: fix param name in idr_alloc_cyclic() doc Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 147/285] ip_tunnels: use DEV_STATS_INC() Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 148/285] net/mlx5e: Clear mirred devices array if the rule is split Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 149/285] net/mlx5: Give esw_offloads_load/unload_rep() "mlx5_" prefix Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 150/285] net/mlx5: Rework devlink port alloc/free into init/cleanup Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 151/285] net/mlx5: Push devlink port PF/VF init/cleanup calls out of devlink_port_register/unregister() Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 152/285] mlx5/core: E-Switch, Create ACL FT for eswitch manager in switchdev mode Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 153/285] net: dsa: sja1105: fix bandwidth discrepancy between tc-cbs software and offload Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 154/285] net: dsa: sja1105: fix -ENOSPC when replacing the same tc-cbs too many times Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 155/285] net: dsa: sja1105: complete tc-cbs offload support on SJA1110 Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 156/285] net: phylink: fix sphinx complaint about invalid literal Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 157/285] bpf: Invoke __bpf_prog_exit_sleepable_recur() on recursion in kern_sys_bpf() Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 158/285] bpf: Assign bpf_tramp_run_ctx::saved_run_ctx before recursion check Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 159/285] s390/bpf: Pass through tail call counter in trampolines Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 160/285] bpf: bpf_sk_storage: Fix invalid wait context lockdep report Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 161/285] bpf: bpf_sk_storage: Fix the missing uncharge in sk_omem_alloc Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 162/285] netfilter: nftables: exthdr: fix 4-byte stack OOB write Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 163/285] netfilter: nfnetlink_osf: avoid OOB read Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 164/285] netfilter: nft_set_rbtree: skip sync GC for new elements in this transaction Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 165/285] netfilter: nf_tables: Unbreak audit log reset Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 166/285] net: phy: Provide Module 4 KSZ9477 errata (DS80000754C) Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 167/285] net: hns3: fix tx timeout issue Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 168/285] net: hns3: fix byte order conversion issue in hclge_dbg_fd_tcam_read() Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 169/285] net: hns3: fix debugfs concurrency issue between kfree buffer and read Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 170/285] net: hns3: fix invalid mutex between tc qdisc and dcb ets command issue Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 171/285] net: hns3: fix the port information display when sfp is absent Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 172/285] net: hns3: remove GSO partial feature bit Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 173/285] net: enetc: distinguish error from valid pointers in enetc_fixup_clear_rss_rfs() Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 174/285] sh: boards: Fix CEU buffer size passed to dma_declare_coherent_memory() Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 175/285] sh: push-switch: Reorder cleanup operations to avoid use-after-free bug Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 176/285] linux/export: fix reference to exported functions for parisc64 Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 177/285] watchdog: advantech_ec_wdt: fix Kconfig dependencies Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 178/285] drm/amd/display: Temporary Disable MST DP Colorspace Property Greg Kroah-Hartman
2023-09-17 19:12 ` [PATCH 6.5 179/285] ARC: atomics: Add compiler barrier to atomic operations Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 180/285] clocksource/drivers/arm_arch_timer: Disable timer before programming CVAL Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 181/285] dmaengine: sh: rz-dmac: Fix destination and source data size setting Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 182/285] misc: fastrpc: Fix remote heap allocation request Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 183/285] misc: fastrpc: Fix incorrect DMA mapping unmap request Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 184/285] jbd2: fix checkpoint cleanup performance regression Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 185/285] jbd2: check jh->b_transaction before removing it from checkpoint Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 186/285] jbd2: correct the end of the journal recovery scan range Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 187/285] ext4: fix slab-use-after-free in ext4_es_insert_extent() Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 188/285] ext4: add correct group descriptors and reserved GDT blocks to system zone Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 189/285] ext4: fix memory leaks in ext4_fname_{setup_filename,prepare_lookup} Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 190/285] ext4: drop dio overwrite only flag and associated warning Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 191/285] f2fs: get out of a repeat loop when getting a locked data page Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 192/285] f2fs: flush inode if atomic file is aborted Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 193/285] f2fs: avoid false alarm of circular locking Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 194/285] lib: test_scanf: Add explicit type cast to result initialization in test_number_prefix() Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 195/285] hwspinlock: qcom: add missing regmap config for SFPB MMIO implementation Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 196/285] memcontrol: ensure memcg acquired by id is properly set up Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 197/285] ata: ahci: Add Elkhart Lake AHCI controller Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 198/285] ata: pata_falcon: fix IO base selection for Q40 Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 199/285] ata: sata_gemini: Add missing MODULE_DESCRIPTION Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 200/285] ata: pata_ftide010: " Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 201/285] fuse: nlookup missing decrement in fuse_direntplus_link Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 202/285] btrfs: zoned: do not zone finish data relocation block group Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 203/285] btrfs: fix start transaction qgroup rsv double free Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 204/285] btrfs: free qgroup rsv on io failure Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 205/285] btrfs: dont start transaction when joining with TRANS_JOIN_NOSTART Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 206/285] btrfs: set page extent mapped after read_folio in relocate_one_page Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 207/285] btrfs: zoned: re-enable metadata over-commit for zoned mode Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 208/285] btrfs: use the correct superblock to compare fsid in btrfs_validate_super Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 209/285] btrfs: scrub: avoid unnecessary extent tree search preparing stripes Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 210/285] btrfs: scrub: avoid unnecessary csum " Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 211/285] btrfs: scrub: fix grouping of read IO Greg Kroah-Hartman
2023-10-26 13:31   ` Sam James
2023-10-26 14:00     ` Holger Hoffstätte
2023-10-26 21:01       ` Qu Wenruo
2023-10-26 21:12         ` Sam James
2023-10-26 21:43           ` Qu Wenruo
2023-10-27  6:55         ` Holger Hoffstätte
2023-10-27  7:00           ` Qu Wenruo
2023-10-27  7:02             ` Qu Wenruo
2023-10-27  7:52             ` Holger Hoffstätte
2023-10-27  7:57               ` Qu Wenruo
2023-09-17 19:13 ` [PATCH 6.5 212/285] drm/mxsfb: Disable overlay plane in mxsfb_plane_overlay_atomic_disable() Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 213/285] mtd: rawnand: brcmnand: Fix crash during the panic_write Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 214/285] mtd: rawnand: brcmnand: Fix potential out-of-bounds access in oob write Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 215/285] mtd: spi-nor: Correct flags for Winbond w25q128 Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 216/285] mtd: rawnand: brcmnand: Fix potential false time out warning Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 217/285] mtd: rawnand: brcmnand: Fix ECC level field setting for v7.2 controller Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 218/285] Revert "drm/amd/display: Remove v_startup workaround for dcn3+" Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 219/285] drm/amd/display: enable cursor degamma for DCN3+ DRM legacy gamma Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 220/285] drm/amd/display: limit the v_startup workaround to ASICs older than DCN3.1 Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 221/285] drm/amd/display: prevent potential division by zero errors Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 222/285] KVM: VMX: Refresh available regs and IDT vectoring info before NMI handling Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 223/285] KVM: SVM: Take and hold ir_list_lock when updating vCPUs Physical ID entry Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 224/285] KVM: SVM: Dont inject #UD if KVM attempts to skip SEV guest insn Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 225/285] KVM: SVM: Get source vCPUs from source VM for SEV-ES intrahost migration Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 226/285] KVM: nSVM: Check instead of asserting on nested TSC scaling support Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 227/285] KVM: nSVM: Load L1s TSC multiplier based on L1 state, not L2 state Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 228/285] KVM: SVM: Set target pCPU during IRTE update if target vCPU is running Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 229/285] KVM: SVM: Skip VMSA init in sev_es_init_vmcb() if pointer is NULL Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 230/285] MIPS: Only fiddle with CHECKFLAGS if `need-compiler Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 231/285] MIPS: Fix CONFIG_CPU_DADDI_WORKAROUNDS `modules_install regression Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 232/285] perf hists browser: Fix hierarchy mode header Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 233/285] perf build: Update build rule for generated files Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 234/285] perf test shell stat_bpf_counters: Fix test on Intel Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 235/285] perf tools: Handle old data in PERF_RECORD_ATTR Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 236/285] perf build: Include generated header files properly Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 237/285] perf hists browser: Fix the number of entries for e key Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 238/285] drm/amd/display: always switch off ODM before committing more streams Greg Kroah-Hartman
2023-09-17 19:13 ` [PATCH 6.5 239/285] drm/amd/display: Remove wait while locked Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 240/285] drm/amdkfd: Add missing gfx11 MQD manager callbacks Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 241/285] drm/amdgpu: register a dirty framebuffer callback for fbcon Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 242/285] bpf: fix bpf_probe_read_kernel prototype mismatch Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 243/285] regulator: raa215300: Change the scope of the variables {clkin_name, xin_name} Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 244/285] regulator: raa215300: Fix resource leak in case of error Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 245/285] parisc: sba_iommu: Fix build warning if procfs if disabled Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 246/285] kunit: Fix wild-memory-access bug in kunit_free_suite_set() Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 247/285] net: ipv4: fix one memleak in __inet_del_ifa() Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 248/285] kselftest/runner.sh: Propagate SIGTERM to runner child Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 249/285] selftests: Keep symlinks, when possible Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 250/285] selftests/ftrace: Fix dependencies for some of the synthetic event tests Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 251/285] net: microchip: vcap api: Fix possible memory leak for vcap_dup_rule() Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 252/285] octeontx2-pf: Fix page pool cache index corruption Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 253/285] net/smc: use smc_lgr_list.lock to protect smc_lgr_list.list iterate in smcr_port_add Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 254/285] net: stmmac: fix handling of zero coalescing tx-usecs Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 255/285] net: ethernet: mvpp2_main: fix possible OOB write in mvpp2_ethtool_get_rxnfc() Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 256/285] net: ethernet: mtk_eth_soc: fix possible NULL pointer dereference in mtk_hwlro_get_fdir_all() Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 257/285] hsr: Fix uninit-value access in fill_frame_info() Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 258/285] net: ethernet: adi: adin1110: use eth_broadcast_addr() to assign broadcast address Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 259/285] net:ethernet:adi:adin1110: Fix forwarding offload Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 260/285] net: dsa: sja1105: hide all multicast addresses from "bridge fdb show" Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 261/285] net: dsa: sja1105: propagate exact error code from sja1105_dynamic_config_poll_valid() Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 262/285] net: dsa: sja1105: fix multicast forwarding working only for last added mdb entry Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 263/285] net: dsa: sja1105: serialize sja1105_port_mcast_flood() with other FDB accesses Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 264/285] net: dsa: sja1105: block FDB accesses that are concurrent with a switch reset Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 265/285] r8152: check budget for r8152_poll() Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 266/285] kcm: Fix memory leak in error path of kcm_sendmsg() Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 267/285] platform/mellanox: mlxbf-tmfifo: Drop the Rx packet if no more descriptors Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 268/285] platform/mellanox: mlxbf-tmfifo: Drop jumbo frames Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 269/285] platform/mellanox: mlxbf-pmc: Fix potential buffer overflows Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 270/285] platform/mellanox: mlxbf-pmc: Fix reading of unprogrammed events Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 271/285] platform/mellanox: NVSW_SN2201 should depend on ACPI Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 272/285] net/tls: do not free tls_rec on async operation in bpf_exec_tx_verdict() Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 273/285] net: macb: fix sleep inside spinlock Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 274/285] veth: Update XDP feature set when bringing up device Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 275/285] ipv6: fix ip6_sock_set_addr_preferences() typo Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 276/285] tcp: Factorise sk_family-independent comparison in inet_bind2_bucket_match(_addr_any) Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 277/285] tcp: Fix bind() regression for v4-mapped-v6 wildcard address Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 278/285] tcp: Fix bind() regression for v4-mapped-v6 non-wildcard address Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 279/285] selftest: tcp: Fix address length in bind_wildcard.c Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 280/285] ixgbe: fix timestamp configuration code Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 281/285] igb: clean up in all error paths when enabling SR-IOV Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 282/285] net: renesas: rswitch: Fix unmasking irq condition Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 283/285] kcm: Fix error handling for SOCK_DGRAM in kcm_sendmsg() Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 284/285] vm: fix move_vma() memory accounting being off Greg Kroah-Hartman
2023-09-17 19:14 ` [PATCH 6.5 285/285] drm/amd/display: Fix a bug when searching for insert_above_mpcc Greg Kroah-Hartman
2023-09-17 20:48 ` [PATCH 6.5 000/285] 6.5.4-rc1 review SeongJae Park
2023-09-18  7:00 ` Bagas Sanjaya
2023-09-18 11:20 ` Ron Economos
2023-09-18 12:52 ` Jon Hunter
2023-09-18 12:56   ` Greg Kroah-Hartman
2023-09-18 14:31     ` Jon Hunter
2023-09-18 15:17     ` Guenter Roeck
2023-09-19  7:55       ` Greg Kroah-Hartman
2023-09-18 19:47     ` Pavel Machek
2023-09-18 13:04   ` Jon Hunter
2023-09-18 13:14     ` Greg Kroah-Hartman
2023-09-18 14:44       ` Jon Hunter
2023-09-19  7:54   ` Greg Kroah-Hartman
2023-09-18 15:25 ` Justin Forbes
2023-09-18 17:57 ` Naresh Kamboju
2023-09-18 18:41 ` Guenter Roeck
2023-09-18 19:13 ` Florian Fainelli
2023-09-18 22:19 ` Shuah Khan
2023-09-19  8:27 ` Conor Dooley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230917191054.580662538@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=acme@redhat.com \
    --cc=adrian.hunter@intel.com \
    --cc=irogers@google.com \
    --cc=jolsa@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=patches@lists.linux.dev \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).