On 17.09.21 08:50, Jan Beulich wrote:
On 17.09.2021 08:47, Juergen Gross wrote:On 17.09.21 08:40, Jan Beulich wrote:On 17.09.2021 03:34, Boris Ostrovsky wrote:On 9/16/21 11:04 AM, Jan Beulich wrote:{ const struct desc_ptr *desc = this_cpu_ptr(&idt_desc); + unsigned i, count = (desc->size + 1) / sizeof(gate_desc);- xen_convert_trap_info(desc, traps);Can you instead add a boolean parameter to xen_convert_trap_info() to indicate whether to skip empty entries? That will avoid (almost) duplicating the code.I can, sure, but I specifically didn't, as the result is going to be less readable imo. Instead I was considering to fold xen_convert_trap_info() into its only remaining caller. Yet if you're convinced adding the parameter is the way to do, I will go that route. But please confirm.I don't think the result will be very hard to read. All you need is the new parameter and extending the if statement in xen_convert_trap_info() to increment out always if no entry is to be skipped.And skip writing the sentinel.
Maybe it would be even better then to let xen_convert_trap_info() return the number of entries written and to write the sentinel in xen_load_idt() instead, as this is the only place where it is needed. Juergen
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature
