Well I'm sorry but I didn't know IDT was marked as read only by Linux. If
it is read only, how can you
register any new interrupt handler? I guess it's a way of securing stuff
against malicious attacks.
I was taking for granted that the IDT was written when registering a new
irq handler,
given that when an interrupt is raised, the new specified handler has to be
called
and its address should be retrieved in some way, that is by storing it in
the IDT.

I'm sorry, I'm a student and I'm trying to understand things,
Thank you,
Lorenzo

Il giorno gio 18 mar 2021 alle ore 18:04 Paolo Bonzini <pbonz...@redhat.com>
ha scritto:

> On 18/03/21 17:07, Laszlo Ersek wrote:
> > However, when I try to register a new interrupt handler (for instance for
> > the edu device, just to try it out), it works perfectly,
> > meaning that the IDT is not really read-only. Do you have any idea why?
> Any
> > suggestions on how to solve the problem?
> > Of course I've also checked KVM_CAP_READONLY_MEM, no problem with that.
>
> Sorry for asking a question that might be extremely stupid, but: did you
> check that the guest is writing to the IDT?  For example Linux never
> modifies the IDT when it runs, in fact it even makes it read only (check
> out idt_setup_apic_and_irq_gates in arch/x86/kernel/idt.c).
>
> Paolo
>
>

Reply via email to