On Tue, Oct 2, 2018 at 11:33 AM, Stephen Smalley <sds@xxxxxxxxxxxxx> wrote: > On 10/02/2018 12:54 PM, Kees Cook wrote: >> >> On Tue, Oct 2, 2018 at 9:33 AM, Jordan Glover >> <Golden_Miller83@xxxxxxxxxxxxx> wrote: >>> >>> It's always documented as: "selinux=1 security=selinux" so security= >>> should >>> still do the job and selinux=1 become no-op, no? >> >> >> The v3 patch set worked this way, yes. (The per-LSM enable defaults >> were set by the LSM. Only in the case of "lsm.disable=selinux" would >> the above stop working.) >> >> John did not like the separation of having two CONFIG and two >> bootparams mixing the controls. The v3 resolution rules were: >> >> SECURITY_SELINUX_BOOTPARAM_VALUE overrides CONFIG_LSM_ENABLE. >> SECURITY_APPARMOR_BOOTPARAM_VALUE overrides CONFIG_LSM_ENABLE. >> selinux= overrides SECURITY_SELINUX_BOOTPARAM_VALUE. >> apparmor.enabled= overrides SECURITY_APPARMOR_BOOTPARAM_VALUE. >> apparmor= overrides apparmor.enabled=. >> lsm.enable= overrides selinux=. >> lsm.enable= overrides apparmor=. >> lsm.disable= overrides lsm.enable=. >> major LSM _omission_ from security= (if present) overrides lsm.enable. >> >> v4 removed the per-LSM boot params and CONFIGs at John's request, but >> Paul and Stephen don't want this for SELinux. >> >> The pieces for reducing conflict with CONFIG_LSM_ENABLE and >> lsm.{enable,disable}= were: >> >> 1- Remove SECURITY_APPARMOR_BOOTPARAM_VALUE. >> 2- Remove apparmor= and apparmor.enabled=. >> 3- Remove SECURITY_SELINUX_BOOTPARAM_VALUE. >> 4- Remove selinux=. >> >> v4 used all of 1-4 above. SELinux says "4" cannot happen as it's too >> commonly used. Would 3 be okay for SELinux? > > > Let's say a user/packager/distro has been building kernels for the past 14 > years (*) with a config that has SECURITY_SELINUX_BOOTPARAM_VALUE=0, and now > they build a new kernel that includes these patches using that same config. > Won't SELinux be enabled by default because SECURITY_SELINUX_BOOTPARAM_VALUE > is now ignored and LSM_ENABLE defaults to all? Is it ok to require them to > specify a new config option to preserve old behavior? Yes, I think that's fine -- kernel CONFIGs change all the time. System builders are used to examining these changes. -Kees -- Kees Cook Pixel Security