On 11/22, KOSAKI Motohiro wrote: > > >> I have found no problem in this patch. However, I have a very basic > >> question. > >> Why do we need to keep fs->in_exec? > > > > To ensure that a sub-thread can't create a new process with the same > > ->fs while we are doing exec without LSM_UNSAFE_SHARE, I guess. This > > is only for security/ code. > > But in LSM_UNSAFE_SHARE case, we have no check, right? I'm amazing why > we don't need anything.
Yes. We rely on security/ code in this case, it can nack this exec if it looks unsafe. IOW. If LSM_UNSAFE_SHARE is not set, we promise that this fs has a single user: the execing thread (it will kill other subthreads which can have the same fs). That is why we need to cancel any attempt to create another CLONE_FS process in between. But let me repeat this is only my speculations, I know nothing about selinux and selinux_bprm_set_creds() in particular. Although it looks obvious that potentially exec with the shared ->fs has the additional security problems. Kosaki, thank you for review! Oleg. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/