lkml.org 
[lkml]   [2011]   [May]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH] omap2/omapfb: make DBG() more resistant in if-else constructions
    From
    On Tue, May 10, 2011 at 10:42 AM, Geert Uytterhoeven
    <geert@linux-m68k.org> wrote:
    > On Tue, May 10, 2011 at 11:20, Niels de Vos <ndevos@redhat.com> wrote:
    >> When DBG() is used in a simple if-else, the resulting code path
    >> currently depends on the definition of DBG(). Inserting the statement in
    >> a "do { ... } while (0)" prevents this possible misuse.
    >>
    >> Signed-off-by: Niels de Vos <ndevos@redhat.com>
    >
    >> --- a/drivers/video/omap2/omapfb/omapfb.h
    >> +++ b/drivers/video/omap2/omapfb/omapfb.h
    >> @@ -34,8 +34,10 @@
    >>  #ifdef DEBUG
    >>  extern unsigned int omapfb_debug;
    >>  #define DBG(format, ...) \
    >> -       if (omapfb_debug) \
    >> -               printk(KERN_DEBUG "OMAPFB: " format, ## __VA_ARGS__)
    >> +       do { \
    >> +               if (omapfb_debug) \
    >> +                       printk(KERN_DEBUG "OMAPFB: " format, ## __VA_ARGS__); \
    >> +       while (0)
    >
    > Where's the closing '}'?

    Good catch! That's in a "fixup!" that I forgot to squash :-/
    I'll post an update version in a bit.


    >>  #else
    >>  #define DBG(format, ...)
    >
    > BTW, no printf()-style format checking here.
    >
    >>  #endif
    >
    > What about using the standard pr_debug()/dev_dbg() instead?
    > With dynamic debug, it can be enabled at run time.
    > As a bonus, you get printf()-style format checking if debugging is disabled.

    I think removing DBG() and the omapfb_debug module-parameter is surely
    a good thing. Unfortunately DBG() is used quite a bit in the code and
    replacing them 'll take some more time. I don't know yet when I find
    some time to do and test that.

    Thanks for the pointers,
    Niels


    > 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/
    >
    >
    >
    --
    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/

    \
     
     \ /
      Last update: 2011-05-10 12:59    [W:0.029 / U:89.852 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site