linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Jan Kara <jack@suse.cz>, kernel test robot <lkp@intel.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.4 111/183] quota: Fix rcu annotations of inode dquot pointers
Date: Sun, 24 Mar 2024 19:45:24 -0400	[thread overview]
Message-ID: <20240324234638.1355609-112-sashal@kernel.org> (raw)
In-Reply-To: <20240324234638.1355609-1-sashal@kernel.org>

From: Jan Kara <jack@suse.cz>

[ Upstream commit 179b8c97ebf63429589f5afeba59a181fe70603e ]

Dquot pointers in i_dquot array in the inode are protected by
dquot_srcu. Annotate the array pointers with __rcu, perform the locked
dereferences with srcu_dereference_check() instead of plain reads, and
set the array elements with rcu_assign_pointer().

Fixes: b9ba6f94b238 ("quota: remove dqptr_sem")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202402061900.rTuYDlo6-lkp@intel.com/
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/quota/dquot.c | 66 ++++++++++++++++++++++++++++--------------------
 1 file changed, 39 insertions(+), 27 deletions(-)

diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c
index c4726a1895582..a7ddb874912d4 100644
--- a/fs/quota/dquot.c
+++ b/fs/quota/dquot.c
@@ -399,7 +399,7 @@ int dquot_mark_dquot_dirty(struct dquot *dquot)
 EXPORT_SYMBOL(dquot_mark_dquot_dirty);
 
 /* Dirtify all the dquots - this can block when journalling */
-static inline int mark_all_dquot_dirty(struct dquot * const *dquots)
+static inline int mark_all_dquot_dirty(struct dquot __rcu * const *dquots)
 {
 	int ret, err, cnt;
 	struct dquot *dquot;
@@ -997,14 +997,15 @@ struct dquot *dqget(struct super_block *sb, struct kqid qid)
 }
 EXPORT_SYMBOL(dqget);
 
