On Thu, 2021-02-04 at 14:41 -0800, Dave Hansen wrote: > On 2/4/21 6:51 AM, Jarkko Sakkinen wrote: > > > > A: ret == -ENODEV > > > > B: ret == 0 > > > > C: ret != 0 && ret != -ENODEV > > > Let me try again: > > > > > > Why A and C should be treated differently? What will behave incorrectly, in case of > > > C? > > So you don't know what different error codes mean? > > How about we just leave the check in place as Sean wrote it, and add a > nice comment to explain what it is doing: > > /* > * Always try to initialize the native *and* KVM drivers. > * The KVM driver is less picky than the native one and > * can function if the native one is not supported on the > * current system or fails to initialize. > * > * Error out only if both fail to initialize. > */ > ret = !!sgx_drv_init() & !!sgx_vepc_init(); > if (ret) > goto err_kthread; > Perfect to me. Thanks.