Re: [PATCH bpf v2] bpf: Add config for skipping BTF enum64s

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Sep 03, 2022 at 11:13:45AM -0300, Arnaldo Carvalho de Melo wrote:
> Em Sat, Sep 03, 2022 at 07:26:58AM +0200, Greg KH escreveu:
> > On Fri, Sep 02, 2022 at 06:51:00PM +0200, Jiri Olsa wrote:
> > > On Sun, Aug 28, 2022 at 08:33:17PM -0300, Martin Rodriguez Reboredo wrote:
> > > > After the release of pahole 1.24 some people in the dwarves mailing list
> > > > notified issues related to building the kernel with the BTF_DEBUG_INFO
> > > > option toggled. They seem to be happenning due to the kernel and
> > > > resolve_btfids interpreting btf types erroneously. In the dwarves list
> > > > I've proposed a change to the scripts that I've written while testing
> > > > the Rust kernel, it simply passes the --skip_encoding_btf_enum64 to
> > > > pahole if it has version 1.24.
> > > > 
> > > > v1 -> v2:
> > > > - Switch to off by default and remove the config option.
> > > > - Send it to stable instead.
> > > 
> > > hi,
> > > we have change that needs to go to stable kernels but does not have the
> > > equivalent fix in Linus tree
> > 
> > Why isn't it also relevant in Linus's tree?
> 
> See below.
>  
> > > what would be the best way to submit it?
> > 
> > Submit it here and document the heck out of why this isn't in Linus's
> > tree, what changes instead fixed it there, and so on.  Look in the
> > archives for examples of how this is done, one recent one that I can
> > think of is here:
> > 	https://lore.kernel.org/r/20220831191348.3388208-1-jannh@xxxxxxxxxx
> > 
> > > the issue is that new 'pahole' will generate BTF data that are not supported
> > > by older kernels, so we need to add --skip_encoding_btf_enum64 option to
> > > stable kernel's scripts/pahole-flags.sh to generate proper BTF data
> > > 
> > > we got complains that after upgrading to latest pahole the stable kernel
> > > compilation fails
> > 
> > And what is happening in Linus's tree for this same issue?
> 
> So, BTF_KIND_ENUM64 is a new BTF tag, one that is not accepted by older
> kernels, but is accepted by the BPF verifier on Linus' tree.
> 
> Its about avoiding having a pahole command line with lots of
> --enable-new-feature-foo for new stuff with the default producing the
> most recent BTF spec.
> 
> One way to documenting it: if you update pahole, then please use
> --skip_encoding_FOO for these new FOO features on kernels where those
> aren't supported.
> 
> So this isn't a backport from a fix on Linus' tree, as both the older
> pahole that doesn't encode BTF_KIND_ENUM64 and the new one, that encodes
> it by default, work with Linus' tree.
> 
> Does this violates the stable@ rules?

Not really, if it fixes an issue for those kernels when using newer
tools, that's fine.  Just document it well like you did here.

thanks,

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux