linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* (no subject)
@ 2017-02-22  7:20 Pranay Kr. Srivastava
  2017-02-22  7:20 ` [PATCH-SPEAKUP 1/2] return same error value from spk_set_key_info Pranay Kr. Srivastava
  2017-02-22  7:20 ` [PATCH-SPEAKUP 2/2] remove unecessary initial allocation of vc Pranay Kr. Srivastava
  0 siblings, 2 replies; 8+ messages in thread
From: Pranay Kr. Srivastava @ 2017-02-22  7:20 UTC (permalink / raw)
  To: w.d.hubbs, chris, kirk, samuel.thibault, gregkh, sfr, speakup,
	devel, linux-kernel


Sending both patches as series instead. Made the required changes as
suggessted in earlier versions and fixed the warnings reported from
kbuild test robot.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH-SPEAKUP 1/2] return same error value from spk_set_key_info
  2017-02-22  7:20 Pranay Kr. Srivastava
@ 2017-02-22  7:20 ` Pranay Kr. Srivastava
  2017-02-22 10:26   ` Samuel Thibault
                     ` (3 more replies)
  2017-02-22  7:20 ` [PATCH-SPEAKUP 2/2] remove unecessary initial allocation of vc Pranay Kr. Srivastava
  1 sibling, 4 replies; 8+ messages in thread
From: Pranay Kr. Srivastava @ 2017-02-22  7:20 UTC (permalink / raw)
  To: w.d.hubbs, chris, kirk, samuel.thibault, gregkh, sfr, speakup,
	devel, linux-kernel
  Cc: Pranay Kr. Srivastava

This patch makes spk_set_key_info return -EINVAL
in case of failure instead of returning 4 different
values for the type of error that occurred.

Print the offending values instead as debug message.

Signed-off-by: Pranay Kr. Srivastava <pranjas@gmail.com>
---
 drivers/staging/speakup/main.c | 27 +++++++++++++++++++--------
 1 file changed, 19 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/speakup/main.c b/drivers/staging/speakup/main.c
index c2f70ef..6667cf2 100644
--- a/drivers/staging/speakup/main.c
+++ b/drivers/staging/speakup/main.c
@@ -1216,13 +1216,19 @@ int spk_set_key_info(const u_char *key_info, u_char *k_buffer)
 	u_char ch, version, num_keys;
 
 	version = *cp++;
-	if (version != KEY_MAP_VER)
-		return -1;
+	if (version != KEY_MAP_VER) {
+		pr_debug("version found %d should be %d\n",
+			 version, KEY_MAP_VER);
+		return -EINVAL;
+	}
 	num_keys = *cp;
 	states = (int)cp[1];
 	key_data_len = (states + 1) * (num_keys + 1);
-	if (key_data_len + SHIFT_TBL_SIZE + 4 >= sizeof(spk_key_buf))
-		return -2;
+	if (key_data_len + SHIFT_TBL_SIZE + 4 >= sizeof(spk_key_buf)) {
+		pr_debug("too many key_infos (%d over %lu)\n",
+			 key_data_len + SHIFT_TBL_SIZE + 4, sizeof(spk_key_buf));
+		return -EINVAL;
+	}
 	memset(k_buffer, 0, SHIFT_TBL_SIZE);
 	memset(spk_our_keys, 0, sizeof(spk_our_keys));
 	spk_shift_table = k_buffer;
