Re: [PATCH v2 0/5] firmware: add SmPL grammar to avoid issues

From: Luis R. Rodriguez
Date: Wed Aug 03 2016 - 13:06:19 EST


On Wed, Aug 03, 2016 at 05:04:39PM +0200, Greg KH wrote:
> On Wed, Aug 03, 2016 at 04:50:14PM +0200, Luis R. Rodriguez wrote:
> > On Thu, Jul 28, 2016 at 02:41:48AM +0200, Luis R. Rodriguez wrote:
> > > On Wed, Jul 13, 2016 at 11:47:52PM +0200, Luis R. Rodriguez wrote:
> > > > On Thu, Jul 07, 2016 at 02:56:44AM +0200, Luis R. Rodriguez wrote:
> > > > > On Thu, Jun 16, 2016 at 03:54:16PM -0700, Luis R. Rodriguez wrote:
> > > > > > The firmware API has had some issues a while ago, some of this is
> > > > > > not well documented, and its still hard to grasp. This documents
> > > > > > some of these issues, adds SmPL grammar rules to enable us to hunt
> > > > > > for issues, and annotations to help us with our effort to finally
> > > > > > compartamentalize that pesky usermode helper.
> > > > > >
> > > > > > Previously this was just one patch, the grammar rule to help
> > > > > > find request firmware API users on init or probe, this series
> > > > > > extends that effort with usermode helper grammar rules, and some
> > > > > > annotations and documentation on the firmware_class driver to
> > > > > > avoid further issues. Documenting the usermode helper and making
> > > > > > it clear why we cannot remove it is important for analysis for
> > > > > > the next series which adds the new flexible sysdata firmware API.
> > > > > >
> > > > > > This series depends on the coccicheck series which enables
> > > > > > annotations on coccinelle patches to require a specific
> > > > > > version of coccinelle [0], as such coordination with Michal is
> > > > > > in order.
> > > > >
> > > > > Michal is out until July 11, and upon further thought such coordination
> > > > > is not need, the annotation is in place as comments and as such
> > > > > merging this now won't have any negative effects other than the version
> > > > > check. Also the patches in question for the coccicheck change are all
> > > > > acked now and I expect them to be merged anyway.
> > > > >
> > > > > Which tree should firmware changes go through ?
> > > > >
> > > > > > This series is also further extended next with the new sydata
> > > > > > API, the full set of changes is available on my linux-next tree [1].
> > > > > >
> > > > > > Perhaps now a good time to discuss -- if 0-day should enable the rule
> > > > > > scripts/coccinelle/api/request_firmware-usermode.cocci to be called on
> > > > > > every 0-day iteration, it runs rather fast and it should help police
> > > > > > against avoiding futher explicit users of the usermode helper.
> > > > >
> > > > > And if we are going to merge this anyone oppose enabling hunting
> > > > > for further explicit users of the usermode helper using grammar through
> > > > > 0-day ?
> > > >
> > > > *Poke*
> > >
> > > *Re-poke*
> >
> > Re-re-poke.
> >
> > The scripts/coccicheck changes are now merged on Linus' tree, so these patches
> > have no other pending changes upstream.
> >
> > Who's tree can this go through or is this too late now?
>
> It's way too late for 4.8-rc1, it will have to go into a maintainer tree
> after 4.8-rc1 is out.

OK thanks, what maintainer tree should this go through ? firmware_class changes
seem to sporadically go through different maintainers, and often some changes
go in without much review. Not sure if this is helping.

For instance Stephen Boyd's commit a098ecd2fa7db8fa4f ("firmware: support
loading into a pre-allocated buffer") when in through Andrew and I saw no
formal ACK from the maintainer. Meanwhile this series lingered just as long,
had IMHO less controversial changes, but went no where. I am adding myself to
the list of maintainers for firmware_class in this series to help with this as
I've already been helping with review and I'd like to help with maintenance but
its not clear if the current tree setup helps. I don't think setting up a tree
just for firmware_class makes sense.. but not sure what to do about the tree
situation. Would setting on going through you through a driver-core branch be
best? How can we make things better ? Your advice is appreciated.

Luis