Re: [PATCH 6/9] kernel/api: add API specification for sys_close
From: Greg Kroah-Hartman
Date: Fri Mar 13 2026 - 11:52:48 EST
On Fri, Mar 13, 2026 at 11:09:16AM -0400, Sasha Levin wrote:
> + * notes: This syscall has subtle non-POSIX semantics: the fd is ALWAYS closed
> + * regardless of the return value. POSIX specifies that on EINTR, the state
> + * of the fd is unspecified, but Linux always closes it. HP-UX requires
> + * retrying close() on EINTR, but doing so on Linux may close an unrelated
> + * fd that was reassigned by another thread. For portable code, the safest
> + * approach is to check for errors but never retry close().
We don't care about HP-UX :)
> + * Error codes from the flush callback (EIO, ENOSPC, EDQUOT) indicate that
> + * previously written data may have been lost. These errors are particularly
> + * common on NFS where write errors are often deferred to close time.
What flush callback?
> + *
> + * The driver's release() callback errors are explicitly ignored by the
> + * kernel, so device driver cleanup errors are not propagated to userspace.
What "The driver" here? release() callbacks aren't really relevant
here.
thanks,
greg k-h