chiark / gitweb /
util: rm_rf_children_dangerous: delete all descendants dangerously
authorTom Gundersen <teg@jklm.no>
Mon, 3 Sep 2012 13:40:37 +0000 (15:40 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 11 Sep 2012 00:55:29 +0000 (02:55 +0200)
commitb3d284696cc244be51bbf82d5fa1bacc197c2f99
tree84c8169ca3acc9540eae3f6c2070bd3ccbe82adf
parent4a30847b9d71e0381948d68279c8f775b9de7850
util: rm_rf_children_dangerous: delete all descendants dangerously

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>
src/shared/util.c