Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 23 Jul 2021 21:40:22 -0400
From: Rich Felker <dalias@...c.org>
To: Yuri Kanivetsky <yuri.kanivetsky@...il.com>
Cc: musl@...ts.openwall.com
Subject: Re: faccessat() always return EPERM

On Sat, Jul 24, 2021 at 04:16:25AM +0300, Yuri Kanivetsky wrote:
> Hi,
> 
> I'm not sure that it has something to do with musl. But experienced in
> a Alpine Linux docker container (ruby:2.6-alpine3.14) on Debian 9 or
> 10. I can't reproduce it with Alpine Linux 3.13 (container) or Debian
> 8 (host).
> 
> For example, the following program outputs -1:
> 
> #include <stdio.h>
> #include <fcntl.h>
> #include <unistd.h>
> 
> int main()
> {
>     int r;
>     r = faccessat(AT_FDCWD, "/", R_OK, AT_EACCESS);
>     printf("%i", r);
>     return 0;
> }
> 
> I believe whatever is passed as the second parameter, it would return -1.
> 
> As a result at least irb and bundler doesn't work. Is this some sort
> of binary incompatibility with Linux kernel?

No, it's almost surely Docker blocking the operation with the wrong
error code (EPERM):

https://github.com/opencontainers/runc/issues/2151

I'm not sure what the status on getting fix deployed is. It might go
away if the host running Docker can upgrade.

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.