All of lore.kernel.org
 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, Luis Chamberlain <mcgrof@kernel.org>,
	Russ Weight <russell.h.weight@intel.com>,
	Takashi Iwai <tiwai@suse.de>,
	Tianfei Zhang <tianfei.zhang@intel.com>,
	Shuah Khan <shuah@kernel.org>,
	Colin Ian King <colin.i.king@gmail.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	linux-kselftest@vger.kernel.org,
	Dan Carpenter <error27@gmail.com>,
	Mirsad Goran Todorovac <mirsad.todorovac@alu.unizg.hr>
Subject: [PATCH 5.4 134/154] test_firmware: prevent race conditions by a correct implementation of locking
Date: Wed,  9 Aug 2023 12:42:45 +0200	[thread overview]
Message-ID: <20230809103641.322333265@linuxfoundation.org> (raw)
In-Reply-To: <20230809103636.887175326@linuxfoundation.org>

From: Mirsad Goran Todorovac <mirsad.todorovac@alu.unizg.hr>

commit 4acfe3dfde685a5a9eaec5555351918e2d7266a1 upstream.

Dan Carpenter spotted a race condition in a couple of situations like
these in the test_firmware driver:

static int test_dev_config_update_u8(const char *buf, size_t size, u8 *cfg)
{
        u8 val;
        int ret;

        ret = kstrtou8(buf, 10, &val);
        if (ret)
                return ret;

        mutex_lock(&test_fw_mutex);
        *(u8 *)cfg = val;
        mutex_unlock(&test_fw_mutex);

        /* Always return full write size even if we didn't consume all */
        return size;
}

static ssize_t config_num_requests_store(struct device *dev,
                                         struct device_attribute *attr,
                                         const char *buf, size_t count)
{
        int rc;

        mutex_lock(&test_fw_mutex);
        if (test_fw_config->reqs) {
                pr_err("Must call release_all_firmware prior to changing config\n");
                rc = -EINVAL;
                mutex_unlock(&test_fw_mutex);
                goto out;
        }
        mutex_unlock(&test_fw_mutex);

        rc = test_dev_config_update_u8(buf, count,
                                       &test_fw_config->num_requests);

out:
        return rc;
}

static ssize_t config_read_fw_idx_store(struct device *dev,
                                        struct device_attribute *attr,
                                        const char *buf, size_t count)
{
        return test_dev_config_update_u8(buf, count,
                                         &test_fw_config->read_fw_idx);
}

The function test_dev_config_update_u8() is called from both the locked
and the unlocked context, function config_num_requests_store() and
config_read_fw_idx_store() which can both be called asynchronously as
they are driver's methods, while test_dev_config_update_u8() and siblings
change their argument pointed to by u8 *cfg or similar pointer.

To avoid deadlock on test_fw_mutex, the lock is dropped before calling
test_dev_config_update_u8() and re-acquired within test_dev_config_update_u8()
itself, but alas this creates a race condition.

Having two locks wouldn't assure a race-proof mutual exclusion.

This situation is best avoided by the introduction of a new, unlocked
function __test_dev_config_update_u8() which can be called from the locked
context and reducing test_dev_config_update_u8() to:

static int test_dev_config_update_u8(const char *buf, size_t size, u8 *cfg)
{
        int ret;

        mutex_lock(&test_fw_mutex);
        ret = __test_dev_config_update_u8(buf, size, cfg);
        mutex_unlock(&test_fw_mutex);

        return ret;
}

doing the locking and calling the unlocked primitive, which enables both
locked and unlocked versions without duplication of code.

The similar approach was applied to all functions called from the locked
and the unlocked context, which safely mitigates both deadlocks and race
conditions in the driver.

__test_dev_config_update_bool(), __test_dev_config_update_u8() and
__test_dev_config_update_size_t() unlocked versions of the functions
were introduced to be called from the locked contexts as a workaround
without releasing the main driver's lock and thereof causing a race
condition.

The test_dev_config_update_bool(), test_dev_config_update_u8() and
test_dev_config_update_size_t() locked versions of the functions
are being called from driver methods without the unnecessary multiplying
of the locking and unlocking code for each method, and complicating
the code with saving of the return value across lock.

