[PATCH] vt: Grab console_lock around con_is_bound in show_bind

Sam Ravnborg sam at ravnborg.org
Thu Jul 18 10:37:26 UTC 2019


Hi Daniel.

Patch looks good. You can add my:
Acked-by: Sam Ravnborg <sam at ravnborg.org>

For good measure I checked all other users of con_is_bound()
and they looked good from a locking perspective.
Then I looked a bit more for missing locking and lost
the overview.

On Thu, Jul 18, 2019 at 10:09:03AM +0200, Daniel Vetter wrote:
> Not really harmful not to, but also not harm in grabbing the lock. And
> this shuts up a new WARNING I introduced in commit ddde3c18b700 ("vt:
> More locking checks").

Maybe add the warning that Jens reported to the changelog, in case
someone hits something that looks like this warning.
Mainly for google fodder, but also in case changelogs are searched.

	Sam
> 
> Reported-by: Jens Remus <jremus at linux.ibm.com>
> Cc: linux-kernel at vger.kernel.org
> Cc: dri-devel at lists.freedesktop.org
> Cc: linux-fbdev at vger.kernel.org
> Cc: linux-s390 at vger.kernel.org
> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> Cc: Nicolas Pitre <nicolas.pitre at linaro.org>
> Cc: Martin Hostettler <textshell at uchuujin.de>
> Cc: Adam Borowski <kilobyte at angband.pl>
> Cc: Mikulas Patocka <mpatocka at redhat.com>
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> Cc: Sam Ravnborg <sam at ravnborg.org>
> ---
>  drivers/tty/vt/vt.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
> index ec92f36ab5c4..34aa39d1aed9 100644
> --- a/drivers/tty/vt/vt.c
> +++ b/drivers/tty/vt/vt.c
> @@ -3771,7 +3771,11 @@ static ssize_t show_bind(struct device *dev, struct device_attribute *attr,
>  			 char *buf)
>  {
>  	struct con_driver *con = dev_get_drvdata(dev);
> -	int bind = con_is_bound(con->con);
> +	int bind;
> +
> +	console_lock();
> +	bind = con_is_bound(con->con);
> +	console_unlock();
>  
>  	return snprintf(buf, PAGE_SIZE, "%i\n", bind);
>  }
> -- 
> 2.20.1


More information about the dri-devel mailing list