-static inline struct dquot **i_dquot(struct inode *inode)
+static inline struct dquot __rcu **i_dquot(struct inode *inode)
 {
-	return inode->i_sb->s_op->get_dquots(inode);
+	/* Force __rcu for now until filesystems are fixed */
+	return (struct dquot __rcu **)inode->i_sb->s_op->get_dquots(inode);
 }
 
 static int dqinit_needed(struct inode *inode, int type)
 {
-	struct dquot * const *dquots;
+	struct dquot __rcu * const *dquots;
 	int cnt;
 
 	if (IS_NOQUOTA(inode))
@@ -1094,14 +1095,16 @@ static void remove_dquot_ref(struct super_block *sb, int type)
 		 */
 		spin_lock(&dq_data_lock);
 		if (!IS_NOQUOTA(inode)) {
-			struct dquot **dquots = i_dquot(inode);
-			struct dquot *dquot = dquots[type];
+			struct dquot __rcu **dquots = i_dquot(inode);
+			struct dquot *dquot = srcu_dereference_check(
+				dquots[type], &dquot_srcu,
+				lockdep_is_held(&dq_data_lock));
 
 #ifdef CONFIG_QUOTA_DEBUG
 			if (unlikely(inode_get_rsv_space(inode) > 0))
 				reserved = 1;
 #endif
-			dquots[type] = NULL;
+			rcu_assign_pointer(dquots[type], NULL);
 			if (dquot)
 				dqput(dquot);
 		}
@@ -1454,7 +1457,8 @@ static int inode_quota_active(const struct inode *inode)
 static int __dquot_initialize(struct inode *inode, int type)
 {
 	int cnt, init_needed = 0;
-	struct dquot **dquots, *got[MAXQUOTAS] = {};
+	struct dquot __rcu **dquots;
+	struct dquot *got[MAXQUOTAS] = {};
 	struct super_block *sb = inode->i_sb;
 	qsize_t rsv;
 	int ret = 0;
@@ -1529,7 +1533,7 @@ static int __dquot_initialize(struct inode *inode, int type)
 		if (!got[cnt])
 			continue;
 		if (!dquots[cnt]) {
-			dquots[cnt] = got[cnt];
+			rcu_assign_pointer(dquots[cnt], got[cnt]);
 			got[cnt] = NULL;
 			/*
 			 * Make quota reservation system happy if someone
@@ -1537,12 +1541,16 @@ static int __dquot_initialize(struct inode *inode, int type)
 			 */
 			rsv = inode_get_rsv_space(inode);
 			if (unlikely(rsv)) {
+				struct dquot *dquot = srcu_dereference_check(
+					dquots[cnt], &dquot_srcu,
+					lockdep_is_held(&dq_data_lock));
+
 				spin_lock(&inode->i_lock);
 				/* Get reservation again under proper lock */
 				rsv = __inode_get_rsv_space(inode);
-				spin_lock(&dquots[cnt]->dq_dqb_lock);
-				dquots[cnt]->dq_dqb.dqb_rsvspace += rsv;
-				spin_unlock(&dquots[cnt]->dq_dqb_lock);
+				spin_lock(&dquot->dq_dqb_lock);
+				dquot->dq_dqb.dqb_rsvspace += rsv;
+				spin_unlock(&dquot->dq_dqb_lock);
 				spin_unlock(&inode->i_lock);
 			}
 		}
@@ -1564,7 +1572,7 @@ EXPORT_SYMBOL(dquot_initialize);
 
 bool dquot_initialize_needed(struct inode *inode)
 {
-	struct dquot **dquots;
+	struct dquot __rcu **dquots;
 	int i;
 
 	if (!inode_quota_active(inode))
@@ -1589,13 +1597,14 @@ EXPORT_SYMBOL(dquot_initialize_needed);
 static void __dquot_drop(struct inode *inode)
 {
 	int cnt;
-	struct dquot **dquots = i_dquot(inode);
+	struct dquot __rcu **dquots = i_dquot(inode);
 	struct dquot *put[MAXQUOTAS];
 
 	spin_lock(&dq_data_lock);
 	for (cnt = 0; cnt < MAXQUOTAS; cnt++) {
-		put[cnt] = dquots[cnt];
-		dquots[cnt] = NULL;
+		put[cnt] = srcu_dereference_check(dquots[cnt], &dquot_srcu,
+					lockdep_is_held(&dq_data_lock));
+		rcu_assign_pointer(dquots[cnt], NULL);
 	}
 	spin_unlock(&dq_data_lock);
 	dqput_all(put);
@@ -1603,7 +1612,7 @@ static void __dquot_drop(struct inode *inode)
 
 void dquot_drop(struct inode *inode)
 {
-	struct dquot * const *dquots;
+	struct dquot __rcu * const *dquots;
 	int cnt;
 
 	if (IS_NOQUOTA(inode))
@@ -1676,7 +1685,7 @@ int __dquot_alloc_space(struct inode *inode, qsize_t number, int flags)
 	int cnt, ret = 0, index;
 	struct dquot_warn warn[MAXQUOTAS];
 	int reserve = flags & DQUOT_SPACE_RESERVE;
-	struct dquot **dquots;
+	struct dquot __rcu **dquots;
 	struct dquot *dquot;
 
 	if (!inode_quota_active(inode)) {
@@ -1746,7 +1755,7 @@ int dquot_alloc_inode(struct inode *inode)
 {
 	int cnt, ret = 0, index;
 	struct dquot_warn warn[MAXQUOTAS];
-	struct dquot * const *dquots;
+	struct dquot __rcu * const *dquots;
 	struct dquot *dquot;
 
 	if (!inode_quota_active(inode))
@@ -1791,7 +1800,7 @@ EXPORT_SYMBOL(dquot_alloc_inode);
  */
 int dquot_claim_space_nodirty(struct inode *inode, qsize_t number)
 {
-	struct dquot **dquots;
+	struct dquot __rcu **dquots;
 	struct dquot *dquot;
 	int cnt, index;
 
@@ -1833,7 +1842,7 @@ EXPORT_SYMBOL(dquot_claim_space_nodirty);
  */
 void dquot_reclaim_space_nodirty(struct inode *inode, qsize_t number)
 {
-	struct dquot **dquots;
+	struct dquot __rcu **dquots;
 	struct dquot *dquot;
 	int cnt, index;
 
@@ -1877,7 +1886,7 @@ void __dquot_free_space(struct inode *inode, qsize_t number, int flags)
 {
 	unsigned int cnt;
 	struct dquot_warn warn[MAXQUOTAS];
-	struct dquot **dquots;
+	struct dquot __rcu **dquots;
 	struct dquot *dquot;
 	int reserve = flags & DQUOT_SPACE_RESERVE, index;
 
@@ -1934,7 +1943,7 @@ void dquot_free_inode(struct inode *inode)
 {
 	unsigned int cnt;
 	struct dquot_warn warn[MAXQUOTAS];
-	struct dquot * const *dquots;
+	struct dquot __rcu * const *dquots;
 	struct dquot *dquot;
 	int index;
 
@@ -1981,6 +1990,7 @@ int __dquot_transfer(struct inode *inode, struct dquot **transfer_to)
 	qsize_t cur_space;
 	qsize_t rsv_space = 0;
 	qsize_t inode_usage = 1;
+	struct dquot __rcu **dquots;
 	struct dquot *transfer_from[MAXQUOTAS] = {};
 	int cnt, index, ret = 0;
 	char is_valid[MAXQUOTAS] = {};
@@ -2013,6 +2023,7 @@ int __dquot_transfer(struct inode *inode, struct dquot **transfer_to)
 	}
 	cur_space = __inode_get_bytes(inode);
 	rsv_space = __inode_get_rsv_space(inode);
+	dquots = i_dquot(inode);
 	/*
 	 * Build the transfer_from list, check limits, and update usage in
 	 * the target structures.
@@ -2027,7 +2038,8 @@ int __dquot_transfer(struct inode *inode, struct dquot **transfer_to)
 		if (!sb_has_quota_active(inode->i_sb, cnt))
 			continue;
 		is_valid[cnt] = 1;
-		transfer_from[cnt] = i_dquot(inode)[cnt];
+		transfer_from[cnt] = srcu_dereference_check(dquots[cnt],
+				&dquot_srcu, lockdep_is_held(&dq_data_lock));
 		ret = dquot_add_inodes(transfer_to[cnt], inode_usage,
 				       &warn_to[cnt]);
 		if (ret)
@@ -2066,7 +2078,7 @@ int __dquot_transfer(struct inode *inode, struct dquot **transfer_to)
 						  rsv_space);
 			spin_unlock(&transfer_from[cnt]->dq_dqb_lock);
 		}
-		i_dquot(inode)[cnt] = transfer_to[cnt];
+		rcu_assign_pointer(dquots[cnt], transfer_to[cnt]);
 	}
 	spin_unlock(&inode->i_lock);
 	spin_unlock(&dq_data_lock);
@@ -2077,8 +2089,8 @@ int __dquot_transfer(struct inode *inode, struct dquot **transfer_to)
 	 * mark_all_dquot_dirty().
 	 */
 	index = srcu_read_lock(&dquot_srcu);
-	mark_all_dquot_dirty(transfer_from);
-	mark_all_dquot_dirty(transfer_to);
+	mark_all_dquot_dirty((struct dquot __rcu **)transfer_from);
+	mark_all_dquot_dirty((struct dquot __rcu **)transfer_to);
 	srcu_read_unlock(&dquot_srcu, index);
 
 	flush_warnings(warn_to);
-- 
2.43.0


  parent reply	other threads:[~2024-03-24 23:48 UTC|newest]

Thread overview: 186+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-24 23:43 [PATCH 5.4 000/183] 5.4.273-rc1 review Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 001/183] io_uring/unix: drop usage of io_uring socket Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 002/183] io_uring: drop any code related to SCM_RIGHTS Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 003/183] selftests: tls: use exact comparison in recv_partial Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 004/183] ASoC: rt5645: Make LattePanda board DMI match more precise Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 005/183] x86/xen: Add some null pointer checking to smp.c Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 006/183] MIPS: Clear Cause.BD in instruction_pointer_set Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 007/183] HID: multitouch: Add required quirk for Synaptics 0xcddc device Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 008/183] RDMA/mlx5: Relax DEVX access upon modify commands Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 009/183] net/iucv: fix the allocation size of iucv_path_table array Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 010/183] parisc/ftrace: add missing CONFIG_DYNAMIC_FTRACE check Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 011/183] block: sed-opal: handle empty atoms when parsing response Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 012/183] dm-verity, dm-crypt: align "struct bvec_iter" correctly Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 013/183] btrfs: fix data race at btrfs_use_block_rsv() when accessing block reserve Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 014/183] scsi: mpt3sas: Prevent sending diag_reset when the controller is ready Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 015/183] Bluetooth: rfcomm: Fix null-ptr-deref in rfcomm_check_security Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 016/183] firewire: core: use long bus reset on gap count error Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 017/183] ASoC: Intel: bytcr_rt5640: Add an extra entry for the Chuwi Vi8 tablet Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 018/183] Input: gpio_keys_polled - suppress deferred probe error for gpio Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 019/183] ASoC: wm8962: Enable oscillator if selecting WM8962_FLL_OSC Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 020/183] ASoC: wm8962: Enable both SPKOUTR_ENA and SPKOUTL_ENA in mono mode Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 021/183] ASoC: wm8962: Fix up incorrect error message in wm8962_set_fll Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 022/183] do_sys_name_to_handle(): use kzalloc() to fix kernel-infoleak Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 023/183] nbd: null check for nla_nest_start Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 024/183] fs/select: rework stack allocation hack for clang Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 025/183] aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts Sasha Levin
2024-03-24 23:43 ` [PATCH 5.4 026/183] timekeeping: Fix cross-timestamp interpolation on counter wrap Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 027/183] timekeeping: Fix cross-timestamp interpolation corner case decision Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 028/183] timekeeping: Fix cross-timestamp interpolation for non-x86 Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 029/183] wifi: ath10k: fix NULL pointer dereference in ath10k_wmi_tlv_op_pull_mgmt_tx_compl_ev() Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 030/183] b43: dma: Fix use true/false for bool type variable Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 031/183] wifi: b43: Stop/wake correct queue in DMA Tx path when QoS is disabled Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 032/183] wifi: b43: Stop/wake correct queue in PIO " Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 033/183] b43: main: Fix use true/false for bool type Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 034/183] wifi: b43: Stop correct queue in DMA worker when QoS is disabled Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 035/183] wifi: b43: Disable QoS for bcm4331 Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 036/183] wifi: wilc1000: fix declarations ordering Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 037/183] wifi: wilc1000: fix RCU usage in connect path Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 038/183] wifi: mwifiex: debugfs: Drop unnecessary error check for debugfs_create_dir() Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 039/183] ARM: dts: renesas: r8a73a4: Fix external clocks and clock rate Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 040/183] cpufreq: brcmstb-avs-cpufreq: add check for cpufreq_cpu_get's return value Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 041/183] sock_diag: annotate data-races around sock_diag_handlers[family] Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 042/183] af_unix: Annotate data-race of gc_in_progress in wait_for_unix_gc() Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 043/183] net: blackhole_dev: fix build warning for ethh set but not used Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 044/183] wifi: libertas: fix some memleaks in lbs_allocate_cmd_buffer() Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 045/183] arm64: dts: mediatek: mt7622: add missing "device_type" to memory nodes Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 046/183] bpf: Add typecast to bpf helpers to help BTF generation Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 047/183] bpf: Factor out bpf_spin_lock into helpers Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 048/183] bpf: Mark bpf_spin_{lock,unlock}() helpers with notrace correctly Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 049/183] arm64: dts: qcom: db820c: Move non-soc entries out of /soc Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 050/183] arm64: dts: qcom: msm8996: Use node references in db820c Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 051/183] arm64: dts: qcom: msm8996: Move regulator consumers to db820c Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 052/183] arm64: dts: qcom: msm8996: Pad addresses Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 053/183] ACPI: processor_idle: Fix memory leak in acpi_processor_power_exit() Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 054/183] bus: tegra-aconnect: Update dependency to ARCH_TEGRA Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 055/183] iommu/amd: Mark interrupt as managed Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 056/183] wifi: brcmsmac: avoid function pointer casts Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 057/183] net: ena: cosmetic: fix line break issues Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 058/183] net: ena: Remove ena_select_queue Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 059/183] ARM: dts: arm: realview: Fix development chip ROM compatible value Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 060/183] ARM: dts: imx6dl-yapp4: Move phy reset into switch node Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 061/183] ARM: dts: imx6dl-yapp4: Fix typo in the QCA switch register address Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 062/183] ARM: dts: imx6dl-yapp4: Move the internal switch PHYs under the switch node Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 063/183] ACPI: scan: Fix device check notification handling Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 064/183] x86, relocs: Ignore relocations in .notes section Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 065/183] SUNRPC: fix some memleaks in gssx_dec_option_array Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 066/183] mmc: wmt-sdmmc: remove an incorrect release_mem_region() call in the .remove function Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 067/183] igb: move PEROUT and EXTTS isr logic to separate functions Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 068/183] igb: Fix missing time sync events Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 069/183] Bluetooth: Remove superfluous call to hci_conn_check_pending() Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 070/183] Bluetooth: hci_core: Fix possible buffer overflow Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 071/183] sr9800: Add check for usbnet_get_endpoints Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 072/183] bpf: Fix hashtab overflow check on 32-bit arches Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 073/183] bpf: Fix stackmap " Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 074/183] ipv6: fib6_rules: flush route cache when rule is changed Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 075/183] net: ip_tunnel: make sure to pull inner header in ip_tunnel_rcv() Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 076/183] net: hns3: fix port duplex configure error in IMP reset Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 077/183] tcp: fix incorrect parameter validation in the do_tcp_getsockopt() function Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 078/183] l2tp: fix incorrect parameter validation in the pppol2tp_getsockopt() function Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 079/183] udp: fix incorrect parameter validation in the udp_lib_getsockopt() function Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 080/183] net: kcm: fix incorrect parameter validation in the kcm_getsockopt) function Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 081/183] net/x25: fix incorrect parameter validation in the x25_getsockopt() function Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 082/183] nfp: flower: handle acti_netdevs allocation failure Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 083/183] dm raid: fix false positive for requeue needed during reshape Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 084/183] dm: call the resume method on internal suspend Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 085/183] drm/tegra: dsi: Add missing check for of_find_device_by_node Sasha Levin
2024-03-24 23:44 ` [PATCH 5.4 086/183] gpu: host1x: mipi: Update tegra_mipi_request() to be node based Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 087/183] drm/tegra: dsi: Make use of the helper function dev_err_probe() Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 088/183] drm/tegra: dsi: Fix some error handling paths in tegra_dsi_probe() Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 089/183] drm/tegra: dsi: Fix missing pm_runtime_disable() in the error handling path of tegra_dsi_probe() Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 090/183] drm/tegra: output: Fix missing i2c_put_adapter() in the error handling paths of tegra_output_probe() Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 091/183] drm/rockchip: inno_hdmi: Fix video timing Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 092/183] drm: Don't treat 0 as -1 in drm_fixp2int_ceil Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 093/183] drm/rockchip: lvds: do not overwrite error code Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 094/183] dmaengine: tegra210-adma: Update dependency to ARCH_TEGRA Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 095/183] media: tc358743: register v4l2 async device only after successful setup Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 096/183] PCI/DPC: Print all TLP Prefixes, not just the first Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 097/183] perf record: Fix possible incorrect free in record__switch_output() Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 098/183] drm/amd/display: Fix potential NULL pointer dereferences in 'dcn10_set_output_transfer_func()' Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 099/183] perf evsel: Fix duplicate initialization of data->id in evsel__parse_sample() Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 100/183] PCI/AER: Fix rootport attribute paths in ABI docs Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 101/183] media: em28xx: annotate unchecked call to media_device_register() Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 102/183] media: v4l2-tpg: fix some memleaks in tpg_alloc Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 103/183] media: v4l2-mem2mem: fix a memleak in v4l2_m2m_register_entity Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 104/183] media: edia: dvbdev: fix a use-after-free Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 105/183] clk: qcom: reset: Allow specifying custom reset delay Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 106/183] clk: qcom: reset: support resetting multiple bits Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 107/183] clk: qcom: reset: Commonize the de/assert functions Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 108/183] clk: qcom: reset: Ensure write completion on reset de/assertion Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 109/183] quota: simplify drop_dquot_ref() Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 110/183] quota: Fix potential NULL pointer dereference Sasha Levin
2024-03-24 23:45 ` Sasha Levin [this message]
2024-03-24 23:45 ` [PATCH 5.4 112/183] PCI: switchtec: Fix an error handling path in switchtec_pci_probe() Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 113/183] perf thread_map: Free strlist on normal path in thread_map__new_by_tid_str() Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 114/183] drm/radeon/ni: Fix wrong firmware size logging in ni_init_microcode() Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 115/183] ALSA: seq: fix function cast warnings Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 116/183] perf stat: Avoid metric-only segv Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 117/183] media: imx: csc/scaler: fix v4l2_ctrl_handler memory leak Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 118/183] media: go7007: add check of return value of go7007_read_addr() Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 119/183] media: pvrusb2: remove redundant NULL check Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 120/183] media: pvrusb2: fix pvr2_stream_callback casts Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 121/183] clk: qcom: dispcc-sdm845: Adjust internal GDSC wait times Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 122/183] drm/mediatek: dsi: Fix DSI RGB666 formats and definitions Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 123/183] PCI: Mark 3ware-9650SE Root Port Extended Tags as broken Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 124/183] clk: hisilicon: hi3519: Release the correct number of gates in hi3519_clk_unregister() Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 125/183] drm/tegra: put drm_gem_object ref on error in tegra_fb_create Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 126/183] mfd: syscon: Call of_node_put() only when of_parse_phandle() takes a ref Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 127/183] mfd: altera-sysmgr: " Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 128/183] crypto: arm/sha - fix function cast warnings Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 129/183] mtd: maps: physmap-core: fix flash size larger than 32-bit Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 130/183] mtd: rawnand: lpc32xx_mlc: fix irq handler prototype Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 131/183] ASoC: meson: axg-tdm-interface: fix mclk setup without mclk-fs Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 132/183] drm/amdgpu: Fix missing break in ATOM_ARG_IMM Case of atom_get_src_int() Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 133/183] media: pvrusb2: fix uaf in pvr2_context_set_notify Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 134/183] media: dvb-frontends: avoid stack overflow warnings with clang Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 135/183] media: go7007: fix a memleak in go7007_load_encoder Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 136/183] media: v4l2-core: correctly validate video and metadata ioctls Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 137/183] media: rename VFL_TYPE_GRABBER to _VIDEO Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 138/183] media: media/pci: " Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 139/183] media: ttpci: fix two memleaks in budget_av_attach Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 140/183] drm/mediatek: Fix a null pointer crash in mtk_drm_crtc_finish_page_flip Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 141/183] powerpc/hv-gpci: Fix the H_GET_PERF_COUNTER_INFO hcall return value checks Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 142/183] drm/msm/dpu: add division of drm_display_mode's hskew parameter Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 143/183] powerpc/embedded6xx: Fix no previous prototype for avr_uart_send() etc Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 144/183] backlight: lm3630a: Initialize backlight_properties on init Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 145/183] backlight: lm3630a: Don't set bl->props.brightness in get_brightness Sasha Levin
2024-03-24 23:45 ` [PATCH 5.4 146/183] backlight: da9052: Fully initialize backlight_properties during probe Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 147/183] backlight: lm3639: " Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 148/183] backlight: lp8788: " Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 149/183] arch/powerpc: Remove <linux/fb.h> from backlight code Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 150/183] sparc32: Fix section mismatch in leon_pci_grpci Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 151/183] clk: Fix clk_core_get NULL dereference Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 152/183] ALSA: usb-audio: Stop parsing channels bits when all channels are found Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 153/183] scsi: csiostor: Avoid function pointer casts Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 154/183] RDMA/device: Fix a race between mad_client and cm_client init Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 155/183] scsi: bfa: Fix function pointer type mismatch for hcb_qe->cbfn Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 156/183] net: sunrpc: Fix an off by one in rpc_sockaddr2uaddr() Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 157/183] watchdog: stm32_iwdg: initialize default timeout Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 158/183] NFS: Fix an off by one in root_nfs_cat() Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 159/183] afs: Revert "afs: Hide silly-rename files from userspace" Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 160/183] usb: phy: generic: Get the vbus supply Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 161/183] tty: vt: fix 20 vs 0x20 typo in EScsiignore Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 162/183] serial: max310x: fix syntax error in IRQ error message Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 163/183] tty: serial: samsung: fix tx_empty() to return TIOCSER_TEMT Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 164/183] kconfig: fix infinite loop when expanding a macro at the end of file Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 165/183] rtc: mt6397: select IRQ_DOMAIN instead of depending on it Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 166/183] serial: 8250_exar: Don't remove GPIO device on suspend Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 167/183] staging: greybus: fix get_channel_from_mode() failure path Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 168/183] usb: gadget: net2272: Use irqflags in the call to net2272_probe_fin Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 169/183] octeontx2-af: Use matching wake_up API variant in CGX command interface Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 170/183] s390/vtime: fix average steal time calculation Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 171/183] hsr: Fix uninit-value access in hsr_get_node() Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 172/183] packet: annotate data-races around ignore_outgoing Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 173/183] rds: introduce acquire/release ordering in acquire/release_in_xmit() Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 174/183] hsr: Handle failures in module init Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 175/183] net/bnx2x: Prevent access to a freed page in page_pool Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 176/183] octeontx2-af: Use separate handlers for interrupts Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 177/183] ARM: dts: sun8i-h2-plus-bananapi-m2-zero: add regulator nodes vcc-dram and vcc1v2 Sasha Levin
2024-03-28 10:27   ` Pavel Machek
2024-03-24 23:46 ` [PATCH 5.4 178/183] netfilter: nf_tables: do not compare internal table flags on updates Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 179/183] rcu: add a helper to report consolidated flavor QS Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 180/183] bpf: report RCU QS in cpumap kthread Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 181/183] spi: spi-mt65xx: Fix NULL pointer access in interrupt handler Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 182/183] regmap: Add missing map->bus check Sasha Levin
2024-03-24 23:46 ` [PATCH 5.4 183/183] Linux 5.4.273-rc1 Sasha Levin
2024-03-25 10:09 ` [PATCH 5.4 000/183] 5.4.273-rc1 review Pavel Machek

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=20240324234638.1355609-112-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=jack@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --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).