Skip to content

Commit c821585

Browse files
committed
linuxulator: return EBADF for O_PATH mmap()
This fixes LTP open13, which expects O_PATH mmap() to fail with EBADF, but FreeBSD returned EACCES. PR: 295571 Signed-off-by: YAO, Xin <mr.yaoxin@outlook.com>
1 parent 28d85db commit c821585

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

sys/compat/linux/linux_mmap.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ static int
6363
linux_mmap_check_fp(struct file *fp, int flags, int prot, int maxprot)
6464
{
6565

66+
/* Linux returns EBADF if mmap() is called on an O_PATH file descriptor */
67+
if (fp->f_ops == &path_fileops)
68+
return (EBADF);
69+
6670
/* Linux mmap() just fails for O_WRONLY files */
6771
if ((fp->f_flag & FREAD) == 0)
6872
return (EACCES);

0 commit comments

Comments
 (0)