Re: [PATCH/RFC] pci: dynids.use_driver_data considered harmful

From: Milton Miller
Date: Tue Aug 19 2008 - 14:01:24 EST


On Aug 17, 2008, at 2:06 PM, Jean Delvare wrote:
On Fri, 15 Aug 2008 23:22:59 -0700, Greg KH wrote:
On Fri, Aug 15, 2008 at 12:15:01PM -0700, Jesse Barnes wrote:
On Friday, August 15, 2008 11:55 am Jean Delvare wrote:
In fact we can do even better than that. We could accept from
user-space only driver_data values which at least one device ID entry in
the driver already uses. That should be fairly easy to implement, and
would offer a level of safety an order of magnitude above what we have
at the moment... And it works both ways: if 0 is not a valid data for
some driver, that would force the user to provide a non-zero (and
valid) data value. And it guarantees that the user can't ask for
something the driver doesn't expect, so drivers don't even need extra
checks. And no need for a use_driver_data flag either.

Meaning a driver audit of the usage? Yeah that would be great.

Thanks Jean for doing this. Sometimes things move quickly after a long stall. I thought about proposing a similar patch and therefore have to say Ack.

The only drawback is that it prevents the user from passing a "new"
data value even if it would be valid. But honestly, I don't expect that
case to happen frequently... if ever at all. So I'd say the benefits
totally outweight the drawback.

There are a few drivers that could benefit, mainly ones that I identified as using flags. For example, the radeon driver uses different fields of the data to specify crt controller, video output device, etc. I'm fine with deferring a flag for such drivers until someone audits a driver and wants the support.


If the interested people agree with the idea, I'll look into
implementing it.

Well the audit would show if user supplied "new" values are needed; otherwise
the approach sounds good to me.

That sounds reasonable, and should work properly.

No objection from me.

so, if anyone asks,

Concept-Acked-By: Milton Miller <miltonm@xxxxxxx>

milton

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/