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

Re: [Xen-devel] [PATCH] Add parentheses to trace_do_casts macro



ACK.

Nice catch - guess when I wrote that it hadn't occurred to me that people 
might be using expressions in trace macros, but it certainly should be a 
valid thing to do.

Cheers,
Mark

On Saturday 17 March 2007 20:54, Michael Vrable wrote:
> # HG changeset patch
> # User Michael Vrable <mvrable@xxxxxxxxxxx>
> # Date 1174163889 25200
> # Node ID e3b3abd0ee933833e4a20a048de35954675a4ad1
> # Parent  98eacf1b075cc8bb2ed9136a0ca381840b8d7ae2
> Add parentheses to trace_do_casts macro.
>
> The arguments to this macro didn't have parentheses around them where
> they were used.  If a call to a TRACE macro included an expression as an
> argument, the cast to (unsigned long) could bind to just part of the
> expression and lead to unexpected results.
>
> Signed-off-by: Michael Vrable <mvrable@xxxxxxxxxxx>
>
> diff -r 98eacf1b075c -r e3b3abd0ee93 xen/include/xen/trace.h
> --- a/xen/include/xen/trace.h Sat Mar 17 12:24:32 2007 +0000
> +++ b/xen/include/xen/trace.h Sat Mar 17 13:38:09 2007 -0700
> @@ -41,11 +41,11 @@ void trace(u32 event, unsigned long d1,
>      do {                                 \
>          if ( unlikely(tb_init_done) )    \
>              trace(e,                     \
> -                 (unsigned long)d1,      \
> -                 (unsigned long)d2,      \
> -                 (unsigned long)d3,      \
> -                 (unsigned long)d4,      \
> -                 (unsigned long)d5);     \
> +                  (unsigned long)(d1),   \
> +                  (unsigned long)(d2),   \
> +                  (unsigned long)(d3),   \
> +                  (unsigned long)(d4),   \
> +                  (unsigned long)(d5));  \
>      } while ( 0 )
>
>  /* Convenience macros for calling the trace function. */
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

-- 
Dave: Just a question. What use is a unicyle with no seat?  And no pedals!
Mark: To answer a question with a question: What use is a skateboard?
Dave: Skateboards have wheels.
Mark: My wheel has a wheel!

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.