Commit c746c3b5 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull btrfs fixes from David Sterba:
 "Two short fixes that would be good to have before rc1"

* tag 'for-6.18-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
  btrfs: fix PAGE_SIZE format specifier in open_ctree()
  btrfs: avoid potential out-of-bounds in btrfs_encode_fh()
parents 81538c8e 4335c449
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3397,7 +3397,7 @@ int __cold open_ctree(struct super_block *sb, struct btrfs_fs_devices *fs_device

	if (fs_info->sectorsize > PAGE_SIZE)
		btrfs_warn(fs_info,
			   "support for block size %u with page size %zu is experimental, some features may be missing",
			   "support for block size %u with page size %lu is experimental, some features may be missing",
			   fs_info->sectorsize, PAGE_SIZE);
	/*
	 * Handle the space caching options appropriately now that we have the
+7 −1
Original line number Diff line number Diff line
@@ -23,6 +23,10 @@ static int btrfs_encode_fh(struct inode *inode, u32 *fh, int *max_len,
	int type;

	if (parent && (len < BTRFS_FID_SIZE_CONNECTABLE)) {
		if (btrfs_root_id(BTRFS_I(inode)->root) !=
		    btrfs_root_id(BTRFS_I(parent)->root))
			*max_len = BTRFS_FID_SIZE_CONNECTABLE_ROOT;
		else
			*max_len = BTRFS_FID_SIZE_CONNECTABLE;
		return FILEID_INVALID;
	} else if (len < BTRFS_FID_SIZE_NON_CONNECTABLE) {
@@ -45,6 +49,8 @@ static int btrfs_encode_fh(struct inode *inode, u32 *fh, int *max_len,
		parent_root_id = btrfs_root_id(BTRFS_I(parent)->root);

		if (parent_root_id != fid->root_objectid) {
			if (*max_len < BTRFS_FID_SIZE_CONNECTABLE_ROOT)
				return FILEID_INVALID;
			fid->parent_root_objectid = parent_root_id;
			len = BTRFS_FID_SIZE_CONNECTABLE_ROOT;
			type = FILEID_BTRFS_WITH_PARENT_ROOT;