OSDN Git Service

fm10k: cast page_addr to u8 * when incrementing it
authorJacob Keller <jacob.e.keller@intel.com>
Mon, 8 Jul 2019 23:12:33 +0000 (16:12 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sun, 4 Aug 2019 11:34:22 +0000 (04:34 -0700)
commit27429be75e0d291a74b57f9753537e727b7635b7
treeb82fc87f02592c6f46a5bd9a530af7bde600f7a1
parent9aac0fbd471bf09b614b2038faddc91f53b788bb
fm10k: cast page_addr to u8 * when incrementing it

The page_addr variable is a void pointer. Incrementing it before calling
prefetch is technically undefined. Fix this by casting it to a u8*
pointer before incrementing it. This ensures that we increment the
pointer value in byte units, instead of relying on this undefined
behavior.

This was detected by cppcheck, and resolves the following warning
produced by that tool:

[fm10k_main.c:328]: (portability) 'page_addr' is of type 'void *'. When
using void pointers in calculations, the behaviour is undefined.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/fm10k/fm10k_main.c