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-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html