Re: EBADF returned from close() by FUSE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/19/24 17:04, The 8472 wrote:
> I'm writing to a linux mailing list, am I not? And referring to linux-specific
> manpages, not the POSIX ones. The way the linux kernel chooses to pass
> what FUSE sends to userspace is under its control.
>
> I would like linux to adhere more closely to its own API contract or improve its
> documentation.

And you're talking about FUSE which is a cross platform (Linux, FreeBSD, 
MacOS, Windows) protocol. And that protocol defacto includes what 
happens when the FUSE server returns and error. If Linux suddenly 
changes what happens when the server returns an error it will affect 
everyone.

> I don't understand what would be broken here. In a previous mail you agreed
> that FUSE servers have no business sending EBADF and should have a
> bug filed against them. If that's the case then sanitizing problematic cases
> should be ok.

I said: "it is likely a bug or bad decision" but I don't claim to know 
the mind of the author. I've seen FUSE filesystems designed for fuzzing 
apps via filesystem APIs and they by their nature desire to return all 
kinds of random errors. I've seen non-standard errors to indicate 
special edge cases or more accurately indicate the underlying resource's 
issue (like when interacting with remote system.) Or even uncommon 
values used to indicate something to software which was written to know 
it was dealing with a special filesystem. Filesystems are just not 
uniform in behavior generally let alone errors.







[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux