Hide Forgot
Description of problem: I hit a segfault when deleting a subvolume with very long name(>4096), it's because cmd_subvol_delete() calls strdup() and passes NULL as argument, which is returned by realpath(3). I used the following script to reproduce #!/bin/bash mnt=$1 i=1 path=$mnt/subvol_$i # Create very deep subvolumes while btrfs sub create $path;do ((i++)) path="$path/subvol_$i" done last_vol=$(dirname $path) dir=$(dirname $last_vol) vol=$(basename $last_vol) # Try to delete tha last one, this would get segfault pushd $dir btrfs sub delete $vol popd Version-Release number of selected component (if applicable): btrfs-progs-0.20.rc1.20130917git194aa4a-1.el7 How reproducible: always Steps to Reproduce: 1. see description 2. 3. Actual results: btrfs segfaults Expected results: subvolume can be deleted Additional info:
I proposed a patch to try to fix it. http://www.mail-archive.com/linux-btrfs@vger.kernel.org/msg27912.html
Doesn't appear to be fixed in btrfs-progs-devel, either.
No segfault in v3.12, closed as CURRENTRELEASE.