Re: [PATCH 5/5] fs: Convert struct file::f_count to refcount_long_t

From: Kees Cook
Date: Thu May 02 2024 - 20:41:37 EST


On Fri, May 03, 2024 at 01:14:45AM +0100, Al Viro wrote:
> On Thu, May 02, 2024 at 05:10:18PM -0700, Kees Cook wrote:
>
> > But anyway, there needs to be a general "oops I hit 0"-aware form of
> > get_file(), and it seems like it should just be get_file() itself...
>
> ... which brings back the question of what's the sane damage mitigation
> for that. Adding arseloads of never-exercised failure exits is generally
> a bad idea - it's asking for bitrot and making the thing harder to review
> in future.

Linus seems to prefer best-effort error recovery to sprinkling BUG()s
around. But if that's really the solution, then how about get_file()
switching to to use inc_not_zero and BUG on 0?

--
Kees Cook