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] [day] [month] [year] [list]
Message-ID: <f17408a7-9fe9-4773-e65e-9b6902b8a3d5@xs4all.nl>
Date:   Thu, 25 Jul 2019 10:01:07 +0200
From:   Hans Verkuil <hverkuil@...all.nl>
To:     Guillaume Tucker <guillaume.tucker@...labora.com>,
        Hans Verkuil <hans.verkuil@...co.com>,
        Mauro Carvalho Chehab <mchehab@...nel.org>
Cc:     linux-media@...r.kernel.org, linux-kernel@...r.kernel.org,
        kernel@...labora.com, stable@...r.kernel.org
Subject: Re: [PATCH] media: vivid: fix device init when no_error_inj=1 and fb
 disabled

On 7/24/19 5:19 PM, Guillaume Tucker wrote:
> Add an extra condition to add the video output control class when the
> device has some hdmi outputs defined.  This is required to then always
> be able to add the display present control, which is enabled when
> there are some hdmi outputs.
> 
> This fixes the corner case where no_error_inj is enabled and the
> device has no frame buffer but some hdmi outputs, as otherwise the
> video output control class would be added anyway.  Without this fix,
> the sanity checks fail in v4l2_ctrl_new() as name is NULL.

Good catch.

Note that you can just drop the no_error_inj module option: v4l2-compliance
will detect the vivid driver and skip the error controls while testing.

I stopped using no_error_inj since I made that v4l2-compliance change.

Regards,

	Hans

> 
> Fixes: c533435ffb91 ("media: vivid: add display present control")
> Cc: stable@...r.kernel.org
> Signed-off-by: Guillaume Tucker <guillaume.tucker@...labora.com>
> ---
>  drivers/media/platform/vivid/vivid-ctrls.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/media/platform/vivid/vivid-ctrls.c b/drivers/media/platform/vivid/vivid-ctrls.c
> index 3e916c8befb7..7a52f585cab7 100644
> --- a/drivers/media/platform/vivid/vivid-ctrls.c
> +++ b/drivers/media/platform/vivid/vivid-ctrls.c
> @@ -1473,7 +1473,7 @@ int vivid_create_controls(struct vivid_dev *dev, bool show_ccs_cap,
>  	v4l2_ctrl_handler_init(hdl_vid_cap, 55);
>  	v4l2_ctrl_new_custom(hdl_vid_cap, &vivid_ctrl_class, NULL);
>  	v4l2_ctrl_handler_init(hdl_vid_out, 26);
> -	if (!no_error_inj || dev->has_fb)
> +	if (!no_error_inj || dev->has_fb || dev->num_hdmi_outputs)
>  		v4l2_ctrl_new_custom(hdl_vid_out, &vivid_ctrl_class, NULL);
>  	v4l2_ctrl_handler_init(hdl_vbi_cap, 21);
>  	v4l2_ctrl_new_custom(hdl_vbi_cap, &vivid_ctrl_class, NULL);
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