Messages in this thread | | | From | David Laight <> | Subject | RE: [PATCH v5 0/2] Remove false-positive VLAs when using max() | Date | Thu, 22 Mar 2018 15:13:10 +0000 |
| |
From: Kees Cook > Sent: 22 March 2018 15:01 ... > > /* Glory to Martin Uecker <Martin.Uecker@med.uni-goettingen.de> */ > > #define __is_constant(a) \ > > (sizeof(int) == sizeof(*(1 ? ((void*)((a) * 0l)) : (int*)1))) ... > So, this time it's not a catastrophic failure with gcc 4.4. Instead it > fails in 11 distinct places: ... > Seems like it doesn't like void * arguments: > > mm/percpu.c: > void *ptr; > ... > base = min(ptr, base);
Try adding (unsigned long) before the (a).
David
| |