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, Goffredo Baroncelli <kreijack@libero.it>,
	Anand Jain <anand.jain@oracle.com>, Qu Wenruo <wqu@suse.com>,
	David Sterba <dsterba@suse.com>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.0 116/148] btrfs: check superblock to ensure the fs was not modified at thaw time
Date: Tue, 10 Jan 2023 19:03:40 +0100	[thread overview]
Message-ID: <20230110180020.878654076@linuxfoundation.org> (raw)
In-Reply-To: <20230110180017.145591678@linuxfoundation.org>

From: Qu Wenruo <wqu@suse.com>

[ Upstream commit a05d3c9153145283ce9c58a1d7a9056fbb85f6a1 ]

[BACKGROUND]
There is an incident report that, one user hibernated the system, with
one btrfs on removable device still mounted.

Then by some incident, the btrfs got mounted and modified by another
system/OS, then back to the hibernated system.

After resuming from the hibernation, new write happened into the victim btrfs.

Now the fs is completely broken, since the underlying btrfs is no longer
the same one before the hibernation, and the user lost their data due to
various transid mismatch.

[REPRODUCER]
We can emulate the situation using the following small script:

  truncate -s 1G $dev
  mkfs.btrfs -f $dev
  mount $dev $mnt
  fsstress -w -d $mnt -n 500
  sync
  xfs_freeze -f $mnt
  cp $dev $dev.backup

  # There is no way to mount the same cloned fs on the same system,
  # as the conflicting fsid will be rejected by btrfs.
  # Thus here we have to wipe the fs using a different btrfs.
  mkfs.btrfs -f $dev.backup

  dd if=$dev.backup of=$dev bs=1M
  xfs_freeze -u $mnt
  fsstress -w -d $mnt -n 20
  umount $mnt
  btrfs check $dev

The final fsck will fail due to some tree blocks has incorrect fsid.

This is enough to emulate the problem hit by the unfortunate user.

[ENHANCEMENT]
Although such case should not be that common, it can still happen from
time to time.

>From the view of btrfs, we can detect any unexpected super block change,
and if there is any unexpected change, we just mark the fs read-only,
and thaw the fs.

By this we can limit the damage to minimal, and I hope no one would lose
their data by this anymore.

Suggested-by: Goffredo Baroncelli <kreijack@libero.it>
Link: https://lore.kernel.org/linux-btrfs/83bf3b4b-7f4c-387a-b286-9251e3991e34@bluemole.com/
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Stable-dep-of: 2ba48b20049b ("btrfs: fix compat_ro checks against remount")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/btrfs/disk-io.c | 25 ++++++++++++++-----
 fs/btrfs/disk-io.h |  4 +++-
 fs/btrfs/super.c   | 60 ++++++++++++++++++++++++++++++++++++++++++++++
 fs/btrfs/volumes.c |  2 +-
 4 files changed, 83 insertions(+), 8 deletions(-)

diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index aa4bc213d301..c72074a234d2 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -2602,8 +2602,8 @@ static int btrfs_read_roots(struct btrfs_fs_info *fs_info)
  * 		1, 2	2nd and 3rd backup copy
  * 	       -1	skip bytenr check
  */
