[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <51E9C9E5.2060602@zytor.com>
Date: Fri, 19 Jul 2013 16:21:09 -0700
From: "H. Peter Anvin" <hpa@...or.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
CC: "Rafael J. Wysocki" <rjw@...ysocki.net>,
Tim Chen <tim.c.chen@...ux.intel.com>,
Herbert Xu <herbert@...dor.hengli.com.au>,
"Rafael J. Wysocki" <rafael.j.wysocki@...el.com>,
Tetsuo Handa <penguin-kernel@...ove.sakura.ne.jp>,
linux-kernel@...r.kernel.org, linux-crypto@...r.kernel.org,
ak <ak@...ux.intel.com>,
ACPI Devel Maling List <linux-acpi@...r.kernel.org>
Subject: Re: [PATCH 3.11-rc1] crypto: Fix boot failure due to module dependency.
On 07/19/2013 04:16 PM, Greg Kroah-Hartman wrote:
>
> udev isn't doing any module loading, 'modprobe' is just being called for
> any new module alias that shows up in the system, and all of the drivers
> that match it then get loaded.
>
> How is it a problem if a module is attempted to be loaded that is
> already loaded? How is it a problem if a different module is loaded for
> a device already bound to a driver? Both of those should be total
> "no-ops" for the kernel.
>
> But, I don't know anything about the cpu code, how is loading a module
> causing problems? That sounds like it needs to be fixes, as any root
> user can load modules whenever they want, you can't protect the kernel
> from doing that.
>
The issue here seems to be the dynamic binding nature of the crypto
subsystem. When something needs crypto, it will request the appropriate
crypto module (e.g. crct10dif), which may race with detecting a specific
hardware accelerator based on CPUID or device information (e.g.
crct10dif_pclmul).
RAID has effectively the same issue, and we just "solved" it by
compiling in all the accelerators into the top-level module.
-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists