[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Ping: [PATCH v3 2/2] x86/mm: tidy XENMEM_{get,set}_pod_target handling
On 04.01.2022 10:41, Jan Beulich wrote: > Do away with the "pod_target_out_unlock" label. In particular by folding > if()-s, the logic can be expressed with less code (and no goto-s) this > way. > > Limit scope of "p2m", constifying it at the same time. > > Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Ping? Jan > --- a/xen/arch/x86/mm.c > +++ b/xen/arch/x86/mm.c > @@ -4789,23 +4789,17 @@ long arch_memory_op(unsigned long cmd, X > if ( !is_hvm_domain(d) ) > rc = -EINVAL; > else if ( cmd == XENMEM_set_pod_target ) > - rc = xsm_set_pod_target(XSM_PRIV, d); > - else > - rc = xsm_get_pod_target(XSM_PRIV, d); > - > - if ( rc != 0 ) > - goto pod_target_out_unlock; > - > - if ( cmd == XENMEM_set_pod_target ) > { > - if ( target.target_pages > d->max_pages ) > - { > + rc = xsm_set_pod_target(XSM_PRIV, d); > + if ( rc ) > + ASSERT(rc < 0); > + else if ( target.target_pages > d->max_pages ) > rc = -EINVAL; > - goto pod_target_out_unlock; > - } > - > - rc = p2m_pod_set_mem_target(d, target.target_pages); > + else > + rc = p2m_pod_set_mem_target(d, target.target_pages); > } > + else > + rc = xsm_get_pod_target(XSM_PRIV, d); > > if ( rc == -ERESTART ) > { > @@ -4817,13 +4811,9 @@ long arch_memory_op(unsigned long cmd, X > p2m_pod_get_mem_target(d, &target); > > if ( __copy_to_guest(arg, &target, 1) ) > - { > - rc= -EFAULT; > - goto pod_target_out_unlock; > - } > + rc = -EFAULT; > } > > - pod_target_out_unlock: > rcu_unlock_domain(d); > return rc; > } > >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |