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