Subject: bug#68256: df fails on /run/user/1000/doc with "Operation not permitted"

From: Pádraig Brady <[email-masked]>
Date: Fri, 5 Jan 2024 13:51:12 +0000

tag 68256 notabug
close 68256
stop

On 05/01/2024 09:22, Nada Machkova wrote:
> hello
> I have just upgraded Debian Bullseye
> and simple df command respond at user CLI
> $ df -hT
> df: /run/user/1000/doc: Operation not permitted
> ...
> but when I do the same as root there is NO error.
> So I UNmounted relevant file and AFTER that df response has NO error for user
> # fusermount -u /run/user/1000/doc
> But I need to do it after each reboot :-(
> 
> I've just analyzed system status and versions
> and checked related bug https://github.com/flatpak/xdg-desktop-portal/issues/553
> PLS see the following details and let me know if it is coreutils bug
> thank you for your time
> Nada

Debian Bullseye (using coreutils 8.32) would need to apply:
https://github.com/coreutils/gnulib/commit/9a38d499ca.patch

That patch was included in the coreutils >= 9.0 releases,
and avoids including this flatpak related fuse.portal mount in the default df list.

I also have such a fuse.portal mount on my Fedora 39 system:

   # grep /run/user/1001/doc /proc/mounts
   portal /run/user/1001/doc fuse.portal ...

and weirdly root can statfs() but not stat(), and non root is vice versa :/

   # stat /run/user/1001/doc
   stat: cannot statx '/run/user/1001/doc': Permission denied

   $ stat /run/user/1001/doc
   File: /run/user/1001/doc
   Size: 0         	Blocks: 0          IO Block: 4096   directory
   Device: 0,77	Inode: 1           Links: 2
   Access: (0500/dr-x------)  Uid: ..
   Context: system_u:object_r:fusefs_t:s0

   $ stat -f /run/user/1001/doc
   stat: ... '/run/user/1001/doc': Operation not permitted
   # stat -f /run/user/1001/doc
   File: "/run/user/1001/doc"
   ID: 0        Namelen: 0       Type: fuseblk
   Block size: 0          Fundamental block size: 0
   Blocks: Total: 0          Free: 0          Available: 0
   Inodes: Total: 0          Free: 0

cheers,
Pádraig