tree-checker.c (f0718d792b8a6d4b5ddc929e418ac57cc4897375) tree-checker.c (761333f2f50ccc887aa9957ae829300262c0d15b)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (C) Qu Wenruo 2017. All rights reserved.
4 */
5
6/*
7 * The module is used to catch unexpected/corrupted tree block data.
8 * Such behavior can be caused either by a fuzzed image or bugs.

--- 426 unchanged lines hidden (view full) ---

435
436 type = flags & BTRFS_BLOCK_GROUP_TYPE_MASK;
437 if (type != BTRFS_BLOCK_GROUP_DATA &&
438 type != BTRFS_BLOCK_GROUP_METADATA &&
439 type != BTRFS_BLOCK_GROUP_SYSTEM &&
440 type != (BTRFS_BLOCK_GROUP_METADATA |
441 BTRFS_BLOCK_GROUP_DATA)) {
442 block_group_err(fs_info, leaf, slot,
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (C) Qu Wenruo 2017. All rights reserved.
4 */
5
6/*
7 * The module is used to catch unexpected/corrupted tree block data.
8 * Such behavior can be caused either by a fuzzed image or bugs.

--- 426 unchanged lines hidden (view full) ---

435
436 type = flags & BTRFS_BLOCK_GROUP_TYPE_MASK;
437 if (type != BTRFS_BLOCK_GROUP_DATA &&
438 type != BTRFS_BLOCK_GROUP_METADATA &&
439 type != BTRFS_BLOCK_GROUP_SYSTEM &&
440 type != (BTRFS_BLOCK_GROUP_METADATA |
441 BTRFS_BLOCK_GROUP_DATA)) {
442 block_group_err(fs_info, leaf, slot,
443"invalid type, have 0x%llx (%lu bits set) expect either 0x%llx, 0x%llx, 0x%llu or 0x%llx",
443"invalid type, have 0x%llx (%lu bits set) expect either 0x%llx, 0x%llx, 0x%llx or 0x%llx",
444 type, hweight64(type),
445 BTRFS_BLOCK_GROUP_DATA, BTRFS_BLOCK_GROUP_METADATA,
446 BTRFS_BLOCK_GROUP_SYSTEM,
447 BTRFS_BLOCK_GROUP_METADATA | BTRFS_BLOCK_GROUP_DATA);
448 return -EUCLEAN;
449 }
450 return 0;
451}

--- 254 unchanged lines hidden ---
444 type, hweight64(type),
445 BTRFS_BLOCK_GROUP_DATA, BTRFS_BLOCK_GROUP_METADATA,
446 BTRFS_BLOCK_GROUP_SYSTEM,
447 BTRFS_BLOCK_GROUP_METADATA | BTRFS_BLOCK_GROUP_DATA);
448 return -EUCLEAN;
449 }
450 return 0;
451}

--- 254 unchanged lines hidden ---