Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1446526 > unrolled thread

Re: [lkp] [x86] eb008eb6f8: kmsg.glue_helper:Unknown_symbol_blkcipher_walk_done(err#)

Started byPaul Gortmaker <paul.gortmaker@windriver.com>
First post2016-07-19 16:50 +0200
Last post2016-07-20 12:50 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [lkp] [x86]  eb008eb6f8:  kmsg.glue_helper:Unknown_symbol_blkcipher_walk_done(err#) Paul Gortmaker <paul.gortmaker@windriver.com> - 2016-07-19 16:50 +0200
    [tip:x86/headers] x86, crypto: Restore MODULE_LICENSE() to  glue_helper.c so it loads tip-bot for Paul Gortmaker <tipbot@zytor.com> - 2016-07-20 12:50 +0200

#1446526 — Re: [lkp] [x86] eb008eb6f8: kmsg.glue_helper:Unknown_symbol_blkcipher_walk_done(err#)

FromPaul Gortmaker <paul.gortmaker@windriver.com>
Date2016-07-19 16:50 +0200
SubjectRe: [lkp] [x86] eb008eb6f8: kmsg.glue_helper:Unknown_symbol_blkcipher_walk_done(err#)
Message-ID<rWEvn-5g5-7@gated-at.bofh.it>
[[lkp] [x86]  eb008eb6f8: kmsg.glue_helper:Unknown_symbol_blkcipher_walk_done(err#)] On 19/07/2016 (Tue 10:23) kernel test robot wrote:

> 
> FYI, we noticed the following commit:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> commit eb008eb6f8b689853d6e9f4ae3ff56ea734e4319 ("x86: Audit and remove any remaining unnecessary uses of module.h")
> 
> in testcase: rcutorture
> with following parameters: runtime=300s
> 
> on test machine: 4 threads Ivy Bridge with 4G memory
> 
> caused below changes:
> 
> 
> [   12.682466] glue_helper: Unknown symbol blkcipher_walk_done (err 0)
> [   12.682907] glue_helper: Unknown symbol blkcipher_walk_virt (err 0)
> [   12.683364] glue_helper: Unknown symbol kernel_fpu_end (err 0)
> [   12.683773] glue_helper: Unknown symbol kernel_fpu_begin (err 0)
> [   12.684195] glue_helper: Unknown symbol blkcipher_walk_virt_block (err 0)
> [   12.701397] glue_helper: Unknown symbol blkcipher_walk_done (err 0)

Thanks for the report -- with it the fix is obvious so I've build tested
it but not gone through replicating and setting up all of lkp.

I inadvertently removed a MODULE_LICENSE tag that was active, hence the
module would fail to load, causing the above.  Further details are in
the commit log of the proposed fix for tip/x86/headers below.

Paul.

------------------------8<-----------------------------

 From 7c8033f0c34c55d6fbb9b8628d4e9da3ad2e3c76 Mon Sep 17 00:00:00 2001
From: Paul Gortmaker <paul.gortmaker@windriver.com>
Date: Tue, 19 Jul 2016 10:06:30 -0400
Subject: [PATCH] x86: crypto: restore MODULE_LICENSE to glue_helper 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.

Fixes: eb008eb6f8b6 ("x86: Audit and remove any remaining unnecessary uses of module.h")
Reported-by: kernel test robot <xiaolong.ye@intel.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 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 3cc4cad4c363..6a85598931b5 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");
-- 
2.8.4

[toc] | [next] | [standalone]


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

Fromtip-bot for Paul Gortmaker <tipbot@zytor.com>
Date2016-07-20 12:50 +0200
Subject[tip:x86/headers] x86, crypto: Restore MODULE_LICENSE() to glue_helper.c so it loads
Message-ID<rWXeG-fw-13@gated-at.bofh.it>
In reply to#1446526
Commit-ID:  a47177d360a22ddaa7584186e7e1c74e49220bbe
Gitweb:     http://git.kernel.org/tip/a47177d360a22ddaa7584186e7e1c74e49220bbe
Author:     Paul Gortmaker <paul.gortmaker@windriver.com>
AuthorDate: Tue, 19 Jul 2016 10:42:43 -0400
Committer:  Ingo Molnar <mingo@kernel.org>
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@intel.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-crypto@vger.kernel.org
Cc: lkp@01.org
Fixes: eb008eb6f8b6 ("x86: Audit and remove any remaining unnecessary uses of module.h")
Link: http://lkml.kernel.org/r/20160719144243.GK21225@windriver.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 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");

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web