On Tue, Aug 27, 2019 at 11:36:19AM -0600, Raul E Rangel wrote:
> lkdtm/bugs.c:94:2: error: format '%d' expects argument of type 'int', but 
> argument 2 has type 'long unsigned int' [-Werror=format=]
>   pr_info("Calling function with %d frame size to depth %d ...\n",
>   ^
> THREAD_SIZE is defined as a unsigned long, cast CONFIG_FRAME_WARN to
> unsigned long as well.
> 
> Fixes: 24cccab42c419 ("lkdtm/bugs: Adjust recursion test to avoid elision")
> Signed-off-by: Raul E Rangel <rran...@chromium.org>

Thanks for the update! (Greg, can you take this instead?)

Acked-by: Kees Cook <keesc...@chromium.org>

-Kees

> ---
> 
> Changes in v2:
> - Correctly cast CONFIG_FRAME_WARN so the type is consistent.
> 
>  drivers/misc/lkdtm/bugs.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/misc/lkdtm/bugs.c b/drivers/misc/lkdtm/bugs.c
> index 1606658b9b7e..24245ccdba72 100644
> --- a/drivers/misc/lkdtm/bugs.c
> +++ b/drivers/misc/lkdtm/bugs.c
> @@ -22,7 +22,7 @@ struct lkdtm_list {
>   * recurse past the end of THREAD_SIZE by default.
>   */
>  #if defined(CONFIG_FRAME_WARN) && (CONFIG_FRAME_WARN > 0)
> -#define REC_STACK_SIZE (CONFIG_FRAME_WARN / 2)
> +#define REC_STACK_SIZE (_AC(CONFIG_FRAME_WARN, UL) / 2)
>  #else
>  #define REC_STACK_SIZE (THREAD_SIZE / 8)
>  #endif
> @@ -91,7 +91,7 @@ void lkdtm_LOOP(void)
>  
>  void lkdtm_EXHAUST_STACK(void)
>  {
> -     pr_info("Calling function with %d frame size to depth %d ...\n",
> +     pr_info("Calling function with %lu frame size to depth %d ...\n",
>               REC_STACK_SIZE, recur_count);
>       recursive_loop(recur_count);
>       pr_info("FAIL: survived without exhausting stack?!\n");
> -- 
> 2.23.0.187.g17f5b7556c-goog
> 

-- 
Kees Cook

Reply via email to