Message ID | 20190609065710.18735-1-yamada.masahiro@socionext.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Herbert Xu |
Headers | show |
Series | crypto: user - fix potential warnings in cryptouser.h | expand |
On Sun, Jun 09, 2019 at 03:57:10PM +0900, Masahiro Yamada wrote: > > diff --git a/include/crypto/internal/cryptouser.h b/include/crypto/internal/cryptouser.h > index 8c602b187c58..2339cb06dbf8 100644 > --- a/include/crypto/internal/cryptouser.h > +++ b/include/crypto/internal/cryptouser.h > @@ -3,12 +3,15 @@ > > extern struct sock *crypto_nlsk; > > +struct crypto_user_alg; Please change this to instead include <linux/cryptouser.h>. In the crypto API the internal header file should always include the external header file. You can also remove the inclusion of the external header file from the users of crypto/internal/cryptouser.h. Thanks,
diff --git a/include/crypto/internal/cryptouser.h b/include/crypto/internal/cryptouser.h index 8c602b187c58..2339cb06dbf8 100644 --- a/include/crypto/internal/cryptouser.h +++ b/include/crypto/internal/cryptouser.h @@ -3,12 +3,15 @@ extern struct sock *crypto_nlsk; +struct crypto_user_alg; struct crypto_alg *crypto_alg_match(struct crypto_user_alg *p, int exact); #ifdef CONFIG_CRYPTO_STATS int crypto_reportstat(struct sk_buff *in_skb, struct nlmsghdr *in_nlh, struct nlattr **attrs); #else -static int crypto_reportstat(struct sk_buff *in_skb, struct nlmsghdr *in_nlh, struct nlattr **attrs) +static inline int crypto_reportstat(struct sk_buff *in_skb, + struct nlmsghdr *in_nlh, + struct nlattr **attrs) { return -ENOTSUPP; }
Function definitions in headers are usually marked as 'static inline'. Since 'inline' is missing for crypto_reportstat(), if it were not referenced from a .c file that includes this header, it would produce a warning. Also, 'struct crypto_user_alg' should be forward declared so that we do not rely on the specific order of header inclusion. Detected by compile-testing cryptouser.h as a standalone unit: /include/crypto/internal/cryptouser.h:6:44: warning: ‘struct crypto_user_alg’ declared inside parameter list will not be visible outside of this definition or declaration struct crypto_alg *crypto_alg_match(struct crypto_user_alg *p, int exact); ^~~~~~~~~~~~~~~ ./include/crypto/internal/cryptouser.h:11:12: warning: ‘crypto_reportstat’ defined but not used [-Wunused-function] static int crypto_reportstat(struct sk_buff *in_skb, struct nlmsghdr *in_nlh, struct nlattr **attrs) ^~~~~~~~~~~~~~~~~ Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> --- include/crypto/internal/cryptouser.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)