.. | .. |
---|
18 | 18 | #include <asm/word-at-a-time.h> |
---|
19 | 19 | #endif |
---|
20 | 20 | |
---|
21 | | -#define SIPROUND \ |
---|
22 | | - do { \ |
---|
23 | | - v0 += v1; v1 = rol64(v1, 13); v1 ^= v0; v0 = rol64(v0, 32); \ |
---|
24 | | - v2 += v3; v3 = rol64(v3, 16); v3 ^= v2; \ |
---|
25 | | - v0 += v3; v3 = rol64(v3, 21); v3 ^= v0; \ |
---|
26 | | - v2 += v1; v1 = rol64(v1, 17); v1 ^= v2; v2 = rol64(v2, 32); \ |
---|
27 | | - } while (0) |
---|
| 21 | +#define SIPROUND SIPHASH_PERMUTATION(v0, v1, v2, v3) |
---|
28 | 22 | |
---|
29 | 23 | #define PREAMBLE(len) \ |
---|
30 | | - u64 v0 = 0x736f6d6570736575ULL; \ |
---|
31 | | - u64 v1 = 0x646f72616e646f6dULL; \ |
---|
32 | | - u64 v2 = 0x6c7967656e657261ULL; \ |
---|
33 | | - u64 v3 = 0x7465646279746573ULL; \ |
---|
| 24 | + u64 v0 = SIPHASH_CONST_0; \ |
---|
| 25 | + u64 v1 = SIPHASH_CONST_1; \ |
---|
| 26 | + u64 v2 = SIPHASH_CONST_2; \ |
---|
| 27 | + u64 v3 = SIPHASH_CONST_3; \ |
---|
34 | 28 | u64 b = ((u64)(len)) << 56; \ |
---|
35 | 29 | v3 ^= key->key[1]; \ |
---|
36 | 30 | v2 ^= key->key[0]; \ |
---|
.. | .. |
---|
69 | 63 | bytemask_from_count(left))); |
---|
70 | 64 | #else |
---|
71 | 65 | switch (left) { |
---|
72 | | - case 7: b |= ((u64)end[6]) << 48; |
---|
73 | | - case 6: b |= ((u64)end[5]) << 40; |
---|
74 | | - case 5: b |= ((u64)end[4]) << 32; |
---|
| 66 | + case 7: b |= ((u64)end[6]) << 48; /* fall through */ |
---|
| 67 | + case 6: b |= ((u64)end[5]) << 40; /* fall through */ |
---|
| 68 | + case 5: b |= ((u64)end[4]) << 32; /* fall through */ |
---|
75 | 69 | case 4: b |= le32_to_cpup(data); break; |
---|
76 | | - case 3: b |= ((u64)end[2]) << 16; |
---|
| 70 | + case 3: b |= ((u64)end[2]) << 16; /* fall through */ |
---|
77 | 71 | case 2: b |= le16_to_cpup(data); break; |
---|
78 | 72 | case 1: b |= end[0]; |
---|
79 | 73 | } |
---|
.. | .. |
---|
102 | 96 | bytemask_from_count(left))); |
---|
103 | 97 | #else |
---|
104 | 98 | switch (left) { |
---|
105 | | - case 7: b |= ((u64)end[6]) << 48; |
---|
106 | | - case 6: b |= ((u64)end[5]) << 40; |
---|
107 | | - case 5: b |= ((u64)end[4]) << 32; |
---|
| 99 | + case 7: b |= ((u64)end[6]) << 48; /* fall through */ |
---|
| 100 | + case 6: b |= ((u64)end[5]) << 40; /* fall through */ |
---|
| 101 | + case 5: b |= ((u64)end[4]) << 32; /* fall through */ |
---|
108 | 102 | case 4: b |= get_unaligned_le32(end); break; |
---|
109 | | - case 3: b |= ((u64)end[2]) << 16; |
---|
| 103 | + case 3: b |= ((u64)end[2]) << 16; /* fall through */ |
---|
110 | 104 | case 2: b |= get_unaligned_le16(end); break; |
---|
111 | 105 | case 1: b |= end[0]; |
---|
112 | 106 | } |
---|
.. | .. |
---|
269 | 263 | bytemask_from_count(left))); |
---|
270 | 264 | #else |
---|
271 | 265 | switch (left) { |
---|
272 | | - case 7: b |= ((u64)end[6]) << 48; |
---|
273 | | - case 6: b |= ((u64)end[5]) << 40; |
---|
274 | | - case 5: b |= ((u64)end[4]) << 32; |
---|
| 266 | + case 7: b |= ((u64)end[6]) << 48; /* fall through */ |
---|
| 267 | + case 6: b |= ((u64)end[5]) << 40; /* fall through */ |
---|
| 268 | + case 5: b |= ((u64)end[4]) << 32; /* fall through */ |
---|
275 | 269 | case 4: b |= le32_to_cpup(data); break; |
---|
276 | | - case 3: b |= ((u64)end[2]) << 16; |
---|
| 270 | + case 3: b |= ((u64)end[2]) << 16; /* fall through */ |
---|
277 | 271 | case 2: b |= le16_to_cpup(data); break; |
---|
278 | 272 | case 1: b |= end[0]; |
---|
279 | 273 | } |
---|
.. | .. |
---|
302 | 296 | bytemask_from_count(left))); |
---|
303 | 297 | #else |
---|
304 | 298 | switch (left) { |
---|
305 | | - case 7: b |= ((u64)end[6]) << 48; |
---|
306 | | - case 6: b |= ((u64)end[5]) << 40; |
---|
307 | | - case 5: b |= ((u64)end[4]) << 32; |
---|
| 299 | + case 7: b |= ((u64)end[6]) << 48; /* fall through */ |
---|
| 300 | + case 6: b |= ((u64)end[5]) << 40; /* fall through */ |
---|
| 301 | + case 5: b |= ((u64)end[4]) << 32; /* fall through */ |
---|
308 | 302 | case 4: b |= get_unaligned_le32(end); break; |
---|
309 | | - case 3: b |= ((u64)end[2]) << 16; |
---|
| 303 | + case 3: b |= ((u64)end[2]) << 16; /* fall through */ |
---|
310 | 304 | case 2: b |= get_unaligned_le16(end); break; |
---|
311 | 305 | case 1: b |= end[0]; |
---|
312 | 306 | } |
---|
.. | .. |
---|
389 | 383 | } |
---|
390 | 384 | EXPORT_SYMBOL(hsiphash_4u32); |
---|
391 | 385 | #else |
---|
392 | | -#define HSIPROUND \ |
---|
393 | | - do { \ |
---|
394 | | - v0 += v1; v1 = rol32(v1, 5); v1 ^= v0; v0 = rol32(v0, 16); \ |
---|
395 | | - v2 += v3; v3 = rol32(v3, 8); v3 ^= v2; \ |
---|
396 | | - v0 += v3; v3 = rol32(v3, 7); v3 ^= v0; \ |
---|
397 | | - v2 += v1; v1 = rol32(v1, 13); v1 ^= v2; v2 = rol32(v2, 16); \ |
---|
398 | | - } while (0) |
---|
| 386 | +#define HSIPROUND HSIPHASH_PERMUTATION(v0, v1, v2, v3) |
---|
399 | 387 | |
---|
400 | 388 | #define HPREAMBLE(len) \ |
---|
401 | | - u32 v0 = 0; \ |
---|
402 | | - u32 v1 = 0; \ |
---|
403 | | - u32 v2 = 0x6c796765U; \ |
---|
404 | | - u32 v3 = 0x74656462U; \ |
---|
| 389 | + u32 v0 = HSIPHASH_CONST_0; \ |
---|
| 390 | + u32 v1 = HSIPHASH_CONST_1; \ |
---|
| 391 | + u32 v2 = HSIPHASH_CONST_2; \ |
---|
| 392 | + u32 v3 = HSIPHASH_CONST_3; \ |
---|
405 | 393 | u32 b = ((u32)(len)) << 24; \ |
---|
406 | 394 | v3 ^= key->key[1]; \ |
---|
407 | 395 | v2 ^= key->key[0]; \ |
---|
.. | .. |
---|
432 | 420 | v0 ^= m; |
---|
433 | 421 | } |
---|
434 | 422 | switch (left) { |
---|
435 | | - case 3: b |= ((u32)end[2]) << 16; |
---|
| 423 | + case 3: b |= ((u32)end[2]) << 16; /* fall through */ |
---|
436 | 424 | case 2: b |= le16_to_cpup(data); break; |
---|
437 | 425 | case 1: b |= end[0]; |
---|
438 | 426 | } |
---|
.. | .. |
---|
455 | 443 | v0 ^= m; |
---|
456 | 444 | } |
---|
457 | 445 | switch (left) { |
---|
458 | | - case 3: b |= ((u32)end[2]) << 16; |
---|
| 446 | + case 3: b |= ((u32)end[2]) << 16; /* fall through */ |
---|
459 | 447 | case 2: b |= get_unaligned_le16(end); break; |
---|
460 | 448 | case 1: b |= end[0]; |
---|
461 | 449 | } |
---|