Fixes: 7feebfa487b92 ("test_firmware: add support for request_firmware_into_buf")
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Russ Weight <russell.h.weight@intel.com>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: Tianfei Zhang <tianfei.zhang@intel.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Colin Ian King <colin.i.king@gmail.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: linux-kselftest@vger.kernel.org
Cc: stable@vger.kernel.org # v5.4
Suggested-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Mirsad Goran Todorovac <mirsad.todorovac@alu.unizg.hr>
Link: https://lore.kernel.org/r/20230509084746.48259-1-mirsad.todorovac@alu.unizg.hr
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 lib/test_firmware.c |   37 ++++++++++++++++++++++++++++---------
 1 file changed, 28 insertions(+), 9 deletions(-)

--- a/lib/test_firmware.c
+++ b/lib/test_firmware.c
@@ -301,16 +301,26 @@ static ssize_t config_test_show_str(char
 	return len;
 }
 
-static int test_dev_config_update_bool(const char *buf, size_t size,
-				       bool *cfg)
+static inline int __test_dev_config_update_bool(const char *buf, size_t size,
+						bool *cfg)
 {
 	int ret;
 
-	mutex_lock(&test_fw_mutex);
 	if (strtobool(buf, cfg) < 0)
 		ret = -EINVAL;
 	else
 		ret = size;
+
+	return ret;
+}
+
+static int test_dev_config_update_bool(const char *buf, size_t size,
+				       bool *cfg)
+{
+	int ret;
+
+	mutex_lock(&test_fw_mutex);
+	ret = __test_dev_config_update_bool(buf, size, cfg);
 	mutex_unlock(&test_fw_mutex);
 
 	return ret;
@@ -340,7 +350,7 @@ static ssize_t test_dev_config_show_int(
 	return snprintf(buf, PAGE_SIZE, "%d\n", val);
 }
 
-static int test_dev_config_update_u8(const char *buf, size_t size, u8 *cfg)
+static inline int __test_dev_config_update_u8(const char *buf, size_t size, u8 *cfg)
 {
 	int ret;
 	long new;
@@ -352,14 +362,23 @@ static int test_dev_config_update_u8(con
 	if (new > U8_MAX)
 		return -EINVAL;
 
-	mutex_lock(&test_fw_mutex);
 	*(u8 *)cfg = new;
-	mutex_unlock(&test_fw_mutex);
 
 	/* Always return full write size even if we didn't consume all */
 	return size;
 }
 
+static int test_dev_config_update_u8(const char *buf, size_t size, u8 *cfg)
+{
+	int ret;
+
+	mutex_lock(&test_fw_mutex);
+	ret = __test_dev_config_update_u8(buf, size, cfg);
+	mutex_unlock(&test_fw_mutex);
+
+	return ret;
+}
+
 static ssize_t test_dev_config_show_u8(char *buf, u8 cfg)
 {
 	u8 val;
@@ -392,10 +411,10 @@ static ssize_t config_num_requests_store
 		mutex_unlock(&test_fw_mutex);
 		goto out;
 	}
-	mutex_unlock(&test_fw_mutex);
 
-	rc = test_dev_config_update_u8(buf, count,
-				       &test_fw_config->num_requests);
+	rc = __test_dev_config_update_u8(buf, count,
+					 &test_fw_config->num_requests);
+	mutex_unlock(&test_fw_mutex);
 
 out:
 	return rc;



  parent reply	other threads:[~2023-08-09 11:32 UTC|newest]

Thread overview: 160+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-09 10:40 [PATCH 5.4 000/154] 5.4.253-rc1 review Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 001/154] jbd2: fix incorrect code style Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 002/154] jbd2: fix kernel-doc markups Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 003/154] jbd2: remove redundant buffer io error checks Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 004/154] jbd2: recheck chechpointing non-dirty buffer Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 005/154] jbd2: Fix wrongly judgement for buffer head removing while doing checkpoint Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 006/154] gpio: tps68470: Make tps68470_gpio_output() always set the initial value Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 007/154] bcache: remove int n from parameter list of bch_bucket_alloc_set() Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 008/154] bcache: Fix __bch_btree_node_alloc to make the failure behavior consistent Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 009/154] btrfs: qgroup: catch reserved space leaks at unmount time Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 010/154] btrfs: fix race between quota disable and relocation Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 011/154] btrfs: fix extent buffer leak after tree mod log failure at split_node() Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 012/154] ext4: rename journal_dev to s_journal_dev inside ext4_sb_info Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 013/154] ext4: Fix reusing stale buffer heads from last failed mounting Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 014/154] PCI/ASPM: Return 0 or -ETIMEDOUT from pcie_retrain_link() Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 015/154] PCI/ASPM: Factor out pcie_wait_for_retrain() Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 016/154] PCI/ASPM: Avoid link retraining race Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 017/154] dlm: cleanup plock_op vs plock_xop Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 018/154] dlm: rearrange async condition return Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 019/154] fs: dlm: interrupt posix locks only when process is killed Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 020/154] ftrace: Add information on number of page groups allocated Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 021/154] ftrace: Check if pages were allocated before calling free_pages() Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 022/154] ftrace: Store the order of pages allocated in ftrace_page Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 023/154] ftrace: Fix possible warning on checking all pages used in ftrace_process_locs() Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 024/154] pwm: meson: Remove redundant assignment to variable fin_freq Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 025/154] pwm: meson: Simplify duplicated per-channel tracking Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 026/154] pwm: meson: fix handling of period/duty if greater than UINT_MAX Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 027/154] scsi: qla2xxx: Fix inconsistent format argument type in qla_os.c Greg Kroah-Hartman
2023-08-09 10:40 ` [PATCH 5.4 028/154] scsi: qla2xxx: Array index may go out of bound Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 029/154] uapi: General notification queue definitions Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 030/154] keys: Fix linking a duplicate key to a keyrings assoc_array Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 031/154] ext4: fix to check return value of freeze_bdev() in ext4_shutdown() Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 032/154] i40e: Fix an NULL vs IS_ERR() bug for debugfs_create_dir() Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 033/154] vxlan: calculate correct header length for GPE Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 034/154] phy: hisilicon: Fix an out of bounds check in hisi_inno_phy_probe() Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 035/154] ethernet: atheros: fix return value check in atl1e_tso_csum() Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 036/154] ipv6 addrconf: fix bug where deleting a mngtmpaddr can create a new temporary address Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 037/154] tcp: Reduce chance of collisions in inet6_hashfn() Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 038/154] bonding: reset bonds flags when down link is P2P device Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 039/154] team: reset teams " Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 040/154] platform/x86: msi-laptop: Fix rfkill out-of-sync on MSI Wind U100 Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 041/154] net/sched: mqprio: refactor nlattr parsing to a separate function Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 042/154] net/sched: mqprio: add extack to mqprio_parse_nlattr() Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 043/154] net/sched: mqprio: Add length check for TCA_MQPRIO_{MAX/MIN}_RATE64 Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 044/154] benet: fix return value check in be_lancer_xmit_workarounds() Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 045/154] RDMA/mlx4: Make check for invalid flags stricter Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 046/154] drm/msm/dpu: drop enum dpu_core_perf_data_bus_id Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 047/154] drm/msm/adreno: Fix snapshot BINDLESS_DATA size Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 048/154] drm/msm: Fix IS_ERR_OR_NULL() vs NULL check in a5xx_submit_in_rb() Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 049/154] ASoC: fsl_spdif: Silence output on stop Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 050/154] block: Fix a source code comment in include/uapi/linux/blkzoned.h Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 051/154] dm raid: fix missing reconfig_mutex unlock in raid_ctr() error paths Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 052/154] ata: pata_ns87415: mark ns87560_tf_read static Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 053/154] ring-buffer: Fix wrong stat of cpu_buffer->read Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 054/154] tracing: Fix warning in trace_buffered_event_disable() Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 055/154] serial: 8250_dw: Preserve original value of DLF register Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 056/154] serial: sifive: Fix sifive_serial_console_setup() section Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 057/154] USB: serial: option: support Quectel EM060K_128 Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 058/154] USB: serial: option: add Quectel EC200A module support Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 059/154] USB: serial: simple: add Kaufmann RKS+CAN VCP Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 060/154] USB: serial: simple: sort driver entries Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 061/154] can: gs_usb: gs_can_close(): add missing set of CAN state to CAN_STATE_STOPPED Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 062/154] Revert "usb: dwc3: core: Enable AutoRetry feature in the controller" Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 063/154] usb: dwc3: pci: skip BYT GPIO lookup table for hardwired phy Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 064/154] usb: dwc3: dont reset device side if dwc3 was configured as host-only Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 065/154] usb: ohci-at91: Fix the unhandle interrupt when resume Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 066/154] USB: quirks: add quirk for Focusrite Scarlett Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 067/154] usb: xhci-mtk: set the dma max_seg_size Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 068/154] Revert "usb: xhci: tegra: Fix error check" Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 069/154] Documentation: security-bugs.rst: update preferences when dealing with the linux-distros group Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 070/154] Documentation: security-bugs.rst: clarify CVE handling Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 071/154] staging: ks7010: potential buffer overflow in ks_wlan_set_encode_ext() Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 072/154] hwmon: (nct7802) Fix for temp6 (PECI1) processed even if PECI1 disabled Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 073/154] btrfs: check for commit error at btrfs_attach_transaction_barrier() Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 074/154] tpm_tis: Explicitly check for error code Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 075/154] irq-bcm6345-l1: Do not assume a fixed block to cpu mapping Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 076/154] btrfs: check if the transaction was aborted at btrfs_wait_for_commit() Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 077/154] virtio-net: fix race between set queues and probe Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 078/154] s390/dasd: fix hanging device after quiesce/resume Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 079/154] ASoC: wm8904: Fill the cache for WM8904_ADC_TEST_0 register Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 080/154] dm cache policy smq: ensure IO doesnt prevent cleaner policy progress Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 081/154] ACPI: processor: perflib: Use the "no limit" frequency QoS Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 082/154] ACPI: processor: perflib: Avoid updating frequency QoS unnecessarily Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 083/154] cpufreq: intel_pstate: Drop ACPI _PSS states table patching Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 084/154] btrfs: qgroup: remove one-time use variables for quota_root checks Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 085/154] btrfs: qgroup: return ENOTCONN instead of EINVAL when quotas are not enabled Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 086/154] btrfs: fix race between quota disable and quota assign ioctls Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 087/154] net/sched: sch_qfq: account for stab overhead in qfq_enqueue Greg Kroah-Hartman
2023-08-09 10:41 ` [PATCH 5.4 088/154] ASoC: cs42l51: fix driver to properly autoload with automatic module loading Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 089/154] arm64: Add AMPERE1 to the Spectre-BHB affected list Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 090/154] arm64: Fix bit-shifting UB in the MIDR_CPU_MODEL() macro Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 091/154] perf: Fix function pointer case Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 092/154] loop: Select I/O scheduler none from inside add_disk() Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 093/154] word-at-a-time: use the same return type for has_zero regardless of endianness Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 094/154] KVM: s390: fix sthyi error handling Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 095/154] net/mlx5: DR, fix memory leak in mlx5dr_cmd_create_reformat_ctx Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 096/154] net/mlx5e: fix return value check in mlx5e_ipsec_remove_trailer() Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 097/154] rtnetlink: let rtnl_bridge_setlink checks IFLA_BRIDGE_MODE length Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 098/154] perf test uprobe_from_different_cu: Skip if there is no gcc Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 099/154] net: sched: cls_u32: Fix match key mis-addressing Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 100/154] mISDN: hfcpci: Fix potential deadlock on &hc->lock Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 101/154] net: annotate data-races around sk->sk_max_pacing_rate Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 102/154] net: add missing READ_ONCE(sk->sk_rcvlowat) annotation Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 103/154] net: add missing READ_ONCE(sk->sk_sndbuf) annotation Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 104/154] net: add missing READ_ONCE(sk->sk_rcvbuf) annotation Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 105/154] net: add missing data-race annotations around sk->sk_peek_off Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 106/154] net: add missing data-race annotation for sk_ll_usec Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 107/154] net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after-free Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 108/154] net/sched: cls_fw: " Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 109/154] net/sched: cls_route: " Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 110/154] bpf: sockmap: Remove preempt_disable in sock_map_sk_acquire Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 111/154] driver core: add device probe log helper Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 112/154] net: ll_temac: Switch to use dev_err_probe() helper Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 113/154] net: ll_temac: fix error checking of irq_of_parse_and_map() Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 114/154] net: dcb: choose correct policy to parse DCB_ATTR_BCN Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 115/154] ip6mr: Fix skb_under_panic in ip6mr_cache_report() Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 116/154] tcp_metrics: fix addr_same() helper Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 117/154] tcp_metrics: annotate data-races around tm->tcpm_stamp Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 118/154] tcp_metrics: annotate data-races around tm->tcpm_lock Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 119/154] tcp_metrics: annotate data-races around tm->tcpm_vals[] Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 120/154] tcp_metrics: annotate data-races around tm->tcpm_net Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 121/154] tcp_metrics: fix data-race in tcpm_suck_dst() vs fastopen Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 122/154] scsi: zfcp: Defer fc_rport blocking until after ADISC response Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 123/154] libceph: fix potential hang in ceph_osdc_notify() Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 124/154] USB: zaurus: Add ID for A-300/B-500/C-700 Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 125/154] mtd: spinand: toshiba: Fix ecc_get_status Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 126/154] mtd: rawnand: meson: fix OOB available bytes for ECC Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 127/154] net: tun_chr_open(): set sk_uid from current_fsuid() Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 128/154] net: tap_open(): " Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 129/154] fs/sysv: Null check to prevent null-ptr-deref bug Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 130/154] Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 131/154] net: usbnet: Fix WARNING in usbnet_start_xmit/usb_submit_urb Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 132/154] fs: Protect reconfiguration of sb read-write from racing writes Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 133/154] ext2: Drop fragment support Greg Kroah-Hartman
2023-08-09 10:42 ` Greg Kroah-Hartman [this message]
2023-08-09 10:42 ` [PATCH 5.4 135/154] test_firmware: return ENOMEM instead of ENOSPC on failed memory allocation Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 136/154] mtd: rawnand: omap_elm: Fix incorrect type in assignment Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 137/154] powerpc/mm/altmap: Fix altmap boundary check Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 138/154] selftests/rseq: check if libc rseq support is registered Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 139/154] selftests/rseq: Play nice with binaries statically linked against glibc 2.35+ Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 140/154] PM / wakeirq: support enabling wake-up irq after runtime_suspend called Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 141/154] PM: sleep: wakeirq: fix wake irq arming Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 142/154] ceph: show tasks waiting on caps in debugfs caps file Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 143/154] ceph: use kill_anon_super helper Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 144/154] ceph: defer stopping mdsc delayed_work Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 145/154] arm64: dts: stratix10: fix incorrect I2C property for SCL signal Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 146/154] ARM: dts: imx6sll: Make ssi node name same as other platforms Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 147/154] ARM: dts: imx: Align L2 cache-controller nodename with dtschema Greg Kroah-Hartman
2023-08-09 10:42 ` [PATCH 5.4 148/154] ARM: dts: imx: add usb alias Greg Kroah-Hartman
2023-08-09 10:43 ` [PATCH 5.4 149/154] ARM: dts: imx6sll: fixup of operating points Greg Kroah-Hartman
2023-08-09 10:43 ` [PATCH 5.4 150/154] ARM: dts: nxp/imx6sll: fix wrong property name in usbphy node Greg Kroah-Hartman
2023-08-09 10:43 ` [PATCH 5.4 151/154] driver core: Annotate dev_err_probe() with __must_check Greg Kroah-Hartman
2023-08-09 10:43 ` [PATCH 5.4 152/154] driver code: print symbolic error code Greg Kroah-Hartman
2023-08-09 10:43 ` [PATCH 5.4 153/154] drivers: core: fix kernel-doc markup for dev_err_probe() Greg Kroah-Hartman
2023-08-09 10:43 ` [PATCH 5.4 154/154] Revert "driver core: Annotate dev_err_probe() with __must_check" Greg Kroah-Hartman
2023-08-09 18:17 ` [PATCH 5.4 000/154] 5.4.253-rc1 review Florian Fainelli
2023-08-10 10:15 ` Harshit Mogalapalli
2023-08-10 16:01 ` Guenter Roeck
2023-08-11  6:55 ` Naresh Kamboju
2023-08-14 11:53 ` Thierry Reding

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=20230809103641.322333265@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=colin.i.king@gmail.com \
    --cc=error27@gmail.com \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=mcgrof@kernel.org \
    --cc=mirsad.todorovac@alu.unizg.hr \
    --cc=patches@lists.linux.dev \
    --cc=rdunlap@infradead.org \
    --cc=russell.h.weight@intel.com \
    --cc=shuah@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=tianfei.zhang@intel.com \
    --cc=tiwai@suse.de \
    /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 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.