Message ID | 20220124133632.62597-1-kilobyte@angband.pl (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | btrfs-progs: subv del: hide a bogus warning on an unprivileged delete | expand |
On Mon, Jan 24, 2022 at 02:36:32PM +0100, Adam Borowski wrote: > Checking the default subvolume uses TREE_SEARCH which is a CAP_SYS_ADMIN > only operation, and thus will fail when unprivileged, even if we have > permissions to actually delete the subvolume. > > This produces a warning even if all is ok. Let's hide it if we're not > root (root but !CAP is odd enough to warn). > > Fixes 87804a3f0663a4d1891395bd97b8e81e6f183e66 > Ref: https://bugs.debian.org/998840 > Signed-off-by: Adam Borowski <kilobyte@angband.pl> Thanks, added to devel, that covers the part when the search fails. It could also fail when the default subvolume is not set so I might add a separate check for that.
diff --git a/cmds/subvolume.c b/cmds/subvolume.c index 6aac7dd1..e767e20d 100644 --- a/cmds/subvolume.c +++ b/cmds/subvolume.c @@ -376,7 +376,8 @@ again: err = btrfs_util_get_default_subvolume_fd(fd, &default_subvol_id); if (err) { - warning("cannot read default subvolume id: %m"); + if (!geteuid()) + warning("cannot read default subvolume id: %m"); default_subvol_id = 0; }
Checking the default subvolume uses TREE_SEARCH which is a CAP_SYS_ADMIN only operation, and thus will fail when unprivileged, even if we have permissions to actually delete the subvolume. This produces a warning even if all is ok. Let's hide it if we're not root (root but !CAP is odd enough to warn). Fixes 87804a3f0663a4d1891395bd97b8e81e6f183e66 Ref: https://bugs.debian.org/998840 Signed-off-by: Adam Borowski <kilobyte@angband.pl> --- cmds/subvolume.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)