@@ -1233,14 +1239,19 @@ int spk_set_key_info(const u_char *key_info, u_char *k_buffer)
 	cp1 += 2;		/* now pointing at shift states */
 	for (i = 1; i <= states; i++) {
 		ch = *cp1++;
-		if (ch >= SHIFT_TBL_SIZE)
-			return -3;
+		if (ch >= SHIFT_TBL_SIZE) {
+			pr_debug("(%d) not valid shift state (max_allowed = %d)\n", ch,
+				 SHIFT_TBL_SIZE);
+			return -EINVAL;
+		}
 		spk_shift_table[ch] = i;
 	}
 	keymap_flags = *cp1++;
 	while ((ch = *cp1)) {
-		if (ch >= MAX_KEY)
-			return -4;
+		if (ch >= MAX_KEY) {
+			pr_debug("(%d), not valid key, (max_allowed = %d)\n", ch, MAX_KEY);
+			return -EINVAL;
+		}
 		spk_our_keys[ch] = cp1;
 		cp1 += states + 1;
 	}
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH-SPEAKUP 2/2] remove unecessary initial allocation of vc
  2017-02-22  7:20 Pranay Kr. Srivastava
  2017-02-22  7:20 ` [PATCH-SPEAKUP 1/2] return same error value from spk_set_key_info Pranay Kr. Srivastava
@ 2017-02-22  7:20 ` Pranay Kr. Srivastava
  2017-02-22 10:27   ` Samuel Thibault
  1 sibling, 1 reply; 8+ messages in thread
From: Pranay Kr. Srivastava @ 2017-02-22  7:20 UTC (permalink / raw)
  To: w.d.hubbs, chris, kirk, samuel.thibault, gregkh, sfr, speakup,
	devel, linux-kernel
  Cc: Pranay Kr. Srivastava

This patch removes the unnecessary allocation of
current foreground vc during initialization.

This initialization is already handled in the loop
that follows it for all available virtual consoles.

Also change the prototype of speakup_allocate to take
extra argument of gfp_* flags. Thus not requiring
GFP_ATOMIC during initialization.

Signed-off-by: Pranay Kr. Srivastava <pranjas@gmail.com>
---
 drivers/staging/speakup/main.c | 19 ++++---------------
 1 file changed, 4 insertions(+), 15 deletions(-)

diff --git a/drivers/staging/speakup/main.c b/drivers/staging/speakup/main.c
index 6667cf2..f81a936 100644
--- a/drivers/staging/speakup/main.c
+++ b/drivers/staging/speakup/main.c
@@ -1327,14 +1327,14 @@ static int edit_bits(struct vc_data *vc, u_char type, u_char ch, u_short key)
 }
 
 /* Allocation concurrency is protected by the console semaphore */
-static int speakup_allocate(struct vc_data *vc)
+static int speakup_allocate(struct vc_data *vc, gfp_t gfp_flags)
 {
 	int vc_num;
 
 	vc_num = vc->vc_num;
 	if (speakup_console[vc_num] == NULL) {
 		speakup_console[vc_num] = kzalloc(sizeof(*speakup_console[0]),
-						  GFP_ATOMIC);
+						  gfp_flags);
 		if (speakup_console[vc_num] == NULL)
 			return -ENOMEM;
 		speakup_date(vc);
@@ -2257,7 +2257,7 @@ static int vt_notifier_call(struct notifier_block *nb,
 	switch (code) {
 	case VT_ALLOCATE:
 		if (vc->vc_mode == KD_TEXT)
-			speakup_allocate(vc);
+			speakup_allocate(vc, GFP_ATOMIC);
 		break;
 	case VT_DEALLOCATE:
 		speakup_deallocate(vc);
@@ -2317,7 +2317,6 @@ static int __init speakup_init(void)
 {
 	int i;
 	long err = 0;
-	struct st_spk_t *first_console;
 	struct vc_data *vc = vc_cons[fg_console].d;
 	struct var_t *var;
 
@@ -2342,18 +2341,9 @@ static int __init speakup_init(void)
 	if (err)
 		goto error_virtkeyboard;
 
-	first_console = kzalloc(sizeof(*first_console), GFP_KERNEL);
-	if (!first_console) {
-		err = -ENOMEM;
-		goto error_alloc;
-	}
-
-	speakup_console[vc->vc_num] = first_console;
-	speakup_date(vc);
-
 	for (i = 0; i < MAX_NR_CONSOLES; i++)
 		if (vc_cons[i].d) {
-			err = speakup_allocate(vc_cons[i].d);
+			err = speakup_allocate(vc_cons[i].d, GFP_KERNEL);
 			if (err)
 				goto error_kobjects;
 		}
@@ -2412,7 +2402,6 @@ static int __init speakup_init(void)
 	for (i = 0; i < MAX_NR_CONSOLES; i++)
 		kfree(speakup_console[i]);
 
-error_alloc:
 	speakup_remove_virtual_keyboard();
 
 error_virtkeyboard:
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH-SPEAKUP 1/2] return same error value from spk_set_key_info
  2017-02-22  7:20 ` [PATCH-SPEAKUP 1/2] return same error value from spk_set_key_info Pranay Kr. Srivastava
