From: Jonathan Lemon <b...@fb.com> roundup_pow_of_two uses its arg without enclosing it in parens.
A call of the form: roundup_pow_of_two(boolval ? PAGE_SIZE : frag_size) resulted in an compile warning: warning: ?: using integer constants in boolean context [-Wint-in-bool-context] PAGE_SIZE : ../include/linux/log2.h:176:4: note: in definition of macro ‘roundup_pow_of_two’ (n == 1) ? 1 : \ ^ And the resulting code used '1' as the result of the operation. Fixes: 312a0c170945 ("[PATCH] LOG2: Alter roundup_pow_of_two() so that it can use a ilog2() on a constant") Signed-off-by: Jonathan Lemon <jonathan.le...@gmail.com> --- include/linux/log2.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/log2.h b/include/linux/log2.h index 83a4a3ca3e8a..c619ec6eff4a 100644 --- a/include/linux/log2.h +++ b/include/linux/log2.h @@ -173,7 +173,7 @@ unsigned long __rounddown_pow_of_two(unsigned long n) #define roundup_pow_of_two(n) \ ( \ __builtin_constant_p(n) ? ( \ - (n == 1) ? 1 : \ + ((n) == 1) ? 1 : \ (1UL << (ilog2((n) - 1) + 1)) \ ) : \ __roundup_pow_of_two(n) \ -- 2.24.1