[Intel-gfx] [PATCH 04/10] driver core: Don't return EPROBE_DEFER to userspace during sysfs bind
Cornelia Huck
cohuck at redhat.com
Tue Jun 15 14:03:27 UTC 2021
On Tue, Jun 15 2021, Christoph Hellwig <hch at lst.de> wrote:
> EPROBE_DEFER is an internal kernel error code and it should not be leaked
> to userspace via the bind_store() sysfs. Userspace doesn't have this
> constant and cannot understand it.
>
> Further, it doesn't really make sense to have userspace trigger a deferred
> probe via bind_store(), which could eventually succeed, while
> simultaneously returning an error back.
>
> Resolve this by splitting driver_probe_device so that the version used
> by the sysfs binding that turns EPROBE_DEFER into -EAGAIN, while the one
> used for internally binding keeps the error code, and calls
> driver_deferred_probe_add where needed. This also allows to nicely split
> out the defer_all_probes / probe_count checks so that they actually allow
> for full device_{block,unblock}_probing protection while not bothering
> the sysfs bind case.
>
> Signed-off-by: Christoph Hellwig <hch at lst.de>
> Reviewed-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> ---
> drivers/base/dd.c | 78 +++++++++++++++++++++++++----------------------
> 1 file changed, 42 insertions(+), 36 deletions(-)
>
Reviewed-by: Cornelia Huck <cohuck at redhat.com>
More information about the Intel-gfx
mailing list