Building the kernel with a recent version of clang I noticed the warning below: mm/hugetlb.c:4055:40: warning: expression does not compute the number of elements in this array; element type is 'unsigned long', not 'u32' (aka 'unsigned int') [-Wsizeof-array-div] hash = jhash2((u32 *)&key, sizeof(key)/sizeof(u32), 0); ~~~ ^ mm/hugetlb.c:4049:16: note: array 'key' declared here unsigned long key[2]; ^ mm/hugetlb.c:4055:40: note: place parentheses around the 'sizeof(u32)' expression to silence this warning hash = jhash2((u32 *)&key, sizeof(key)/sizeof(u32), 0); ^ CC fs/ext4/ialloc.o Fix the warning adding parentheses around the sizeof(u32) expression. Cc: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@xxxxxxx> --- mm/hugetlb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index ef37c85423a5..ce9ff2b35962 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -4052,7 +4052,7 @@ u32 hugetlb_fault_mutex_hash(struct hstate *h, struct address_space *mapping, key[0] = (unsigned long) mapping; key[1] = idx; - hash = jhash2((u32 *)&key, sizeof(key)/sizeof(u32), 0); + hash = jhash2((u32 *)&key, sizeof(key)/(sizeof(u32)), 0); return hash & (num_fault_mutexes - 1); } -- 2.23.0