[tip:x86/headers] x86, crypto: Restore MODULE_LICENSE() to glue_helper.c so it loads

From: tip-bot for Paul Gortmaker
Date: Wed Jul 20 2016 - 06:41:21 EST


Commit-ID: a47177d360a22ddaa7584186e7e1c74e49220bbe
Gitweb: http://git.kernel.org/tip/a47177d360a22ddaa7584186e7e1c74e49220bbe
Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
AuthorDate: Tue, 19 Jul 2016 10:42:43 -0400
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitDate: Wed, 20 Jul 2016 09:39:50 +0200

x86, crypto: Restore MODULE_LICENSE() to glue_helper.c so it loads

In commit:

eb008eb6f8b6 ("x86: Audit and remove any remaining unnecessary uses of module.h")

... we looked for instances of module.h that were not supporting anything
more than exported symbols.

To facilitate the exchange of module.h to the much smaller export.h
we occasionally remove tags like MODULE_AUTHOR() etc. which in the case
of built in files, are no-ops and hence that is fine, assuming the
info is already in the comments at the top of the file..

However the error here is that I overlooked that this file was used
not as a driver, but as a library of functions, and hence has no
explicit modular linkage functions or similar, making it _appear_
non-modular. We can see that in retrospect with:

arch/x86/crypto/Makefile:obj-$(CONFIG_CRYPTO_GLUE_HELPER_X86) += glue_helper.o

crypto/Kconfig:config CRYPTO_GLUE_HELPER_X86
crypto/Kconfig: tristate

Since we removed what was an active MODULE_LICENSE(), the module failed
to load and then automated testing showed the missing glue helpers as:

glue_helper: Unknown symbol blkcipher_walk_done (err 0)
glue_helper: Unknown symbol blkcipher_walk_virt (err 0)
glue_helper: Unknown symbol kernel_fpu_end (err 0)
glue_helper: Unknown symbol kernel_fpu_begin (err 0)
glue_helper: Unknown symbol blkcipher_walk_virt_block (err 0)

So we do a partial revert of that change to just this one file, and
watch for similar MODULE_LICENSE() only cases in future audits.

Reported-by: kernel test robot <xiaolong.ye@xxxxxxxxx>
Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: linux-crypto@xxxxxxxxxxxxxxx
Cc: lkp@xxxxxx
Fixes: eb008eb6f8b6 ("x86: Audit and remove any remaining unnecessary uses of module.h")
Link: http://lkml.kernel.org/r/20160719144243.GK21225@xxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
arch/x86/crypto/glue_helper.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/x86/crypto/glue_helper.c b/arch/x86/crypto/glue_helper.c
index 3cc4cad..6a85598 100644
--- a/arch/x86/crypto/glue_helper.c
+++ b/arch/x86/crypto/glue_helper.c
@@ -25,7 +25,7 @@
*
*/

-#include <linux/export.h>
+#include <linux/module.h>
#include <crypto/b128ops.h>
#include <crypto/lrw.h>
#include <crypto/xts.h>
@@ -397,3 +397,5 @@ void glue_xts_crypt_128bit_one(void *ctx, u128 *dst, const u128 *src, le128 *iv,
u128_xor(dst, dst, (u128 *)&ivblk);
}
EXPORT_SYMBOL_GPL(glue_xts_crypt_128bit_one);
+
+MODULE_LICENSE("GPL");