diff options
Diffstat (limited to 'crypto/shash.c')
-rw-r--r-- | crypto/shash.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/crypto/shash.c b/crypto/shash.c index a051541a4a17..5e31c8d776df 100644 --- a/crypto/shash.c +++ b/crypto/shash.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/seq_file.h> | 19 | #include <linux/seq_file.h> |
20 | #include <linux/cryptouser.h> | 20 | #include <linux/cryptouser.h> |
21 | #include <net/netlink.h> | 21 | #include <net/netlink.h> |
22 | #include <linux/compiler.h> | ||
22 | 23 | ||
23 | #include "internal.h" | 24 | #include "internal.h" |
24 | 25 | ||
@@ -67,7 +68,7 @@ EXPORT_SYMBOL_GPL(crypto_shash_setkey); | |||
67 | static inline unsigned int shash_align_buffer_size(unsigned len, | 68 | static inline unsigned int shash_align_buffer_size(unsigned len, |
68 | unsigned long mask) | 69 | unsigned long mask) |
69 | { | 70 | { |
70 | typedef u8 __attribute__ ((aligned)) u8_aligned; | 71 | typedef u8 __aligned_largest u8_aligned; |
71 | return len + (mask & ~(__alignof__(u8_aligned) - 1)); | 72 | return len + (mask & ~(__alignof__(u8_aligned) - 1)); |
72 | } | 73 | } |
73 | 74 | ||
@@ -80,7 +81,7 @@ static int shash_update_unaligned(struct shash_desc *desc, const u8 *data, | |||
80 | unsigned int unaligned_len = alignmask + 1 - | 81 | unsigned int unaligned_len = alignmask + 1 - |
81 | ((unsigned long)data & alignmask); | 82 | ((unsigned long)data & alignmask); |
82 | u8 ubuf[shash_align_buffer_size(unaligned_len, alignmask)] | 83 | u8 ubuf[shash_align_buffer_size(unaligned_len, alignmask)] |
83 | __attribute__ ((aligned)); | 84 | __aligned_largest; |
84 | u8 *buf = PTR_ALIGN(&ubuf[0], alignmask + 1); | 85 | u8 *buf = PTR_ALIGN(&ubuf[0], alignmask + 1); |
85 | int err; | 86 | int err; |
86 | 87 | ||
@@ -116,7 +117,7 @@ static int shash_final_unaligned(struct shash_desc *desc, u8 *out) | |||
116 | struct shash_alg *shash = crypto_shash_alg(tfm); | 117 | struct shash_alg *shash = crypto_shash_alg(tfm); |
117 | unsigned int ds = crypto_shash_digestsize(tfm); | 118 | unsigned int ds = crypto_shash_digestsize(tfm); |
118 | u8 ubuf[shash_align_buffer_size(ds, alignmask)] | 119 | u8 ubuf[shash_align_buffer_size(ds, alignmask)] |
119 | __attribute__ ((aligned)); | 120 | __aligned_largest; |
120 | u8 *buf = PTR_ALIGN(&ubuf[0], alignmask + 1); | 121 | u8 *buf = PTR_ALIGN(&ubuf[0], alignmask + 1); |
121 | int err; | 122 | int err; |
122 | 123 | ||
@@ -403,7 +404,7 @@ static int crypto_shash_report(struct sk_buff *skb, struct crypto_alg *alg) | |||
403 | #endif | 404 | #endif |
404 | 405 | ||
405 | static void crypto_shash_show(struct seq_file *m, struct crypto_alg *alg) | 406 | static void crypto_shash_show(struct seq_file *m, struct crypto_alg *alg) |
406 | __attribute__ ((unused)); | 407 | __maybe_unused; |
407 | static void crypto_shash_show(struct seq_file *m, struct crypto_alg *alg) | 408 | static void crypto_shash_show(struct seq_file *m, struct crypto_alg *alg) |
408 | { | 409 | { |
409 | struct shash_alg *salg = __crypto_shash_alg(alg); | 410 | struct shash_alg *salg = __crypto_shash_alg(alg); |