diff options
| author | Amir Goldstein <amir73il@gmail.com> | 2018-02-05 19:32:18 +0200 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-04-28 15:01:14 -0700 |
| commit | 19b9ad67310ed2f685062a00aec602bec33835f0 (patch) | |
| tree | 9384c330041cdfafef64024c04d950f57a00fdf5 /drivers/net/ethernet/intel/e1000e/82571.c | |
| parent | bf8f5de17442bba5f811e7e724980730e079ee11 (diff) | |
<linux/stringhash.h>: fix end_name_hash() for 64bit long
The comment claims that this helper will try not to loose bits, but for
64bit long it looses the high bits before hashing 64bit long into 32bit
int. Use the helper hash_long() to do the right thing for 64bit long.
For 32bit long, there is no change.
All the callers of end_name_hash() either assign the result to
qstr->hash, which is u32 or return the result as an int value (e.g.
full_name_hash()). Change the helper return type to int to conform to
its user