-static int validate_super(struct btrfs_fs_info *fs_info,
-			    struct btrfs_super_block *sb, int mirror_num)
+int btrfs_validate_super(struct btrfs_fs_info *fs_info,
+			 struct btrfs_super_block *sb, int mirror_num)
 {
 	u64 nodesize = btrfs_super_nodesize(sb);
 	u64 sectorsize = btrfs_super_sectorsize(sb);
@@ -2787,7 +2787,7 @@ static int validate_super(struct btrfs_fs_info *fs_info,
  */
 static int btrfs_validate_mount_super(struct btrfs_fs_info *fs_info)
 {
-	return validate_super(fs_info, fs_info->super_copy, 0);
+	return btrfs_validate_super(fs_info, fs_info->super_copy, 0);
 }
 
 /*
@@ -2801,7 +2801,7 @@ static int btrfs_validate_write_super(struct btrfs_fs_info *fs_info,
 {
 	int ret;
 
-	ret = validate_super(fs_info, sb, -1);
+	ret = btrfs_validate_super(fs_info, sb, -1);
 	if (ret < 0)
 		goto out;
 	if (!btrfs_supported_super_csum(btrfs_super_csum_type(sb))) {
@@ -3835,7 +3835,7 @@ static void btrfs_end_super_write(struct bio *bio)
 }
 
 struct btrfs_super_block *btrfs_read_dev_one_super(struct block_device *bdev,
-						   int copy_num)
+						   int copy_num, bool drop_cache)
 {
 	struct btrfs_super_block *super;
 	struct page *page;
@@ -3853,6 +3853,19 @@ struct btrfs_super_block *btrfs_read_dev_one_super(struct block_device *bdev,
 	if (bytenr + BTRFS_SUPER_INFO_SIZE >= bdev_nr_bytes(bdev))
 		return ERR_PTR(-EINVAL);
 
+	if (drop_cache) {
+		/* This should only be called with the primary sb. */
+		ASSERT(copy_num == 0);
+
+		/*
+		 * Drop the page of the primary superblock, so later read will
+		 * always read from the device.
+		 */
+		invalidate_inode_pages2_range(mapping,
+				bytenr >> PAGE_SHIFT,
+				(bytenr + BTRFS_SUPER_INFO_SIZE) >> PAGE_SHIFT);
+	}
+
 	page = read_cache_page_gfp(mapping, bytenr >> PAGE_SHIFT, GFP_NOFS);
 	if (IS_ERR(page))
 		return ERR_CAST(page);
@@ -3884,7 +3897,7 @@ struct btrfs_super_block *btrfs_read_dev_super(struct block_device *bdev)
 	 * later supers, using BTRFS_SUPER_MIRROR_MAX instead
 	 */
 	for (i = 0; i < 1; i++) {
-		super = btrfs_read_dev_one_super(bdev, i);
+		super = btrfs_read_dev_one_super(bdev, i, false);
 		if (IS_ERR(super))
 			continue;
 
diff --git a/fs/btrfs/disk-io.h b/fs/btrfs/disk-io.h
index 47ad8e0a2d33..aef981de672c 100644
--- a/fs/btrfs/disk-io.h
+++ b/fs/btrfs/disk-io.h
@@ -46,10 +46,12 @@ int __cold open_ctree(struct super_block *sb,
 	       struct btrfs_fs_devices *fs_devices,
 	       char *options);
 void __cold close_ctree(struct btrfs_fs_info *fs_info);
+int btrfs_validate_super(struct btrfs_fs_info *fs_info,
+			 struct btrfs_super_block *sb, int mirror_num);
 int write_all_supers(struct btrfs_fs_info *fs_info, int max_mirrors);
 struct btrfs_super_block *btrfs_read_dev_super(struct block_device *bdev);
 struct btrfs_super_block *btrfs_read_dev_one_super(struct block_device *bdev,
-						   int copy_num);
+						   int copy_num, bool drop_cache);
 int btrfs_commit_super(struct btrfs_fs_info *fs_info);
 struct btrfs_root *btrfs_read_tree_root(struct btrfs_root *tree_root,
 					struct btrfs_key *key);
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index ad3ce9700eaf..079855e9c881 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -2562,11 +2562,71 @@ static int btrfs_freeze(struct super_block *sb)
 	return btrfs_commit_transaction(trans);
 }
 
