diff mbox series

hugetlb: Fix clang compilation warning

Message ID 20191016142324.52250-1-vincenzo.frascino@arm.com (mailing list archive)
State New, archived
Headers show
Series hugetlb: Fix clang compilation warning | expand

Commit Message

Vincenzo Frascino Oct. 16, 2019, 2:23 p.m. UTC
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@oracle.com>
Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
---
 mm/hugetlb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Mike Kravetz Oct. 16, 2019, 3:21 p.m. UTC | #1
On 10/16/19 7:23 AM, Vincenzo Frascino wrote:
> 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@oracle.com>
> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>

Thanks,

However, this is already addressed in Andrew's tree.
https://ozlabs.org/~akpm/mmotm/broken-out/hugetlbfs-hugetlb_fault_mutex_hash-cleanup.patch
Vincenzo Frascino Oct. 16, 2019, 4:41 p.m. UTC | #2
Hi Mike,

On 10/16/19 4:21 PM, Mike Kravetz wrote:
> On 10/16/19 7:23 AM, Vincenzo Frascino wrote:
>> 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@oracle.com>
>> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
> 
> Thanks,
> 
> However, this is already addressed in Andrew's tree.
> https://ozlabs.org/~akpm/mmotm/broken-out/hugetlbfs-hugetlb_fault_mutex_hash-cleanup.patch
> 

Thank you for pointing this out.
diff mbox series

Patch

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);
 }