mirror of
https://github.com/AuxXxilium/eudev.git
synced 2024-12-26 05:35:21 +07:00
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>
This commit is contained in:
parent
4a30847b9d
commit
b3d284696c
@ -3358,7 +3358,7 @@ int rm_rf_children_dangerous(int fd, bool only_dirs, bool honour_sticky, struct
|
|||||||
continue;
|
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)
|
if (r < 0 && ret == 0)
|
||||||
ret = r;
|
ret = r;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user