@ 2017-02-22 10:26   ` Samuel Thibault
  2017-02-24 15:32   ` kbuild test robot
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Samuel Thibault @ 2017-02-22 10:26 UTC (permalink / raw)
  To: Pranay Kr. Srivastava
  Cc: w.d.hubbs, chris, kirk, gregkh, sfr, speakup, devel, linux-kernel

Pranay Kr. Srivastava, on mer. 22 févr. 2017 12:50:26 +0530, wrote:
> This patch makes spk_set_key_info return -EINVAL
> in case of failure instead of returning 4 different
> values for the type of error that occurred.
> 
> Print the offending values instead as debug message.
> 
> Signed-off-by: Pranay Kr. Srivastava <pranjas@gmail.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  drivers/staging/speakup/main.c | 27 +++++++++++++++++++--------
>  1 file changed, 19 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/staging/speakup/main.c b/drivers/staging/speakup/main.c
> index c2f70ef..6667cf2 100644
> --- a/drivers/staging/speakup/main.c
> +++ b/drivers/staging/speakup/main.c
> @@ -1216,13 +1216,19 @@ int spk_set_key_info(const u_char *key_info, u_char *k_buffer)
>  	u_char ch, version, num_keys;
>  
>  	version = *cp++;
> -	if (version != KEY_MAP_VER)
> -		return -1;
> +	if (version != KEY_MAP_VER) {
> +		pr_debug("version found %d should be %d\n",
> +			 version, KEY_MAP_VER);
> +		return -EINVAL;
> +	}
>  	num_keys = *cp;
>  	states = (int)cp[1];
>  	key_data_len = (states + 1) * (num_keys + 1);
> -	if (key_data_len + SHIFT_TBL_SIZE + 4 >= sizeof(spk_key_buf))
> -		return -2;
> +	if (key_data_len + SHIFT_TBL_SIZE + 4 >= sizeof(spk_key_buf)) {
> +		pr_debug("too many key_infos (%d over %lu)\n",
> +			 key_data_len + SHIFT_TBL_SIZE + 4, sizeof(spk_key_buf));
> +		return -EINVAL;
> +	}
>  	memset(k_buffer, 0, SHIFT_TBL_SIZE);
>  	memset(spk_our_keys, 0, sizeof(spk_our_keys));
>  	spk_shift_table = k_buffer;
> @@ -1233,14 +1239,19 @@ int spk_set_key_info(const u_char *key_info, u_char *k_buffer)
>  	cp1 += 2;		/* now pointing at shift states */
>  	for (i = 1; i <= states; i++) {
>  		ch = *cp1++;
> -		if (ch >= SHIFT_TBL_SIZE)
> -			return -3;
> +		if (ch >= SHIFT_TBL_SIZE) {
> +			pr_debug("(%d) not valid shift state (max_allowed = %d)\n", ch,
> +				 SHIFT_TBL_SIZE);
> +			return -EINVAL;
> +		}
>  		spk_shift_table[ch] = i;
>  	}
>  	keymap_flags = *cp1++;
>  	while ((ch = *cp1)) {
> -		if (ch >= MAX_KEY)
> -			return -4;
> +		if (ch >= MAX_KEY) {
> +			pr_debug("(%d), not valid key, (max_allowed = %d)\n", ch, MAX_KEY);
> +			return -EINVAL;
> +		}
>  		spk_our_keys[ch] = cp1;
>  		cp1 += states + 1;
>  	}
> -- 
> 2.10.2
> 

-- 
Samuel
<b> j'en ai parlé à xavier, il n'est pas interdit qu'il le change un jour
 -+- #sos - a le bras long vers le chameau -+-

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH-SPEAKUP 2/2] remove unecessary initial allocation of vc
  2017-02-22  7:20 ` [PATCH-SPEAKUP 2/2] remove unecessary initial allocation of vc Pranay Kr. Srivastava
@ 2017-02-22 10:27   ` Samuel Thibault
  0 siblings, 0 replies; 8+ messages in thread
