Subject: bug#63931: ls colors one symlink too much as non-broken in symlink chain

From: Martin Schulte <[email-masked]>
Date: Wed, 7 Jun 2023 11:56:08 +0200

Hello Paul, hello Pádraig,

thanks a lot for your analysis and explanations!

> With that in mind, the code change you proposed is reasonably innocuous, 
> although it slows things down a bit in the usual case. Not sure it's 
> worth doing (I guess it does fix a race but there are other unfixable 
> races in this area....).

I first supposed that the effect was caused by an off-by-one problem, but after understanding it, I think you are right here to ask if changing the behaviour is worth doing.

Looking at

$ ls {38..42}
ls: cannot access '41': Too many levels of symbolic links
ls: cannot access '42': Too many levels of symbolic links
38  39  40

shows that there would be more issues to consider in this case.

Martin