Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 May 2026 08:49:31 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 295571] compat/linux: return EBADF for O_PATH mmap()
Message-ID:  <bug-295571-227@https.bugs.freebsd.org/bugzilla/>

index | next in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295571

            Bug ID: 295571
           Summary: compat/linux: return EBADF for O_PATH mmap()
           Product: Base System
           Version: 16.0-CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: mr.yaoxin@outlook.com

The Linuxulator currently returns incorrect error codes when some
file-descriptor
based operations are attempted on an O_PATH descriptor.

In particular, LTP open13 expects these operations to fail with EBADF, matching
Linux behavior, but FreeBSD currently returns different errors:

- mmap() on an O_PATH fd returns EACCES
- fgetxattr() on an O_PATH fd returns EOPNOTSUPP

The same issue also affects other fd-based xattr operations, which should
follow
the same O_PATH semantics for consistency:

 - fsetxattr()
 - fremovexattr()
 - flistxattr()

This appears to be a Linux compatibility bug rather than a functional
limitation.
For mmap(), the Linuxulator does not currently reject path_fileops descriptors
early with EBADF. For xattr operations, the code reaches the extattr path and 
returns the underlying FreeBSD error instead of recognizing that an O_PATH fd
is
not a valid data-access descriptor for these operations.


This is only to track the fix for mmap() 
See also https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295537

-- 
You are receiving this mail because:
You are the assignee for the bug.

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-295571-227>