Re: autofs multi-map regression

From: Eric W. Biederman
Date: Fri Jun 16 2017 - 13:10:26 EST


Dick Streefland <dick@xxxxxxxxxxxxxx> writes:

> After a recent upgrade of a Ubuntu xenial machine, a particular
> autofs multi-map mount setup stopped working. A simplified example is:
>
> ::::::::::::::
> auto.master
> ::::::::::::::
> /net /etc/auto.net
> ::::::::::::::
> auto.net
> ::::::::::::::
> localhost / :/ /loc :/loc
>
> Accessing /net/localhost/loc should trigger two nested bind mounts on
> /net/localhost and /net/localhost/loc, but with the new kernel, it fails
> with ELOOP:
>
> $ ls /net/localhost/loc
> ls: cannot open directory '/net/localhost/loc': Too many levels of symbolic links
>
> The problem is related to the upgrade of the Ubuntu xenial kernel from
> 4.4.0-38.57 to 4.4.0-78.99. I bisected the regression to commit
> 731ac92843877f3633325203abc942193c1e9001, which is a Ubuntu backport
> of this upstream kernel commit:
>
> commit 1064f874abc0d05eeed8993815f584d847b72486
> Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
> Date: Fri Jan 20 18:28:35 2017 +1300
>
> mnt: Tuck mounts under others instead of creating shadow/side mounts.

Interesting...

Can you test this on a stock 4.11 kernel?

I definitely need a little bit more information to solve this. That
commit did not add any new error condidtions so I need to understand
what state you are getting yourself into that is affected by this
commit.

Is there a chance you can post /proc/self/mountinfo from when this is
happening?

Eric