From 112514568fbe266943d7dd5ed3d2a6a8ab01a1de Mon Sep 17 00:00:00 2001 From: Qu Wenruo Date: Fri, 7 Oct 2016 15:23:00 +0800 Subject: btrfs-progs: test: Add image for quota verify stack overflow For image with tree reloc tree, if its height is over level 2, the root node's backref will point to itself. It's valid for kernel, but quota verify code can't handle it and cause a infinite call, overflowing the stack. Add minimal image to reproduce the bug, as regression test. Signed-off-by: Qu Wenruo [ minor cleanups in test.sh ] Signed-off-by: David Sterba --- .../quota_balance_loop_backref.raw.xz | Bin 0 -> 55708 bytes tests/fsck-tests/023-qgroup-stack-overflow/test.sh | 17 +++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 tests/fsck-tests/023-qgroup-stack-overflow/quota_balance_loop_backref.raw.xz create mode 100755 tests/fsck-tests/023-qgroup-stack-overflow/test.sh (limited to 'tests/fsck-tests/023-qgroup-stack-overflow') diff --git a/tests/fsck-tests/023-qgroup-stack-overflow/quota_balance_loop_backref.raw.xz b/tests/fsck-tests/023-qgroup-stack-overflow/quota_balance_loop_backref.raw.xz new file mode 100644 index 00000000..a0759739 Binary files /dev/null and b/tests/fsck-tests/023-qgroup-stack-overflow/quota_balance_loop_backref.raw.xz differ diff --git a/tests/fsck-tests/023-qgroup-stack-overflow/test.sh b/tests/fsck-tests/023-qgroup-stack-overflow/test.sh new file mode 100755 index 00000000..e8bf3fae --- /dev/null +++ b/tests/fsck-tests/023-qgroup-stack-overflow/test.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# +# Check whether btrfs check quota verify will cause stack overflow. +# This is caused by lack of handling of tree reloc tree. +# Fixed by patch: +# btrfs-progs: Fix stack overflow for checking qgroup on tree reloc tree + +source $TOP/tests/common + +check_prereq btrfs + +check_image() +{ + run_check $TOP/btrfs check "$1" +} + +check_all_images "." -- cgit v1.2.3