Re: Try/catch for modules?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Edsger Dijkstra will haunt is forever, it seems.  Gotos are just a tool, and this is one of the few places they're the best tool for the job. And generally in-kernel the acceptable method is to not forget a null check, as Valdis mentioned. It's cool to forget a null check on your own machine (who among us hasn't?) but if you're contributing/shipping code you gotta know that those pointers are good. 

On Fri, Oct 18, 2019, 11:44 Martin Galvan <omgalvan.86@xxxxxxxxx> wrote:
El jue., 17 oct. 2019 a las 19:13, Valdis Klētnieks
(<valdis.kletnieks@xxxxxx>) escribió:
>
> For starters, the *correct* in-kernel way to deal with this is:
>         if (!ptr) {
>                 printk("You blew it!\n");
>                 goto you_blew_it;
>         }

goto statements are harmful. In any case, what I meant was to have
some sort of safety net to prevent exceptions (i.e. if I screw up and
forget a NULL check) from panicking the system.

> Also, "current PID" and "my module" aren't two things that can correspond....

I don't understand what you mean by that. Module code (e.g. an ioctl)
runs as some process. In the case of an ioctl, I'd assume it's the
same PID of the user process.

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]

  Powered by Linux