lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z-1MqJen5o0yhoQQ@phenom.ffwll.local>
Date: Wed, 2 Apr 2025 16:41:44 +0200
From: Simona Vetter <simona.vetter@...ll.ch>
To: Jani Nikula <jani.nikula@...ux.intel.com>
Cc: Jason Gunthorpe <jgg@...dia.com>,
	Masahiro Yamada <masahiroy@...nel.org>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	Dave Airlie <airlied@...il.com>,
	dri-devel <dri-devel@...ts.freedesktop.org>,
	LKML <linux-kernel@...r.kernel.org>
Subject: Re: [git pull] drm for 6.15-rc1

On Wed, Apr 02, 2025 at 04:53:37PM +0300, Jani Nikula wrote:
> On Wed, 02 Apr 2025, Jason Gunthorpe <jgg@...dia.com> wrote:
> > On Wed, Apr 02, 2025 at 03:56:37PM +0300, Jani Nikula wrote:
> >> On Tue, 01 Apr 2025, Jason Gunthorpe <jgg@...dia.com> wrote:
> >> > On Tue, Apr 01, 2025 at 10:42:35PM +0300, Jani Nikula wrote:
> >> >> On Tue, 01 Apr 2025, Jason Gunthorpe <jgg@...dia.com> wrote:
> >> >> > So, I'd suggest a better way to run this is first build the kernel,
> >> >> > then mine the gcc -MD output (ie stored in the .XX.cmd files) to
> >> >> > generate a list of headers that are actually part of the build, then
> >> >> > only test those. That eliminates all the kconfig problems. Opt out any
> >> >> > special headers that really have a good reason not to be stand alone.
> >> >> 
> >> >> I think we'd want the drm headers pass the checks independent of configs
> >> >> (apart from CONFIG_DRM). One size doesn't fit all.
> >> >
> >> > Why? That demand is just making it impossible to make shared
> >> > infrastructure, and I don't think DRM should go off and build its own
> >> > stuff just for DRM in a way that nobody else can use it.
> >> >
> >> > If you really, really, care then you can have your makefile codegen an
> >> > "allheaders.c" that #includes drm/*.h and compile that.
> >> 
> >> The v2 series [1] generalizes the header checks and it's no longer in
> >> any way dependent on DRM. For starters, each subsystem/driver needs to
> >> decide for themselves which headers are to be checked.
> >
> > Yuk. The idea at the top of this email is alot better. Why don't you
> > implement it?
> 
> Because quite frankly I don't have the time, and I've already spent a
> disproportionate amount of the time I didn't have on hiding the turds on
> the existing header test thing this week.
> 
> >> This can be expanded with more clever ways to choose the headers to
> >> check. But we have to start *somewhere*.
> >
> > Bah, that argument only works if nobody has better ideas. There are
> > meaningful technical problems with your approach, and proposed
> > solutions here.
> 
> There are also meaningful social problems with the approach of making
> people do a lot of stuff they didn't have time to do in the first place,
> just to end up not merging any of it ever.
> 
> What I've been focusing on is to fix this stuff enough to make it work
> for 6.15. If it's accepted, *maybe* I'll look at further improvements
> for the next merge window. And if there's enough interest, there's a
> baseline for others to build on. But right now, seems to me it could all
> just be reverted in a whim, with all the time wasted.

Yeah, this header test stuff is clearly not as easy as it looks. Even for
drm Jani had to fix up a few things every time this effort was restarted,
and we have very modular and clean headers and really try to make them
stand-alone. Rolling this out as a flag day change is just not realistic I
think, it's just setting yourself up for failure. I think there's two real
optiosn here:

- Gradually roll this out, ideally with support in main Kbuild so it
  doesn't have to be replicated.

- Just shoot it down and move on.

This isn't a refactoring, it's pretty substanstial change in how headers
work and how people need to treat them. And you just never change people
with a flag day approach, that doesn't ever work. And if you try, you'll
just piss of a lot of folks who are taken by surprise by your change.

Cheers, Sima
-- 
Simona Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