Re: [PATCH] add NULL short circuit to fb_dealloc_cmap()

From: Geert Uytterhoeven
Date: Sun Jul 17 2005 - 16:16:47 EST


On Sun, 17 Jul 2005, Jon Smirl wrote:
> On 7/17/05, Jesper Juhl <jesper.juhl@xxxxxxxxx> 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@xxxxxxxxxxxxxx

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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/