From: Samuel Thibault @ 2017-02-22 10:27 UTC (permalink / raw)
  To: Pranay Kr. Srivastava
  Cc: w.d.hubbs, chris, kirk, gregkh, sfr, speakup, devel, linux-kernel

Pranay Kr. Srivastava, on mer. 22 févr. 2017 12:50:27 +0530, wrote:
> This patch removes the unnecessary allocation of
> current foreground vc during initialization.
> 
> This initialization is already handled in the loop
> that follows it for all available virtual consoles.
> 
> Also change the prototype of speakup_allocate to take
> extra argument of gfp_* flags. Thus not requiring
> GFP_ATOMIC during initialization.
> 
> Signed-off-by: Pranay Kr. Srivastava <pranjas@gmail.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  drivers/staging/speakup/main.c | 19 ++++---------------
>  1 file changed, 4 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/staging/speakup/main.c b/drivers/staging/speakup/main.c
> index 6667cf2..f81a936 100644
> --- a/drivers/staging/speakup/main.c
> +++ b/drivers/staging/speakup/main.c
> @@ -1327,14 +1327,14 @@ static int edit_bits(struct vc_data *vc, u_char type, u_char ch, u_short key)
>  }
>  
>  /* Allocation concurrency is protected by the console semaphore */
> -static int speakup_allocate(struct vc_data *vc)
> +static int speakup_allocate(struct vc_data *vc, gfp_t gfp_flags)
>  {
>  	int vc_num;
>  
>  	vc_num = vc->vc_num;
>  	if (speakup_console[vc_num] == NULL) {
>  		speakup_console[vc_num] = kzalloc(sizeof(*speakup_console[0]),
> -						  GFP_ATOMIC);
> +						  gfp_flags);
>  		if (speakup_console[vc_num] == NULL)
>  			return -ENOMEM;
>  		speakup_date(vc);
> @@ -2257,7 +2257,7 @@ static int vt_notifier_call(struct notifier_block *nb,
>  	switch (code) {
>  	case VT_ALLOCATE:
>  		if (vc->vc_mode == KD_TEXT)
> -			speakup_allocate(vc);
> +			speakup_allocate(vc, GFP_ATOMIC);
>  		break;
>  	case VT_DEALLOCATE:
>  		speakup_deallocate(vc);
> @@ -2317,7 +2317,6 @@ static int __init speakup_init(void)
>  {
>  	int i;
>  	long err = 0;
> -	struct st_spk_t *first_console;
>  	struct vc_data *vc = vc_cons[fg_console].d;
>  	struct var_t *var;
>  
> @@ -2342,18 +2341,9 @@ static int __init speakup_init(void)
>  	if (err)
>  		goto error_virtkeyboard;
>  
> -	first_console = kzalloc(sizeof(*first_console), GFP_KERNEL);
> -	if (!first_console) {
> -		err = -ENOMEM;
> -		goto error_alloc;
> -	}
> -
> -	speakup_console[vc->vc_num] = first_console;
> -	speakup_date(vc);
> -
>  	for (i = 0; i < MAX_NR_CONSOLES; i++)
>  		if (vc_cons[i].d) {
> -			err = speakup_allocate(vc_cons[i].d);
> +			err = speakup_allocate(vc_cons[i].d, GFP_KERNEL);
>  			if (err)
>  				goto error_kobjects;
>  		}
> @@ -2412,7 +2402,6 @@ static int __init speakup_init(void)
>  	for (i = 0; i < MAX_NR_CONSOLES; i++)
>  		kfree(speakup_console[i]);
>  
> -error_alloc:
>  	speakup_remove_virtual_keyboard();
>  
>  error_virtkeyboard:
> -- 
> 2.10.2
> 

-- 
Samuel
 Créer une hiérarchie supplementaire pour remedier à un problème (?) de
 dispersion est d'une logique digne des Shadocks.
 * BT in: Guide du Cabaliste Usenet - La Cabale vote oui (les Shadocks aussi) *

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH-SPEAKUP 1/2] return same error value from spk_set_key_info
  2017-02-22  7:20 ` [PATCH-SPEAKUP 1/2] return same error value from spk_set_key_info Pranay Kr. Srivastava
  2017-02-22 10:26   ` Samuel Thibault
@ 2017-02-24 15:32   ` kbuild test robot
  2017-02-24 17:32   ` Greg KH
  2017-02-28 12:13   ` kbuild test robot
  3 siblings, 0 replies; 8+ messages in thread
From: kbuild test robot @ 2017-02-24 15:32 UTC (permalink / raw)
  To: Pranay Kr. Srivastava
  Cc: kbuild-all, w.d.hubbs, chris, kirk, samuel.thibault, gregkh, sfr,
	speakup, devel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 4045 bytes --]

Hi Pranay,

[auto build test WARNING on staging/staging-testing]
[also build test WARNING on v4.10]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Pranay-Kr-Srivastava/return-same-error-value-from-spk_set_key_info/20170222-152440
config: i386-randconfig-c0-02242210 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All warnings (new ones prefixed by >>):

   In file included from include/linux/dynamic_debug.h:5:0,
                    from include/linux/printk.h:320,
                    from include/linux/kernel.h:13,
                    from drivers/staging/speakup/main.c:21:
   drivers/staging/speakup/main.c: In function 'spk_set_key_info':
>> include/linux/jump_label.h:377:59: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=]
     else if (__builtin_types_compatible_p(typeof(*x), struct static_key_false)) \
                                                              ^
>> include/linux/dynamic_debug.h:102:2: note: in expansion of macro 'static_branch_unlikely'
     static_branch_unlikely(&descriptor.key.dd_key_false)
     ^
>> include/linux/dynamic_debug.h:125:6: note: in expansion of macro 'DYNAMIC_DEBUG_BRANCH'
     if (DYNAMIC_DEBUG_BRANCH(descriptor))   \
         ^
   include/linux/printk.h:324:2: note: in expansion of macro 'dynamic_pr_debug'
     dynamic_pr_debug(fmt, ##__VA_ARGS__)
     ^
   drivers/staging/speakup/main.c:1228:3: note: in expansion of macro 'pr_debug'
      pr_debug("too many key_infos (%d over %lu)\n",
      ^

vim +377 include/linux/jump_label.h

11276d53 Peter Zijlstra 2015-07-24  361  ({										\
11276d53 Peter Zijlstra 2015-07-24  362  	bool branch;								\
11276d53 Peter Zijlstra 2015-07-24  363  	if (__builtin_types_compatible_p(typeof(*x), struct static_key_true))	\
11276d53 Peter Zijlstra 2015-07-24  364  		branch = !arch_static_branch(&(x)->key, true);			\
11276d53 Peter Zijlstra 2015-07-24  365  	else if (__builtin_types_compatible_p(typeof(*x), struct static_key_false)) \
11276d53 Peter Zijlstra 2015-07-24  366  		branch = !arch_static_branch_jump(&(x)->key, true);		\
11276d53 Peter Zijlstra 2015-07-24  367  	else									\
11276d53 Peter Zijlstra 2015-07-24  368  		branch = ____wrong_branch_error();				\
11276d53 Peter Zijlstra 2015-07-24  369  	branch;									\
11276d53 Peter Zijlstra 2015-07-24  370  })
11276d53 Peter Zijlstra 2015-07-24  371  
11276d53 Peter Zijlstra 2015-07-24  372  #define static_branch_unlikely(x)						\
11276d53 Peter Zijlstra 2015-07-24  373  ({										\
11276d53 Peter Zijlstra 2015-07-24  374  	bool branch;								\
11276d53 Peter Zijlstra 2015-07-24  375  	if (__builtin_types_compatible_p(typeof(*x), struct static_key_true))	\
11276d53 Peter Zijlstra 2015-07-24  376  		branch = arch_static_branch_jump(&(x)->key, false);		\
11276d53 Peter Zijlstra 2015-07-24 @377  	else if (__builtin_types_compatible_p(typeof(*x), struct static_key_false)) \
11276d53 Peter Zijlstra 2015-07-24  378  		branch = arch_static_branch(&(x)->key, false);			\
11276d53 Peter Zijlstra 2015-07-24  379  	else									\
11276d53 Peter Zijlstra 2015-07-24  380  		branch = ____wrong_branch_error();				\
11276d53 Peter Zijlstra 2015-07-24  381  	branch;									\
11276d53 Peter Zijlstra 2015-07-24  382  })
11276d53 Peter Zijlstra 2015-07-24  383  
11276d53 Peter Zijlstra 2015-07-24  384  #else /* !HAVE_JUMP_LABEL */
11276d53 Peter Zijlstra 2015-07-24  385  

:::::: The code at line 377 was first introduced by commit
:::::: 11276d5306b8e5b438a36bbff855fe792d7eaa61 locking/static_keys: Add a new static_key interface

:::::: TO: Peter Zijlstra <peterz@infradead.org>
:::::: CC: Ingo Molnar <mingo@kernel.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 26365 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH-SPEAKUP 1/2] return same error value from spk_set_key_info
  2017-02-22  7:20 ` [PATCH-SPEAKUP 1/2] return same error value from spk_set_key_info Pranay Kr. Srivastava
  2017-02-22 10:26   ` Samuel Thibault
  2017-02-24 15:32   ` kbuild test robot
@ 2017-02-24 17:32   ` Greg KH
  2017-02-28 12:13   ` kbuild test robot
  3 siblings, 0 replies; 8+ messages in thread
From: Greg KH @ 2017-02-24 17:32 UTC (permalink / raw)
  To: Pranay Kr. Srivastava
  Cc: w.d.hubbs, chris, kirk, samuel.thibault, sfr, speakup, devel,
	linux-kernel

On Wed, Feb 22, 2017 at 12:50:26PM +0530, Pranay Kr. Srivastava wrote:
> This patch makes spk_set_key_info return -EINVAL
> in case of failure instead of returning 4 different
> values for the type of error that occurred.
> 
> Print the offending values instead as debug message.
> 
> Signed-off-by: Pranay Kr. Srivastava <pranjas@gmail.com>
> ---
>  drivers/staging/speakup/main.c | 27 +++++++++++++++++++--------
>  1 file changed, 19 insertions(+), 8 deletions(-)

Please fix the build errors and resend this series.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH-SPEAKUP 1/2] return same error value from spk_set_key_info
  2017-02-22  7:20 ` [PATCH-SPEAKUP 1/2] return same error value from spk_set_key_info Pranay Kr. Srivastava
                     ` (2 preceding siblings ...)
  2017-02-24 17:32   ` Greg KH
@ 2017-02-28 12:13   ` kbuild test robot
  3 siblings, 0 replies; 8+ messages in thread
From: kbuild test robot @ 2017-02-28 12:13 UTC (permalink / raw)
  To: Pranay Kr. Srivastava
  Cc: kbuild-all, w.d.hubbs, chris, kirk, samuel.thibault, gregkh, sfr,
	speakup, devel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 4363 bytes --]

Hi Pranay,

[auto build test WARNING on staging/staging-testing]
[also build test WARNING on v4.10 next-20170228]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Pranay-Kr-Srivastava/return-same-error-value-from-spk_set_key_info/20170222-152440
config: i386-randconfig-c0-02281459 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All warnings (new ones prefixed by >>):

   In file included from include/linux/linkage.h:4:0,
                    from include/linux/kernel.h:6,
                    from drivers/staging/speakup/main.c:21:
   drivers/staging/speakup/main.c: In function 'spk_set_key_info':
>> include/linux/compiler.h:117:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=]
       static struct ftrace_branch_data  \
                     ^
   include/linux/compiler.h:160:16: note: in definition of macro '__trace_if'
      ______r = !!(cond);     \
                   ^
   include/linux/dynamic_debug.h:125:2: note: in expansion of macro 'if'
     if (DYNAMIC_DEBUG_BRANCH(descriptor))   \
     ^
   include/linux/compiler.h:139:58: note: in expansion of macro '__branch_check__'
    #  define unlikely(x) (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 0))
                                                             ^
   include/linux/dynamic_debug.h:117:2: note: in expansion of macro 'unlikely'
     unlikely(descriptor.flags & _DPRINTK_FLAGS_PRINT)
     ^
   include/linux/dynamic_debug.h:125:6: note: in expansion of macro 'DYNAMIC_DEBUG_BRANCH'
     if (DYNAMIC_DEBUG_BRANCH(descriptor))   \
         ^
   include/linux/printk.h:324:2: note: in expansion of macro 'dynamic_pr_debug'
     dynamic_pr_debug(fmt, ##__VA_ARGS__)
     ^
   drivers/staging/speakup/main.c:1228:3: note: in expansion of macro 'pr_debug'
      pr_debug("too many key_infos (%d over %lu)\n",
      ^

vim +117 include/linux/compiler.h

2bcd521a Steven Rostedt  2008-11-21  101  	};
2bcd521a Steven Rostedt  2008-11-21  102  };
2ed84eeb Steven Rostedt  2008-11-12  103  
2ed84eeb Steven Rostedt  2008-11-12  104  /*
2ed84eeb Steven Rostedt  2008-11-12  105   * Note: DISABLE_BRANCH_PROFILING can be used by special lowlevel code
2ed84eeb Steven Rostedt  2008-11-12  106   * to disable branch tracing on a per file basis.
2ed84eeb Steven Rostedt  2008-11-12  107   */
d9ad8bc0 Bart Van Assche 2009-04-05  108  #if defined(CONFIG_TRACE_BRANCH_PROFILING) \
d9ad8bc0 Bart Van Assche 2009-04-05  109      && !defined(DISABLE_BRANCH_PROFILING) && !defined(__CHECKER__)
2ed84eeb Steven Rostedt  2008-11-12  110  void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
1f0d69a9 Steven Rostedt  2008-11-12  111  
1f0d69a9 Steven Rostedt  2008-11-12  112  #define likely_notrace(x)	__builtin_expect(!!(x), 1)
1f0d69a9 Steven Rostedt  2008-11-12  113  #define unlikely_notrace(x)	__builtin_expect(!!(x), 0)
1f0d69a9 Steven Rostedt  2008-11-12  114  
45b79749 Steven Rostedt  2008-11-21  115  #define __branch_check__(x, expect) ({					\
1f0d69a9 Steven Rostedt  2008-11-12  116  			int ______r;					\
2ed84eeb Steven Rostedt  2008-11-12 @117  			static struct ftrace_branch_data		\
1f0d69a9 Steven Rostedt  2008-11-12  118  				__attribute__((__aligned__(4)))		\
45b79749 Steven Rostedt  2008-11-21  119  				__attribute__((section("_ftrace_annotated_branch"))) \
1f0d69a9 Steven Rostedt  2008-11-12  120  				______f = {				\
1f0d69a9 Steven Rostedt  2008-11-12  121  				.func = __func__,			\
1f0d69a9 Steven Rostedt  2008-11-12  122  				.file = __FILE__,			\
1f0d69a9 Steven Rostedt  2008-11-12  123  				.line = __LINE__,			\
1f0d69a9 Steven Rostedt  2008-11-12  124  			};						\
1f0d69a9 Steven Rostedt  2008-11-12  125  			______r = likely_notrace(x);			\

:::::: The code at line 117 was first introduced by commit
:::::: 2ed84eeb8808cf3c9f039213ca137ffd7d753f0e trace: rename unlikely profiler to branch profiler

:::::: TO: Steven Rostedt <srostedt@redhat.com>
:::::: CC: Ingo Molnar <mingo@elte.hu>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 27857 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-02-28 12:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-22  7:20 Pranay Kr. Srivastava
2017-02-22  7:20 ` [PATCH-SPEAKUP 1/2] return same error value from spk_set_key_info Pranay Kr. Srivastava
2017-02-22 10:26   ` Samuel Thibault
2017-02-24 15:32   ` kbuild test robot
2017-02-24 17:32   ` Greg KH
2017-02-28 12:13   ` kbuild test robot
2017-02-22  7:20 ` [PATCH-SPEAKUP 2/2] remove unecessary initial allocation of vc Pranay Kr. Srivastava
2017-02-22 10:27   ` Samuel Thibault

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).