From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev,
"Masami Hiramatsu (Google)" <mhiramat@kernel.org>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.15 033/155] tracing/probes: Add symstr type for dynamic events
Date: Tue, 1 Aug 2023 11:19:05 +0200 [thread overview]
Message-ID: <20230801091911.368940431@linuxfoundation.org> (raw)
In-Reply-To: <20230801091910.165050260@linuxfoundation.org>
From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
[ Upstream commit b26a124cbfa80f42bfc4e63e1d5643ca98159d66 ]
Add 'symstr' type for storing the kernel symbol as a string data
instead of the symbol address. This allows us to filter the
events by wildcard symbol name.
e.g.
# echo 'e:wqfunc workqueue.workqueue_execute_start symname=$function:symstr' >> dynamic_events
# cat events/eprobes/wqfunc/format
name: wqfunc
ID: 2110
format:
field:unsigned short common_type; offset:0; size:2; signed:0;
field:unsigned char common_flags; offset:2; size:1; signed:0;
field:unsigned char common_preempt_count; offset:3; size:1; signed:0;
field:int common_pid; offset:4; size:4; signed:1;
field:__data_loc char[] symname; offset:8; size:4; signed:1;
print fmt: " symname=\"%s\"", __get_str(symname)
Note that there is already 'symbol' type which just change the
print format (so it still stores the symbol address in the tracing
ring buffer.) On the other hand, 'symstr' type stores the actual
"symbol+offset/size" data as a string.
Link: https://lore.kernel.org/all/166679930847.1528100.4124308529180235965.stgit@devnote3/
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Stable-dep-of: 66bcf65d6cf0 ("tracing/probes: Fix to avoid double count of the string length on the array")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
Documentation/trace/kprobetrace.rst | 8 +++--
kernel/trace/trace.c | 2 +-
kernel/trace/trace_probe.c | 44 ++++++++++++++++++---------
kernel/trace/trace_probe.h | 16 +++++++---
kernel/trace/trace_probe_tmpl.h | 47 +++++++++++++++++++++++++++--
5 files changed, 91 insertions(+), 26 deletions(-)
diff --git a/Documentation/trace/kprobetrace.rst b/Documentation/trace/kprobetrace.rst
index b175d88f31ebb..15e4bfa2bd83c 100644
--- a/Documentation/trace/kprobetrace.rst
+++ b/Documentation/trace/kprobetrace.rst
@@ -58,8 +58,8 @@ Synopsis of kprobe_events
NAME=FETCHARG : Set NAME as the argument name of FETCHARG.
FETCHARG:TYPE : Set TYPE as the type of FETCHARG. Currently, basic types
(u8/u16/u32/u64/s8/s16/s32/s64), hexadecimal types
- (x8/x16/x32/x64), "string", "ustring" and bitfield
- are supported.
+ (x8/x16/x32/x64), "string", "ustring", "symbol", "symstr"
+ and bitfield are supported.
(\*1) only for the probe on function entry (offs == 0).
(\*2) only for return probe.
@@ -96,6 +96,10 @@ offset, and container-size (usually 32). The syntax is::
Symbol type('symbol') is an alias of u32 or u64 type (depends on BITS_PER_LONG)
which shows given pointer in "symbol+offset" style.
+On the other hand, symbol-string type ('symstr') converts the given address to
+"symbol+offset/symbolsize" style and stores it as a null-terminated string.
+With 'symstr' type, you can filter the event with wildcard pattern of the
+symbols, and you don't need to solve symbol name by yourself.
For $comm, the default type is "string"; any other type is invalid.
.. _user_mem_access:
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 1dda36c7e5eb5..ae7005af78c34 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -5609,7 +5609,7 @@ static const char readme_msg[] =
"\t +|-[u]<offset>(<fetcharg>), \\imm-value, \\\"imm-string\"\n"
"\t type: s8/16/32/64, u8/16/32/64, x8/16/32/64, string, symbol,\n"
"\t b<bit-width>@<bit-offset>/<container-size>, ustring,\n"
- "\t <type>\\[<array-size>\\]\n"
+ "\t symstr, <type>\\[<array-size>\\]\n"
#ifdef CONFIG_HIST_TRIGGERS
"\t field: <stype> <name>;\n"
"\t stype: u8/u16/u32/u64, s8/s16/s32/s64, pid_t,\n"
diff --git a/kernel/trace/trace_probe.c b/kernel/trace/trace_probe.c
index cb8f9fe5669ad..90bae188d0928 100644
--- a/kernel/trace/trace_probe.c
+++ b/kernel/trace/trace_probe.c
@@ -76,9 +76,11 @@ const char PRINT_TYPE_FMT_NAME(string)[] = "\\\"%s\\\"";
/* Fetch type information table */
static const struct fetch_type probe_fetch_types[] = {
/* Special types */
- __ASSIGN_FETCH_TYPE("string", string, string, sizeof(u32), 1,
+ __ASSIGN_FETCH_TYPE("string", string, string, sizeof(u32), 1, 1,
"__data_loc char[]"),
- __ASSIGN_FETCH_TYPE("ustring", string, string, sizeof(u32), 1,
+ __ASSIGN_FETCH_TYPE("ustring", string, string, sizeof(u32), 1, 1,
+ "__data_loc char[]"),
+ __ASSIGN_FETCH_TYPE("symstr", string, string, sizeof(u32), 1, 1,
"__data_loc char[]"),
/* Basic types */
ASSIGN_FETCH_TYPE(u8, u8, 0),
@@ -658,16 +660,26 @@ static int traceprobe_parse_probe_arg_body(const char *argv, ssize_t *size,
ret = -EINVAL;
/* Store operation */
- if (!strcmp(parg->type->name, "string") ||
- !strcmp(parg->type->name, "ustring")) {
- if (code->op != FETCH_OP_DEREF && code->op != FETCH_OP_UDEREF &&
- code->op != FETCH_OP_IMM && code->op != FETCH_OP_COMM &&
- code->op != FETCH_OP_DATA && code->op != FETCH_OP_TP_ARG) {
- trace_probe_log_err(offset + (t ? (t - arg) : 0),
- BAD_STRING);
- goto fail;
+ if (parg->type->is_string) {
+ if (!strcmp(parg->type->name, "symstr")) {
+ if (code->op != FETCH_OP_REG && code->op != FETCH_OP_STACK &&
+ code->op != FETCH_OP_RETVAL && code->op != FETCH_OP_ARG &&
+ code->op != FETCH_OP_DEREF && code->op != FETCH_OP_TP_ARG) {
+ trace_probe_log_err(offset + (t ? (t - arg) : 0),
+ BAD_SYMSTRING);
+ goto fail;
+ }
+ } else {
+ if (code->op != FETCH_OP_DEREF && code->op != FETCH_OP_UDEREF &&
+ code->op != FETCH_OP_IMM && code->op != FETCH_OP_COMM &&
+ code->op != FETCH_OP_DATA && code->op != FETCH_OP_TP_ARG) {
+ trace_probe_log_err(offset + (t ? (t - arg) : 0),
+ BAD_STRING);
+ goto fail;
+ }
}
- if ((code->op == FETCH_OP_IMM || code->op == FETCH_OP_COMM ||
+ if (!strcmp(parg->type->name, "symstr") ||
+ (code->op == FETCH_OP_IMM || code->op == FETCH_OP_COMM ||
code->op == FETCH_OP_DATA) || code->op == FETCH_OP_TP_ARG ||
parg->count) {
/*
@@ -675,6 +687,8 @@ static int traceprobe_parse_probe_arg_body(const char *argv, ssize_t *size,
* must be kept, and if parg->count != 0, this is an
* array of string pointers instead of string address
* itself.
+ * For the symstr, it doesn't need to dereference, thus
+ * it just get the value.
*/
code++;
if (code->op != FETCH_OP_NOP) {
@@ -686,6 +700,8 @@ static int traceprobe_parse_probe_arg_body(const char *argv, ssize_t *size,
if (!strcmp(parg->type->name, "ustring") ||
code->op == FETCH_OP_UDEREF)
code->op = FETCH_OP_ST_USTRING;
+ else if (!strcmp(parg->type->name, "symstr"))
+ code->op = FETCH_OP_ST_SYMSTR;
else
code->op = FETCH_OP_ST_STRING;
code->size = parg->type->size;
@@ -915,8 +931,7 @@ static int __set_print_fmt(struct trace_probe *tp, char *buf, int len,
for (i = 0; i < tp->nr_args; i++) {
parg = tp->args + i;
if (parg->count) {
- if ((strcmp(parg->type->name, "string") == 0) ||
- (strcmp(parg->type->name, "ustring") == 0))
+ if (parg->type->is_string)
fmt = ", __get_str(%s[%d])";
else
fmt = ", REC->%s[%d]";
@@ -924,8 +939,7 @@ static int __set_print_fmt(struct trace_probe *tp, char *buf, int len,
pos += snprintf(buf + pos, LEN_OR_ZERO,
fmt, parg->name, j);
} else {
- if ((strcmp(parg->type->name, "string") == 0) ||
- (strcmp(parg->type->name, "ustring") == 0))
+ if (parg->type->is_string)
fmt = ", __get_str(%s)";
else
fmt = ", REC->%s";
diff --git a/kernel/trace/trace_probe.h b/kernel/trace/trace_probe.h
index 84d495cbd876a..0f0e5005b97a0 100644
--- a/kernel/trace/trace_probe.h
+++ b/kernel/trace/trace_probe.h
@@ -99,6 +99,7 @@ enum fetch_op {
FETCH_OP_ST_UMEM, /* Mem: .offset, .size */
FETCH_OP_ST_STRING, /* String: .offset, .size */
FETCH_OP_ST_USTRING, /* User String: .offset, .size */
+ FETCH_OP_ST_SYMSTR, /* Kernel Symbol String: .offset, .size */
// Stage 4 (modify) op
FETCH_OP_MOD_BF, /* Bitfield: .basesize, .lshift, .rshift */
// Stage 5 (loop) op
@@ -134,7 +135,8 @@ struct fetch_insn {
struct fetch_type {
const char *name; /* Name of type */
size_t size; /* Byte size of type */
- int is_signed; /* Signed flag */
+ bool is_signed; /* Signed flag */
+ bool is_string; /* String flag */
print_type_func_t print; /* Print functions */
const char *fmt; /* Format string */
const char *fmttype; /* Name in format file */
@@ -178,16 +180,19 @@ DECLARE_BASIC_PRINT_TYPE_FUNC(symbol);
#define _ADDR_FETCH_TYPE(t) __ADDR_FETCH_TYPE(t)
#define ADDR_FETCH_TYPE _ADDR_FETCH_TYPE(BITS_PER_LONG)
-#define __ASSIGN_FETCH_TYPE(_name, ptype, ftype, _size, sign, _fmttype) \
- {.name = _name, \
+#define __ASSIGN_FETCH_TYPE(_name, ptype, ftype, _size, sign, str, _fmttype) \
+ {.name = _name, \
.size = _size, \
- .is_signed = sign, \
+ .is_signed = (bool)sign, \
+ .is_string = (bool)str, \
.print = PRINT_TYPE_FUNC_NAME(ptype), \
.fmt = PRINT_TYPE_FMT_NAME(ptype), \
.fmttype = _fmttype, \
}
+
+/* Non string types can use these macros */
#define _ASSIGN_FETCH_TYPE(_name, ptype, ftype, _size, sign, _fmttype) \
- __ASSIGN_FETCH_TYPE(_name, ptype, ftype, _size, sign, #_fmttype)
+ __ASSIGN_FETCH_TYPE(_name, ptype, ftype, _size, sign, 0, #_fmttype)
#define ASSIGN_FETCH_TYPE(ptype, ftype, sign) \
_ASSIGN_FETCH_TYPE(#ptype, ptype, ftype, sizeof(ftype), sign, ptype)
@@ -432,6 +437,7 @@ extern int traceprobe_define_arg_fields(struct trace_event_call *event_call,
C(ARRAY_TOO_BIG, "Array number is too big"), \
C(BAD_TYPE, "Unknown type is specified"), \
C(BAD_STRING, "String accepts only memory argument"), \
+ C(BAD_SYMSTRING, "Symbol String doesn't accept data/userdata"), \
C(BAD_BITFIELD, "Invalid bitfield"), \
C(ARG_NAME_TOO_LONG, "Argument name is too long"), \
C(NO_ARG_NAME, "Argument name is not specified"), \
diff --git a/kernel/trace/trace_probe_tmpl.h b/kernel/trace/trace_probe_tmpl.h
index c293a607d5366..21799fa813ca8 100644
--- a/kernel/trace/trace_probe_tmpl.h
+++ b/kernel/trace/trace_probe_tmpl.h
@@ -67,6 +67,37 @@ probe_mem_read(void *dest, void *src, size_t size);
static nokprobe_inline int
probe_mem_read_user(void *dest, void *src, size_t size);
+static nokprobe_inline int
+fetch_store_symstrlen(unsigned long addr)
+{
+ char namebuf[KSYM_SYMBOL_LEN];
+ int ret;
+
+ ret = sprint_symbol(namebuf, addr);
+ if (ret < 0)
+ return 0;
+
+ return ret + 1;
+}
+
+/*
+ * Fetch a null-terminated symbol string + offset. Caller MUST set *(u32 *)buf
+ * with max length and relative data location.
+ */
+static nokprobe_inline int
+fetch_store_symstring(unsigned long addr, void *dest, void *base)
+{
+ int maxlen = get_loc_len(*(u32 *)dest);
+ void *__dest;
+
+ if (unlikely(!maxlen))
+ return -ENOMEM;
+
+ __dest = get_loc_data(dest, base);
+
+ return sprint_symbol(__dest, addr);
+}
+
/* From the 2nd stage, routine is same */
static nokprobe_inline int
process_fetch_insn_bottom(struct fetch_insn *code, unsigned long val,
@@ -99,16 +130,22 @@ process_fetch_insn_bottom(struct fetch_insn *code, unsigned long val,
stage3:
/* 3rd stage: store value to buffer */
if (unlikely(!dest)) {
- if (code->op == FETCH_OP_ST_STRING) {
+ switch (code->op) {
+ case FETCH_OP_ST_STRING:
ret = fetch_store_strlen(val + code->offset);
code++;
goto array;
- } else if (code->op == FETCH_OP_ST_USTRING) {
+ case FETCH_OP_ST_USTRING:
ret += fetch_store_strlen_user(val + code->offset);
code++;
goto array;
- } else
+ case FETCH_OP_ST_SYMSTR:
+ ret += fetch_store_symstrlen(val + code->offset);
+ code++;
+ goto array;
+ default:
return -EILSEQ;
+ }
}
switch (code->op) {
@@ -129,6 +166,10 @@ process_fetch_insn_bottom(struct fetch_insn *code, unsigned long val,
loc = *(u32 *)dest;
ret = fetch_store_string_user(val + code->offset, dest, base);
break;
+ case FETCH_OP_ST_SYMSTR:
+ loc = *(u32 *)dest;
+ ret = fetch_store_symstring(val + code->offset, dest, base);
+ break;
default:
return -EILSEQ;
}
--
2.39.2
next prev parent reply other threads:[~2023-08-01 9:24 UTC|newest]
Thread overview: 163+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-01 9:18 [PATCH 5.15 000/155] 5.15.124-rc1 review Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 001/155] jbd2: Fix wrongly judgement for buffer head removing while doing checkpoint Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 002/155] KVM: s390: pv: fix index value of replaced ASCE Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 003/155] io_uring: dont audit the capability check in io_uring_create() Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 004/155] gpio: tps68470: Make tps68470_gpio_output() always set the initial value Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 005/155] gpio: mvebu: Make use of devm_pwmchip_add Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 006/155] gpio: mvebu: fix irq domain leak Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 007/155] btrfs: fix race between quota disable and relocation Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 008/155] i2c: Delete error messages for failed memory allocations Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 009/155] i2c: Improve size determinations Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 010/155] i2c: nomadik: Remove unnecessary goto label Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 011/155] i2c: nomadik: Use devm_clk_get_enabled() Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 012/155] i2c: nomadik: Remove a useless call in the remove function Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 013/155] PCI/ASPM: Return 0 or -ETIMEDOUT from pcie_retrain_link() Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 014/155] PCI/ASPM: Factor out pcie_wait_for_retrain() Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 015/155] PCI/ASPM: Avoid link retraining race Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 016/155] PCI: rockchip: Remove writes to unused registers Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 017/155] PCI: rockchip: Fix window mapping and address translation for endpoint Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 018/155] PCI: rockchip: Dont advertise MSI-X in PCIe capabilities Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 019/155] dlm: cleanup plock_op vs plock_xop Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 020/155] dlm: rearrange async condition return Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 021/155] fs: dlm: interrupt posix locks only when process is killed Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 022/155] drm/ttm: Dont print error message if eviction was interrupted Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 023/155] drm/ttm: Dont leak a resource on eviction error Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 024/155] n_tty: Rename tail to old_tail in n_tty_read() Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 025/155] tty: fix hang on tty device with no_room set Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 026/155] drm/ttm: never consider pinned BOs for eviction&swap Greg Kroah-Hartman
2023-08-01 9:18 ` [PATCH 5.15 027/155] cifs: missing directory in MAINTAINERS file Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 028/155] cifs: use fs_context for automounts Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 029/155] ksmbd: remove internal.h include Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 030/155] cifs: if deferred close is disabled then close files immediately Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 031/155] pwm: meson: Simplify duplicated per-channel tracking Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 032/155] pwm: meson: fix handling of period/duty if greater than UINT_MAX Greg Kroah-Hartman
2023-08-01 9:19 ` Greg Kroah-Hartman [this message]
2023-08-01 9:19 ` [PATCH 5.15 034/155] tracing/probes: Fix to avoid double count of the string length on the array Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 035/155] tracing: Allow synthetic events to pass around stacktraces Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 036/155] Revert "tracing: Add "(fault)" name injection to kernel probes" Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 037/155] tracing/probes: Fix to record 0-length data_loc in fetch_store_string*() if fails Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 038/155] scsi: qla2xxx: Remove unused declarations for qla2xxx Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 041/155] scsi: qla2xxx: Fix task management cmd fail due to unavailable resource Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 042/155] scsi: qla2xxx: Add debug prints in the device remove path Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 043/155] scsi: qla2xxx: Fix hang in task management Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 044/155] drm/amdgpu: fix vkms crtc settings Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 045/155] drm/amdgpu/vkms: relax timer deactivation by hrtimer_try_to_cancel Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 046/155] jbd2: remove t_checkpoint_io_list Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 047/155] jbd2: remove journal_clean_one_cp_list() Greg Kroah-Hartman
2023-08-01 13:09 ` Jan Kara
2023-08-02 6:46 ` Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 048/155] jbd2: fix a race when checking checkpoint buffer busy Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 049/155] phy: qcom-snps: Use dev_err_probe() to simplify code Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 050/155] phy: qcom-snps: correct struct qcom_snps_hsphy kerneldoc Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 051/155] phy: qcom-snps-femto-v2: keep cfg_ahb_clk enabled during runtime suspend Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 052/155] phy: qcom-snps-femto-v2: properly enable ref clock Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 053/155] soundwire: qcom: update status correctly with mask Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 054/155] media: staging: atomisp: select V4L2_FWNODE Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 055/155] i40e: Fix an NULL vs IS_ERR() bug for debugfs_create_dir() Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 056/155] iavf: fix potential deadlock on allocation failure Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 057/155] iavf: check for removal state before IAVF_FLAG_PF_COMMS_FAILED Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 058/155] net: phy: marvell10g: fix 88x3310 power up Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 059/155] net: hns3: fix wrong tc bandwidth weight data issue Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 060/155] net: hns3: fix wrong bw weight of disabled tc issue Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 061/155] vxlan: move to its own directory Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 062/155] vxlan: calculate correct header length for GPE Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 063/155] phy: hisilicon: Fix an out of bounds check in hisi_inno_phy_probe() Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 064/155] ethernet: atheros: fix return value check in atl1e_tso_csum() Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 065/155] ipv6 addrconf: fix bug where deleting a mngtmpaddr can create a new temporary address Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 066/155] tcp: Reduce chance of collisions in inet6_hashfn() Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 067/155] ice: Fix memory management in ice_ethtool_fdir.c Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 068/155] bonding: reset bonds flags when down link is P2P device Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 069/155] team: reset teams " Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 070/155] net: stmmac: Apply redundant write work around on 4.xx too Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 071/155] platform/x86: msi-laptop: Fix rfkill out-of-sync on MSI Wind U100 Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 072/155] igc: Fix Kernel Panic during ndo_tx_timeout callback Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 073/155] netfilter: nft_set_rbtree: fix overlap expiration walk Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 074/155] netfilter: nf_tables: skip immediate deactivate in _PREPARE_ERROR Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 075/155] netfilter: nf_tables: disallow rule addition to bound chain via NFTA_RULE_CHAIN_ID Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 076/155] net/sched: mqprio: refactor nlattr parsing to a separate function Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 077/155] net/sched: mqprio: add extack to mqprio_parse_nlattr() Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 078/155] net/sched: mqprio: Add length check for TCA_MQPRIO_{MAX/MIN}_RATE64 Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 079/155] benet: fix return value check in be_lancer_xmit_workarounds() Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 080/155] tipc: check return value of pskb_trim() Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 081/155] tipc: stop tipc crypto on failure in tipc_node_create Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 082/155] RDMA/mlx4: Make check for invalid flags stricter Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 083/155] drm/msm/dpu: drop enum dpu_core_perf_data_bus_id Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 084/155] drm/msm/adreno: Fix snapshot BINDLESS_DATA size Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 085/155] RDMA/irdma: Add missing read barriers Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 086/155] RDMA/irdma: Fix data race on CQP completion stats Greg Kroah-Hartman
2023-08-01 9:19 ` [PATCH 5.15 087/155] RDMA/irdma: Fix data race on CQP request done Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 088/155] RDMA/mthca: Fix crash when polling CQ for shared QPs Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 089/155] RDMA/bnxt_re: Prevent handling any completions after qp destroy Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 090/155] drm/msm: Fix IS_ERR_OR_NULL() vs NULL check in a5xx_submit_in_rb() Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 091/155] ASoC: fsl_spdif: Silence output on stop Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 092/155] block: Fix a source code comment in include/uapi/linux/blkzoned.h Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 093/155] dm raid: fix missing reconfig_mutex unlock in raid_ctr() error paths Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 094/155] dm raid: clean up four equivalent goto tags in raid_ctr() Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 095/155] dm raid: protect md_stop() with reconfig_mutex Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 096/155] drm/amd: Fix an error handling mistake in psp_sw_init() Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 097/155] RDMA/irdma: Report correct WC error Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 098/155] ata: pata_ns87415: mark ns87560_tf_read static Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 099/155] ring-buffer: Fix wrong stat of cpu_buffer->read Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 100/155] tracing: Fix warning in trace_buffered_event_disable() Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 101/155] Revert "usb: gadget: tegra-xudc: Fix error check in tegra_xudc_powerdomain_init()" Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 102/155] usb: gadget: call usb_gadget_check_config() to verify UDC capability Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 103/155] USB: gadget: Fix the memory leak in raw_gadget driver Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 104/155] KVM: Grab a reference to KVM for VM and vCPU stats file descriptors Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 105/155] KVM: VMX: Dont fudge CR0 and CR4 for restricted L2 guest Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 106/155] serial: qcom-geni: drop bogus runtime pm state update Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 107/155] serial: 8250_dw: Preserve original value of DLF register Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 108/155] serial: sifive: Fix sifive_serial_console_setup() section Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 109/155] USB: serial: option: support Quectel EM060K_128 Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 110/155] USB: serial: option: add Quectel EC200A module support Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 111/155] USB: serial: simple: add Kaufmann RKS+CAN VCP Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 112/155] USB: serial: simple: sort driver entries Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 113/155] can: gs_usb: gs_can_close(): add missing set of CAN state to CAN_STATE_STOPPED Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 114/155] Revert "usb: dwc3: core: Enable AutoRetry feature in the controller" Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 115/155] usb: dwc3: pci: skip BYT GPIO lookup table for hardwired phy Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 116/155] usb: dwc3: dont reset device side if dwc3 was configured as host-only Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 117/155] usb: ohci-at91: Fix the unhandle interrupt when resume Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 118/155] USB: quirks: add quirk for Focusrite Scarlett Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 119/155] usb: cdns3: fix incorrect calculation of ep_buf_size when more than one config Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 120/155] usb: xhci-mtk: set the dma max_seg_size Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 121/155] Revert "usb: xhci: tegra: Fix error check" Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 122/155] Documentation: security-bugs.rst: update preferences when dealing with the linux-distros group Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 123/155] Documentation: security-bugs.rst: clarify CVE handling Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 124/155] staging: r8712: Fix memory leak in _r8712_init_xmit_priv() Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 125/155] staging: ks7010: potential buffer overflow in ks_wlan_set_encode_ext() Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 126/155] tty: n_gsm: fix UAF in gsm_cleanup_mux Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 127/155] Revert "xhci: add quirk for host controllers that dont update endpoint DCS" Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 128/155] ALSA: hda/relatek: Enable Mute LED on HP 250 G8 Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 129/155] hwmon: (k10temp) Enable AMD3255 Proc to show negative temperature Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 130/155] hwmon: (nct7802) Fix for temp6 (PECI1) processed even if PECI1 disabled Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 131/155] btrfs: check if the transaction was aborted at btrfs_wait_for_commit() Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 132/155] btrfs: check for commit error at btrfs_attach_transaction_barrier() Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 133/155] file: always lock position for FMODE_ATOMIC_POS Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 134/155] nfsd: Remove incorrect check in nfsd4_validate_stateid Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 135/155] tpm_tis: Explicitly check for error code Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 136/155] irq-bcm6345-l1: Do not assume a fixed block to cpu mapping Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 137/155] irqchip/gic-v4.1: Properly lock VPEs when doing a directLPI invalidation Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 138/155] locking/rtmutex: Fix task->pi_waiters integrity Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 139/155] KVM: x86: Disallow KVM_SET_SREGS{2} if incoming CR0 is invalid Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 140/155] virtio-net: fix race between set queues and probe Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 141/155] s390/dasd: fix hanging device after quiesce/resume Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 142/155] ASoC: wm8904: Fill the cache for WM8904_ADC_TEST_0 register Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 143/155] ceph: never send metrics if disable_send_metrics is set Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 144/155] dm cache policy smq: ensure IO doesnt prevent cleaner policy progress Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 145/155] rbd: make get_lock_owner_info() return a single locker or NULL Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 146/155] rbd: harden get_lock_owner_info() a bit Greg Kroah-Hartman
2023-08-01 9:20 ` [PATCH 5.15 147/155] rbd: retrieve and check lock owner twice before blocklisting Greg Kroah-Hartman
2023-08-01 9:21 ` [PATCH 5.15 148/155] tracing: Fix trace_event_raw_event_synth() if else statement Greg Kroah-Hartman
2023-08-01 9:21 ` [PATCH 5.15 149/155] ACPI: processor: perflib: Use the "no limit" frequency QoS Greg Kroah-Hartman
2023-08-01 9:21 ` [PATCH 5.15 150/155] ACPI: processor: perflib: Avoid updating frequency QoS unnecessarily Greg Kroah-Hartman
2023-08-01 9:21 ` [PATCH 5.15 151/155] cpufreq: intel_pstate: Drop ACPI _PSS states table patching Greg Kroah-Hartman
2023-08-01 9:21 ` [PATCH 5.15 152/155] selftests: mptcp: sockopt: use iptables-legacy if available Greg Kroah-Hartman
2023-08-01 9:21 ` [PATCH 5.15 153/155] io_uring: treat -EAGAIN for REQ_F_NOWAIT as final for io-wq Greg Kroah-Hartman
2023-08-01 9:21 ` [PATCH 5.15 154/155] ASoC: cs42l51: fix driver to properly autoload with automatic module loading Greg Kroah-Hartman
2023-08-01 9:21 ` [PATCH 5.15 155/155] selftests: mptcp: join: only check for ip6tables if needed Greg Kroah-Hartman
2023-08-01 15:52 ` [PATCH 5.15 000/155] 5.15.124-rc1 review Jon Hunter
2023-08-01 16:15 ` SeongJae Park
2023-08-01 16:30 ` Florian Fainelli
2023-08-01 20:21 ` Shuah Khan
2023-08-02 1:57 ` Naresh Kamboju
2023-08-02 6:50 ` Greg Kroah-Hartman
2023-08-02 4:57 ` Harshit Mogalapalli
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=20230801091911.368940431@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=mhiramat@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).