Call rm_rf_children_dangerous() recursively rather than falling back to
rm_rf_children(). This fixes a bug in systemd-tmpfiles.
The problem can easily be reproduced by:
# mount /dev/sda1 /mnt
# mkdir /mnt/test
# echo "D /mnt" > /root/test.conf
# systemd-tmpfiles --remove /root/test.conf
Attempted to remove disk file system, and we can't allow that.
rm_rf(/root/test): Operation not permitted
Reported-by: Lukas Jirkovsky <l.jirkovsky@gmail.com>
continue;
}
- r = rm_rf_children(subdir_fd, only_dirs, honour_sticky, root_dev);
+ r = rm_rf_children_dangerous(subdir_fd, only_dirs, honour_sticky, root_dev);
if (r < 0 && ret == 0)
ret = r;