Re: [PATCHv2] misc: kgdbts: Fix restrict error

From: Daniel Thompson
Date: Tue Sep 18 2018 - 19:14:54 EST


On Tue, Sep 11, 2018 at 10:44:03AM -0700, Laura Abbott wrote:
> kgdbts current fails when compiled with restrict:
>
> drivers/misc/kgdbts.c: In function âconfigure_kgdbtsâ:
> drivers/misc/kgdbts.c:1070:2: error: âstrcpyâ source argument is the same as destination [-Werror=restrict]
> strcpy(config, opt);
> ^~~~~~~~~~~~~~~~~~~
>
> As the error says, config is being used in both the source and destination.
> Refactor the code to avoid the extra copy and put the parsing closer to
> the actual location.
>
> Signed-off-by: Laura Abbott <labbott@xxxxxxxxxx>

Acked-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx>

> ---
> v2: Refactored to move the verbose setting into kgbts_run_tests per
> suggestion of Daniel Thompson
> ---
> drivers/misc/kgdbts.c | 16 ++++++----------
> 1 file changed, 6 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/misc/kgdbts.c b/drivers/misc/kgdbts.c
> index 6193270e7b3d..de20bdaa148d 100644
> --- a/drivers/misc/kgdbts.c
> +++ b/drivers/misc/kgdbts.c
> @@ -985,6 +985,12 @@ static void kgdbts_run_tests(void)
> int nmi_sleep = 0;
> int i;
>
> + verbose = 0;
> + if (strstr(config, "V1"))
> + verbose = 1;
> + if (strstr(config, "V2"))
> + verbose = 2;
> +
> ptr = strchr(config, 'F');
> if (ptr)
> fork_test = simple_strtol(ptr + 1, NULL, 10);
> @@ -1068,13 +1074,6 @@ static int kgdbts_option_setup(char *opt)
> return -ENOSPC;
> }
> strcpy(config, opt);
> -
> - verbose = 0;
> - if (strstr(config, "V1"))
> - verbose = 1;
> - if (strstr(config, "V2"))
> - verbose = 2;
> -
> return 0;
> }
>
> @@ -1086,9 +1085,6 @@ static int configure_kgdbts(void)
>
> if (!strlen(config) || isspace(config[0]))
> goto noconfig;
> - err = kgdbts_option_setup(config);
> - if (err)
> - goto noconfig;
>
> final_ack = 0;
> run_plant_and_detach_test(1);
> --
> 2.17.1
>