Re: [REGRESSION][BISECTED] erroneous buffer overflow detected in bch2_xattr_validate

From: Jan Hendrik Farr
Date: Thu Oct 03 2024 - 18:05:13 EST


On 03 14:23:20, Kees Cook wrote:
> On Wed, Oct 02, 2024 at 11:18:57AM +0200, Thorsten Blum wrote:
> > On 28. Sep 2024, at 22:34, Kees Cook <kees@xxxxxxxxxx> wrote:
> > > [...]
> > >
> > > Sorry, I've been out of commission with covid. Globally disabling this
> > > macro for clang is not the right solution (way too big a hammer).
> > >
> > > Until Bill has a fix, we can revert commit
> > > 86e92eeeb23741a072fe7532db663250ff2e726a, as the problem is limited to
> > > certain situations where 'counted_by' is in use.
> >
> > I already encountered two other related __counted_by() issues [1][2]
> > that are now being reverted. Would it be an option to disable it
> > globally, but only for Clang < v19 (where it looks like it'll be fixed)?
>
> Yeah, once we have a solid fix (so we have a known Clang version to
> target), I'll want counted_by disabled in versions prior to that.
>

Just to clarify: There are two separate issues. One was __bdos returning
0 (or sometimes other garbage). That one is fixed in main by [1] (so
will presumably be fixed in 19.1.2). The second is __bdos sometimes being off
by 4 bytes. That could be addressed by open PR [2].

[1] https://github.com/llvm/llvm-project/pull/110497
[2] https://github.com/llvm/llvm-project/pull/111015