<div dir="auto"></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 17, 2019, 09:42 Maria Neptune <<a href="mailto:maria.elysse.n@gmail.com">maria.elysse.n@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div>I hate to say it but honestly in a kernel module, your solution is not to do null dereferences. It's hard but you gotta.</div><div dir="auto">Otherwise I've seen quite a bit of error handling done with gotos (if ptr==0 goto error), which I believe compiles to similar code as try/except blocks. Unsure how you'd handle stuff that sends a signal like null dereferences in that way though. <br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Thu, Oct 17, 2019, 09:37 Martin Galvan <<a href="mailto:omgalvan.86@gmail.com" target="_blank" rel="noreferrer">omgalvan.86@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
I'm writing a kernel module, and am trying to implement some<br>
exception-handling mechanism so that the system won't oops/panic if my<br>
module does e.g. a NULL dereference. The (horribly hackish) way I'm<br>
doing this right now is registering a die_notifier which will set the<br>
'panic_on_oops' variable to 0 if we detect that the current PID<br>
corresponds to my module. However, this is ugly for many reasons.<br>
<br>
What would be the "standard" way of doing this? Is there something<br>
like Window's try/except blocks, where I can get back control of the<br>
execution flow, without having the process die? I'm aware of<br>
_ASM_EXTABLE, but I understand this only works for a single<br>
instruction and has other limitations.<br>
<br>
_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org" rel="noreferrer noreferrer" target="_blank">Kernelnewbies@kernelnewbies.org</a><br>
<a href="https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" rel="noreferrer noreferrer noreferrer" target="_blank">https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
</blockquote></div></div></div>
</blockquote></div>