Messages in this thread | | | Date | Sun, 17 Jul 2005 23:14:38 +0200 (CEST) | From | Geert Uytterhoeven <> | Subject | Re: [PATCH] add NULL short circuit to fb_dealloc_cmap() |
| |
On Sun, 17 Jul 2005, Jon Smirl wrote: > On 7/17/05, Jesper Juhl <jesper.juhl@gmail.com> wrote: > > Resource freeing functions should generally be safe to call with NULL pointers. > > Why? > > - there is some precedence in the kernel for this for deallocation functions. > > - removes the need for callers to check pointers for NULL. > > - space is saved overall by less code to test pointers for NULL all over the place. > > - removes possible NULL pointer dereferences when a caller forgot to check. > > > > This patch makes fb_dealloc_cmap() safe to call with a NULL pointer argument. > > The fb cmap copde would be a lot simpler if it did everything with a > single allocation instead of five. Make a super cmap struct: > > struct fb_super_cmap { > struct fb_cmap cmap; > __u16 red[255]; > __u16 blue[255]; > __u16 green[255]; > __u16 transp[255]; ^^^ I assume you meant 256?
> } > > Then adjust the code as need. Have the embedded cmap struct point to > the fields in the super_cmap and the drivers don't have to be changed.
What if your colormap has more than 256 entries?
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |