Re: Using separate initcall level for crypto subsystem

2015-01-06 Thread Herbert Xu
On Tue, Jan 06, 2015 at 06:30:36PM -0800, Marcel Holtmann wrote:

 that is indeed true. All the crypto algorithm need to be moved as well. I 
 considered that already since I had debugged the initcall order with a kernel 
 without modules.

If there were a real user then I would consider it.  I'm definitely
not adding this much complexity just for a self-test.

 Actually I was thinking to convert the algorithms to a newly introduced 
 module_crypto_alg() and module_crypto_shash() helpers.
 
 This would be similar to module_usb_driver() and module_pci_driver(). And 
 then changing the initcall level would be trivial. The 
 module_init/module_exit is just all the same boilerplate anyway and we could 
 get rid of it this way.

I'm OK with this though if it turns out to reduce the amount of
code.

Cheers,
-- 
Email: Herbert Xu herb...@gondor.apana.org.au
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line unsubscribe linux-crypto in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Using separate initcall level for crypto subsystem

2015-01-06 Thread Marcel Holtmann
Hi Herbert,

 we can easily run them later on. However when the Bluetooth subsystem is 
 built as module, then I would prefer to have the module loading fail in case 
 one of the selftest fails. I can hack around this with a lot of ifdef config 
 magic. If we would have all crypto, cipher etc. modules as crypto_initcall, 
 then I would have to add nothing extra on my side. It would reduce the ifdef 
 config magic on our side a lot.
 
 My personal take is that the crypto subsystem has become such a basic 
 feature that it might make sense to ensure that all pieces (including 
 ciphers) are loaded before we initialize any other subsystem.
 
 I don't think moving the crypto initcalls up is the answer because
 moving the subsystem itself isn't enough if you actually want to
 use crypto algorithms.

that is indeed true. All the crypto algorithm need to be moved as well. I 
considered that already since I had debugged the initcall order with a kernel 
without modules.

 You'd need to move the algorithms too which would be a nightmare.

Actually I was thinking to convert the algorithms to a newly introduced 
module_crypto_alg() and module_crypto_shash() helpers.

This would be similar to module_usb_driver() and module_pci_driver(). And then 
changing the initcall level would be trivial. The module_init/module_exit is 
just all the same boilerplate anyway and we could get rid of it this way.

Regards

Marcel

--
To unsubscribe from this list: send the line unsubscribe linux-crypto in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Using separate initcall level for crypto subsystem

2014-12-23 Thread Herbert Xu
On Mon, Dec 22, 2014 at 10:46:47AM -0800, Marcel Holtmann wrote:
 Hi,
 
 we wanted to add some crypto selftests to the Bluetooth subsystem that checks 
 our usage of the crypto handling we use for Bluetooth Low Energy Legacy 
 Pairing and Secure Connections.
 
 Since the Crypto subsystem and Bluetooth subsystem both use subsys_initcall 
 that goes horrible wrong when running it built-in. So I wonder if it would 
 make sense to introduce a crypto_initcall that comes before the 
 subsys_initcall.
 
 Any thoughts on this?

If it's just for self-tests would it be possible for them to be
done after system boot-up?

Cheers,
-- 
Email: Herbert Xu herb...@gondor.apana.org.au
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line unsubscribe linux-crypto in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Using separate initcall level for crypto subsystem

2014-12-22 Thread Marcel Holtmann
Hi,

we wanted to add some crypto selftests to the Bluetooth subsystem that checks 
our usage of the crypto handling we use for Bluetooth Low Energy Legacy Pairing 
and Secure Connections.

Since the Crypto subsystem and Bluetooth subsystem both use subsys_initcall 
that goes horrible wrong when running it built-in. So I wonder if it would make 
sense to introduce a crypto_initcall that comes before the subsys_initcall.

Any thoughts on this?

Regards

Marcel

--
To unsubscribe from this list: send the line unsubscribe linux-crypto in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html