|
|
@@ -25,6 +25,19 @@
|
|
|
#include <linux/string.h>
|
|
|
#include <linux/uaccess.h>
|
|
|
|
|
|
+/*
|
|
|
+ * Autoloaded crypto modules should only use a prefixed name to avoid allowing
|
|
|
+ * arbitrary modules to be loaded. Loading from userspace may still need the
|
|
|
+ * unprefixed names, so retains those aliases as well.
|
|
|
+ * This uses __MODULE_INFO directly instead of MODULE_ALIAS because pre-4.3
|
|
|
+ * gcc (e.g. avr32 toolchain) uses __LINE__ for uniqueness, and this macro
|
|
|
+ * expands twice on the same line. Instead, use a separate base name for the
|
|
|
+ * alias.
|
|
|
+ */
|
|
|
+#define MODULE_ALIAS_CRYPTO(name) \
|
|
|
+ __MODULE_INFO(alias, alias_userspace, name); \
|
|
|
+ __MODULE_INFO(alias, alias_crypto, "crypto-" name)
|
|
|
+
|
|
|
/*
|
|
|
* Algorithm masks and types.
|
|
|
*/
|