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