struct lsm_info {
        const char *name;       /* Required. */
        unsigned long flags;    /* Optional: flags describing LSM */
+       int *enabled;           /* Optional: NULL means enabled. */
        int (*init)(void);      /* Required. */
 };
 
 
 module_param_named(paranoid_load, aa_g_paranoid_load, aabool, S_IRUGO);
 
 /* Boot time disable flag */
-static bool apparmor_enabled = CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE;
-module_param_named(enabled, apparmor_enabled, bool, S_IRUGO);
+static int apparmor_enabled = CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE;
+module_param_named(enabled, apparmor_enabled, int, 0444);
 
 static int __init apparmor_enabled_setup(char *str)
 {
 DEFINE_LSM(apparmor) = {
        .name = "apparmor",
        .flags = LSM_FLAG_LEGACY_MAJOR,
+       .enabled = &apparmor_enabled,
        .init = apparmor_init,
 };