On Fri, Apr 02, 2021, Borislav Petkov wrote: > On Fri, Apr 02, 2021 at 03:42:51PM +0000, Sean Christopherson wrote: > > Nope! That's wrong, as sgx_epc_init() will not be called if sgx_drv_init() > > succeeds. And writing it as "if (sgx_drv_init() || sgx_vepc_init())" is also > > wrong since that would kill SGX when one of the drivers is alive and well. > > Bah, right you are. > > How about: > > /* Error out only if both fail to initialize. */ > ret = sgx_drv_init(); > > if (sgx_vepc_init() && ret) > goto err_kthread; Heh, that's what I had originally and used for literally years. IIRC, I suggested the "!! & !!" abomination after internal review complained about the oddness of the above. FWIW, I think the above is far less likely to be misread, even though I love the cleverness of the bitwise AND. > > And yah, this looks strange so it needs the comment to explain what's > going on here. > > Thx. > > -- > Regards/Gruss, > Boris. > > https://people.kernel.org/tglx/notes-about-netiquette