+static int check_dev_super(struct btrfs_device *dev)
+{
+	struct btrfs_fs_info *fs_info = dev->fs_info;
+	struct btrfs_super_block *sb;
+	int ret = 0;
+
+	/* This should be called with fs still frozen. */
+	ASSERT(test_bit(BTRFS_FS_FROZEN, &fs_info->flags));
+
+	/* Missing dev, no need to check. */
+	if (!dev->bdev)
+		return 0;
+
+	/* Only need to check the primary super block. */
+	sb = btrfs_read_dev_one_super(dev->bdev, 0, true);
+	if (IS_ERR(sb))
+		return PTR_ERR(sb);
+
+	/* Btrfs_validate_super() includes fsid check against super->fsid. */
+	ret = btrfs_validate_super(fs_info, sb, 0);
+	if (ret < 0)
+		goto out;
+
+	if (btrfs_super_generation(sb) != fs_info->last_trans_committed) {
+		btrfs_err(fs_info, "transid mismatch, has %llu expect %llu",
+			btrfs_super_generation(sb),
+			fs_info->last_trans_committed);
+		ret = -EUCLEAN;
+		goto out;
+	}
+out:
+	btrfs_release_disk_super(sb);
+	return ret;
+}
+
 static int btrfs_unfreeze(struct super_block *sb)
 {
 	struct btrfs_fs_info *fs_info = btrfs_sb(sb);
+	struct btrfs_device *device;
+	int ret = 0;
 
+	/*
+	 * Make sure the fs is not changed by accident (like hibernation then
+	 * modified by other OS).
+	 * If we found anything wrong, we mark the fs error immediately.
+	 *
+	 * And since the fs is frozen, no one can modify the fs yet, thus
+	 * we don't need to hold device_list_mutex.
+	 */
+	list_for_each_entry(device, &fs_info->fs_devices->devices, dev_list) {
+		ret = check_dev_super(device);
+		if (ret < 0) {
+			btrfs_handle_fs_error(fs_info, ret,
+				"super block on devid %llu got modified unexpectedly",
+				device->devid);
+			break;
+		}
+	}
 	clear_bit(BTRFS_FS_FROZEN, &fs_info->flags);
+
+	/*
+	 * We still return 0, to allow VFS layer to unfreeze the fs even the
+	 * above checks failed. Since the fs is either fine or read-only, we're
+	 * safe to continue, without causing further damage.
+	 */
 	return 0;
 }
 
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 6f006430115a..55c8bf9a5c89 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -2029,7 +2029,7 @@ void btrfs_scratch_superblocks(struct btrfs_fs_info *fs_info,
 		struct page *page;
 		int ret;
 
-		disk_super = btrfs_read_dev_one_super(bdev, copy_num);
+		disk_super = btrfs_read_dev_one_super(bdev, copy_num, false);
 		if (IS_ERR(disk_super))
 			continue;
 
-- 
2.35.1




  parent reply	other threads:[~2023-01-10 18:11 UTC|newest]

Thread overview: 176+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-10 18:01 [PATCH 6.0 000/148] 6.0.19-rc1 review Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 001/148] ARM: renumber bits related to _TIF_WORK_MASK Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 002/148] btrfs: replace strncpy() with strscpy() Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 003/148] cifs: fix interface count calculation during refresh Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 004/148] cifs: refcount only the selected iface during interface update Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 005/148] usb: dwc3: gadget: Ignore End Transfer delay on teardown Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 006/148] perf probe: Use dwarf_attr_integrate as generic DWARF attr accessor Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 007/148] perf probe: Fix to get the DW_AT_decl_file and DW_AT_call_file as unsinged data Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 008/148] phy: qcom-qmp-combo: fix broken power on Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 009/148] ext4: goto right label failed_mount3a Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 010/148] ext4: correct inconsistent error msg in nojournal mode Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 011/148] SUNRPC: ensure the matching upcall is in-flight upon downcall Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 012/148] btrfs: fix an error handling path in btrfs_defrag_leaves() Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 013/148] wifi: ath9k: use proper statements in conditionals Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 014/148] bpf: pull before calling skb_postpull_rcsum() Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 015/148] drm/panfrost: Fix GEM handle creation ref-counting Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 016/148] netfilter: nf_tables: consolidate set description Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 017/148] netfilter: nf_tables: add function to create set stateful expressions Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 018/148] netfilter: nf_tables: perform type checking for existing sets Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 019/148] ice: xsk: do not use xdp_return_frame() on tx_buf->raw_buf Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 020/148] net: vrf: determine the dst using the original ifindex for multicast Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 021/148] vmxnet3: correctly report csum_level for encapsulated packet Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 022/148] mptcp: fix lockdep false positive Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 023/148] netfilter: nf_tables: honor set timeout and garbage collection updates Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 024/148] bonding: fix lockdep splat in bond_miimon_commit() Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 025/148] net: lan966x: Fix configuration of the PCS Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 026/148] veth: Fix race with AF_XDP exposing old or uninitialized descriptors Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 027/148] nfsd: shut down the NFSv4 state objects before the filecache Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 028/148] net: hns3: add interrupts re-initialization while doing VF FLR Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 029/148] net: hns3: fix miss L3E checking for rx packet Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 030/148] net: hns3: fix VF promisc mode not update when mac table full Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 031/148] net: sched: fix memory leak in tcindex_set_parms Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 032/148] qlcnic: prevent ->dcb use-after-free on qlcnic_dcb_enable() failure Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 033/148] net: dsa: mv88e6xxx: depend on PTP conditionally Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 034/148] nfc: Fix potential resource leaks Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 035/148] bnxt_en: Simplify bnxt_xdp_buff_init() Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 036/148] bnxt_en: Fix XDP RX path Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 037/148] bnxt_en: Fix first buffer size calculations for XDP multi-buffer Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 038/148] bnxt_en: Fix HDS and jumbo thresholds for RX packets Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 039/148] vdpa/mlx5: Fix rule forwarding VLAN to TIR Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 040/148] vdpa/mlx5: Fix wrong mac address deletion Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 041/148] vdpa_sim: fix possible memory leak in vdpasim_net_init() and vdpasim_blk_init() Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 042/148] vhost/vsock: Fix error handling in vhost_vsock_init() Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 043/148] vringh: fix range used in iotlb_translate() Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 044/148] vhost: fix range used in translate_desc() Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 045/148] vhost-vdpa: fix an iotlb memory leak Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 046/148] vdpa_sim: fix vringh initialization in vdpasim_queue_ready() Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 047/148] virtio-crypto: fix memory leak in virtio_crypto_alg_skcipher_close_session() Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 048/148] vdpa/vp_vdpa: fix kfree a wrong pointer in vp_vdpa_remove Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 049/148] vdpasim: fix memory leak when freeing IOTLBs Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 050/148] net/mlx5: E-Switch, properly handle ingress tagged packets on VST Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 051/148] net/mlx5: Add forgotten cleanup calls into mlx5_init_once() error path Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 052/148] net/mlx5: Fix io_eq_size and event_eq_size params validation Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 053/148] net/mlx5: Avoid recovery in probe flows Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 054/148] net/mlx5: Fix RoCE setting at HCA level Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 055/148] net/mlx5e: IPoIB, Dont allow CQE compression to be turned on by default Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 056/148] net/mlx5e: CT: Fix ct debugfs folder name Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 057/148] net/mlx5e: Always clear dest encap in neigh-update-del Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 058/148] net/mlx5e: Fix hw mtu initializing at XDP SQ allocation Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 059/148] net/mlx5e: Set geneve_tlv_option_0_exist when matching on geneve option Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 060/148] net/mlx5: Lag, fix failure to cancel delayed bond work Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 061/148] net: hns3: refactor function hclge_mbx_handler() Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 062/148] net: hns3: refine the handling for VF heartbeat Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 063/148] net: amd-xgbe: add missed tasklet_kill Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 064/148] net: ena: Fix toeplitz initial hash value Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 065/148] net: ena: Dont register memory info on XDP exchange Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 066/148] net: ena: Account for the number of processed bytes in XDP Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 067/148] net: ena: Use bitmask to indicate packet redirection Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 068/148] net: ena: Fix rx_copybreak value update Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 069/148] net: ena: Set default value for RX interrupt moderation Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 070/148] net: ena: Update NUMA TPH hint register upon NUMA node update Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 071/148] net: phy: xgmiitorgmii: Fix refcount leak in xgmiitorgmii_probe Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 072/148] RDMA/mlx5: Fix mlx5_ib_get_hw_stats when used for device Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 073/148] RDMA/mlx5: Fix validation of max_rd_atomic caps for DC Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 074/148] selftests: net: fix cleanup_v6() for arp_ndisc_evict_nocarrier Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 075/148] selftests: net: return non-zero for failures reported in arp_ndisc_evict_nocarrier Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 076/148] drm/meson: Reduce the FIFO lines held when AFBC is not used Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 077/148] filelock: new helper: vfs_inode_has_locks Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 078/148] ceph: switch to vfs_inode_has_locks() to fix file lock bug Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 079/148] gpio: sifive: Fix refcount leak in sifive_gpio_probe Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 080/148] net: sched: atm: dont intepret cls results when asked to drop Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 081/148] net: sched: cbq: " Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 082/148] vxlan: Fix memory leaks in error path Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 083/148] net: sparx5: Fix reading of the MAC address Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 084/148] netfilter: ipset: fix hash:net,port,net hang with /0 subnet Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 085/148] netfilter: ipset: Rework long task execution when adding/deleting entries Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 086/148] perf tools: Fix resources leak in perf_data__open_dir() Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 087/148] drm/imx: ipuv3-plane: Fix overlay plane width Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 088/148] fs/ntfs3: dont hold ni_lock when calling truncate_setsize() Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 089/148] drivers/net/bonding/bond_3ad: return when theres no aggregator Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 090/148] octeontx2-pf: Fix lmtst ID used in aura free Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 091/148] usb: rndis_host: Secure rndis_query check against int overflow Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 092/148] perf lock contention: Fix core dump related to not finding the "__sched_text_end" symbol on s/390 Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 093/148] perf stat: Fix handling of unsupported cgroup events when using BPF counters Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 094/148] perf stat: Fix handling of --for-each-cgroup with --bpf-counters to match non BPF mode Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 095/148] drm/i915: unpin on error in intel_vgpu_shadow_mm_pin() Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 096/148] drm/i915/gvt: fix double free bug in split_2MB_gtt_entry Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 097/148] ublk: honor IO_URING_F_NONBLOCK for handling control command Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 098/148] qed: allow sleep in qed_mcp_trace_dump() Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 099/148] net/ulp: prevent ULP without clone op from entering the LISTEN status Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 100/148] caif: fix memory leak in cfctrl_linkup_request() Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 101/148] udf: Fix extension of the last extent in the file Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 102/148] usb: dwc3: xilinx: include linux/gpio/consumer.h Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 103/148] hfs/hfsplus: avoid WARN_ON() for sanity check, use proper error handling Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 104/148] ASoC: SOF: Revert: "core: unregister clients and machine drivers in .shutdown" Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 105/148] 9p/client: fix data race on req->status Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 106/148] ASoC: Intel: bytcr_rt5640: Add quirk for the Advantech MICA-071 tablet Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 107/148] ASoC: SOF: mediatek: initialize panic_info to zero Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 108/148] drm/amdgpu: Fix size validation for non-exclusive domains (v4) Greg Kroah-Hartman
2023-01-10 18:03   ` Greg Kroah-Hartman
2023-01-12 16:25   ` Luben Tuikov
2023-01-12 16:25     ` Luben Tuikov
2023-01-12 16:49     ` Greg Kroah-Hartman
2023-01-12 16:49       ` Greg Kroah-Hartman
2023-01-12 16:59       ` Luben Tuikov
2023-01-12 16:59         ` Luben Tuikov
2023-01-12 17:16         ` Greg Kroah-Hartman
2023-01-12 17:16           ` Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 109/148] drm/amdkfd: Fix kfd_process_device_init_vm error handling Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 110/148] drm/amdkfd: Fix double release compute pasid Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 111/148] nvme: fix multipath crash caused by flush request when blktrace is enabled Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 112/148] io_uring: check for valid register opcode earlier Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 113/148] nvmet: use NVME_CMD_EFFECTS_CSUPP instead of open coding it Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 114/148] nvme: also return I/O command effects from nvme_command_effects Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 115/148] ASoC: SOF: Intel: pci-tgl: unblock S5 entry if DMA stop has failed" Greg Kroah-Hartman
2023-01-10 18:03 ` Greg Kroah-Hartman [this message]
2023-01-10 18:03 ` [PATCH 6.0 117/148] btrfs: dont save block group root into super block Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 118/148] btrfs: separate BLOCK_GROUP_TREE compat RO flag from EXTENT_TREE_V2 Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 119/148] btrfs: relax block-group-tree feature dependency checks Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 120/148] btrfs: fix compat_ro checks against remount Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 121/148] x86/kexec: Fix double-free of elf header buffer Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 122/148] x86/bugs: Flush IBP in ib_prctl_set() Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 123/148] nfsd: fix handling of readdir in v4root vs. mount upcall timeout Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 124/148] fbdev: matroxfb: G200eW: Increase max memory from 1 MB to 16 MB Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 125/148] bpf: Fix panic due to wrong pageattr of im->image Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 126/148] Revert "drm/amd/display: Enable Freesync Video Mode by default" Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 127/148] Revert "net: dsa: qca8k: cache lo and hi for mdio write" Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 128/148] net: dsa: qca8k: fix wrong length value for mgmt eth packet Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 129/148] net: dsa: tag_qca: fix wrong MGMT_DATA2 size Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 130/148] block: dont allow splitting of a REQ_NOWAIT bio Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 131/148] io_uring: fix CQ waiting timeout handling Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 132/148] vhost_vdpa: fix the crash in unmap a large memory Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 133/148] thermal: int340x: Add missing attribute for data rate base Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 134/148] riscv: uaccess: fix type of 0 variable on error in get_user() Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 135/148] riscv, kprobes: Stricter c.jr/c.jalr decoding Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 136/148] of/fdt: run soc memory setup when early_init_dt_scan_memory fails Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 137/148] drm/amdkfd: Fix kernel warning during topology setup Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 138/148] drm/i915/gvt: fix gvt debugfs destroy Greg Kroah-Hartman
2023-01-10 18:04   ` Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 139/148] drm/i915/gvt: fix vgpu debugfs clean in remove Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 140/148] virtio-blk: use a helper to handle request queuing errors Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 141/148] virtio_blk: Fix signedness bug in virtblk_prep_rq() Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 142/148] btrfs: handle case when repair happens with dev-replace Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 143/148] ksmbd: fix infinite loop in ksmbd_conn_handler_loop() Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 144/148] ksmbd: send proper error response in smb2_tree_connect() Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 145/148] ksmbd: check nt_len to be at least CIFS_ENCPWD_SIZE in ksmbd_decode_ntlmssp_auth_blob Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 146/148] btrfs: make thaw time super block check to also verify checksum Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 147/148] efi: random: combine bootloader provided RNG seed with RNG protocol output Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 148/148] drm/mgag200: Fix PLL setup for G200_SE_A rev >=4 Greg Kroah-Hartman
2023-01-10 19:23 ` [PATCH 6.0 000/148] 6.0.19-rc1 review Florian Fainelli
2023-01-11  0:37 ` Shuah Khan
2023-01-11  6:16 ` Naresh Kamboju
2023-01-11  6:23   ` Naresh Kamboju
2023-01-11  8:18   ` Arnd Bergmann
2023-01-11  9:31     ` Naresh Kamboju
2023-01-11 11:18       ` Arnd Bergmann
2023-01-11 12:52         ` Naresh Kamboju
2023-01-13  9:32   ` Pavel Machek
2023-01-13 15:48     ` Naresh Kamboju
2023-01-11 11:17 ` Jon Hunter
2023-01-11 13:00 ` Sudip Mukherjee
2023-01-11 13:09 ` Bagas Sanjaya
2023-01-11 13:52 ` Naresh Kamboju
2023-01-11 17:25 ` Justin Forbes
2023-01-11 18:56 ` Conor Dooley
2023-01-12  0:39 ` Guenter Roeck

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=20230110180020.878654076@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=anand.jain@oracle.com \
    --cc=dsterba@suse.com \
    --cc=kreijack@libero.it \
    --cc=patches@lists.linux.dev \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=wqu@suse.com \
    /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.