Messages in this thread Patch in this message | | | Subject | [PATCH] kernel.h: Verify that arguments to swap() are the same type | From | Joe Perches <> | Date | Wed, 15 Jul 2009 18:34:21 -0700 |
| |
Signed-off-by: Joe Perches <joe@perches.com>
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index d6320a3..72878a5 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -637,8 +637,13 @@ static inline void ftrace_dump(void) { } /* * swap - swap value of @a and @b */ -#define swap(a, b) \ - do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0) +#define swap(a, b) \ +do { \ + typeof(a) __tmp = (a); \ + BUILD_BUG_ON(!__same_type(__tmp, (b))); \ + (a) = (b); \ + (b) = __tmp; \ +} while (0) /** * container_of - cast a member of a structure out to the containing structure
| |