I have added some x86/intel folks to cc.

I am fine with these patches, and I think it is useful to be able to
detect and recover from buggy UEFI implementations that use boot time
regions at runtime.

However, I need help from the x86 maintainers/developers to review
this so please cc them on these patches.

I'm okay with the general concept, but I'm not really thrilled by the 
longjmp-like approach.

Wasn't there a bunch of talk of having an actual kernel thread (kefid?) that 
makes runtime services calls?  Did that actually get implemented?  IMO a much 
nicer approach would be to handle the page fault by killing the thread, more or 
less like how we kill unruly user threads.  (And it's yet another step toward 
calling EFI runtime services at CPL 3!)

Hi Andy,

Thanks for the feedback ☺.

We have efi_kthread implemented and I did briefly think about killing the 
efi_kthread approach, but I thought it might not be possible (I might be wrong) 
because, we are in page fault handler and if we kill efi_kthread, the page 
fault handler still returns to firmware (because a firmware instruction caused 
page fault) and firmware will try to perform illegal access again thinking that 
the page fault handler might have fixed the fault. So, I took this approach of 
jumping out of firmware.

Please let me know If you think I missed something.

Regards,
Sai

Reply via email to