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] [thread-next>] [day] [month] [year] [list]
Message-ID: <0e1043b5-c585-5f4a-cde7-1afd60c0db56@linaro.org>
Date:   Sun, 19 Mar 2017 18:44:23 +0300
From:   Aleksey Makarov <aleksey.makarov@...aro.org>
To:     Samuel Thibault <samuel.thibault@...-lyon.org>
Cc:     Steven Rostedt <rostedt@...dmis.org>,
        Petr Mladek <pmladek@...e.com>,
        Ming Lei <ming.lei@...onical.com>,
        linux-serial@...r.kernel.org, Joe Perches <joe@...ches.com>,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] braille-console: Fix value returned by
 _braille_console_setup



On 03/19/2017 05:37 PM, Samuel Thibault wrote:
> commit bbeddf52adc1 ("printk: move braille console support into
> separate braille.[ch] files") introduced _braille_console_setup()
> to outline the braille initialization code.  There was however some
> confusion over the value it was supposed to return. commit 2cfe6c4ac7ee
> ("printk: Fix return of braille_register_console()") tried to fix it
> but failed to.
>
> This fixes and documents the returned value according to the use
> in printk.c: non-zero return means a parsing error, and thus this
> console configuration should be ignored.

Did you test the code on real braille hardware?
I am asking because there could also be other problems with the code
that have not been run for 3 years since it was changed.

Thank you
Aleksey Makarov

> Signed-off-by: Samuel Thibault <samuel.thibault@...-lyon.org>
> Cc: Aleksey Makarov <aleksey.makarov@...aro.org>
> Cc: Joe Perches <joe@...ches.com>
> Cc: Ming Lei <ming.lei@...onical.com>
> Cc: Steven Rostedt <rostedt@...dmis.org>
> Cc: Petr Mladek <pmladek@...e.com>
>
> Index: linux-4.10/kernel/printk/braille.c
> ===================================================================
> --- linux-4.10.orig/kernel/printk/braille.c
> +++ linux-4.10/kernel/printk/braille.c
> @@ -2,12 +2,13 @@
>
>  #include <linux/kernel.h>
>  #include <linux/console.h>
> +#include <linux/errno.h>
>  #include <linux/string.h>
>
>  #include "console_cmdline.h"
>  #include "braille.h"
>
> -char *_braille_console_setup(char **str, char **brl_options)
> +int _braille_console_setup(char **str, char **brl_options)
>  {
>  	if (!strncmp(*str, "brl,", 4)) {
>  		*brl_options = "";
> @@ -15,14 +16,15 @@ char *_braille_console_setup(char **str,
>  	} else if (!strncmp(*str, "brl=", 4)) {
>  		*brl_options = *str + 4;
>  		*str = strchr(*brl_options, ',');
> -		if (!*str)
> +		if (!*str) {
>  			pr_err("need port name after brl=\n");
> +			return -EINVAL;
> +		}
>  		else
>  			*((*str)++) = 0;
> -	} else
> -		return NULL;
> +	}
>
> -	return *str;
> +	return 0;
>  }
>
>  int
> Index: linux-4.10/kernel/printk/braille.h
> ===================================================================
> --- linux-4.10.orig/kernel/printk/braille.h
> +++ linux-4.10/kernel/printk/braille.h
> @@ -9,7 +9,14 @@ braille_set_options(struct console_cmdli
>  	c->brl_options = brl_options;
>  }
>
> -char *
> +/*
> + * Setup console according to braille options.
> + * Return -EINVAL on syntax error, 0 on success (or no braille option was
> + * actually given).
> + * Modifies str to point to the serial options
> + * Sets brl_options to the parsed braille options.
> + */
> +int
>  _braille_console_setup(char **str, char **brl_options);
>
>  int
> @@ -25,10 +32,10 @@ braille_set_options(struct console_cmdli
>  {
>  }
>
> -static inline char *
> +static inline int
>  _braille_console_setup(char **str, char **brl_options)
>  {
> -	return NULL;
> +	return 0;
>  }
>
>  static inline int
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