luo_ser
if (len < sizeof(*luo_ser)) {
pr_err("LUO state is too small (%zu < %zu)\n", len, sizeof(*luo_ser));
luo_ser = phys_to_virt(luo_ser_phys);
if (strncmp(luo_ser->compatible, LUO_ABI_COMPATIBLE, LUO_ABI_COMPAT_LEN)) {
luo_global.liveupdate_num = luo_ser->liveupdate_num;
err = luo_session_setup_incoming(luo_ser->sessions_pa);
luo_flb_setup_incoming(luo_ser->flbs_pa);
kho_restore_free(luo_ser);
struct luo_ser *luo_ser;
luo_ser = kho_alloc_preserve(sizeof(*luo_ser));
if (IS_ERR(luo_ser)) {
return PTR_ERR(luo_ser);
strscpy(luo_ser->compatible, LUO_ABI_COMPATIBLE, sizeof(luo_ser->compatible));
luo_ser->liveupdate_num = luo_global.liveupdate_num + 1;
luo_session_setup_outgoing(&luo_ser->sessions_pa);
err = luo_flb_setup_outgoing(&luo_ser->flbs_pa);
err = kho_add_subtree(LUO_KHO_ENTRY_NAME, luo_ser, sizeof(*luo_ser));
luo_global.luo_ser_out = luo_ser;
kho_unpreserve_free(luo_ser);
struct luo_ser *luo_ser_out;
struct luo_ser *luo_ser;