Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1612493
| From | Masahiro Yamada <yamada.masahiro@socionext.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] kernel.h: add IS_PTR_ALIGNED() macro |
| Date | 2017-03-30 04:00 +0200 |
| Message-ID | <tqxxv-7fz-3@gated-at.bofh.it> (permalink) |
| References | <tqj1w-5wl-21@gated-at.bofh.it> <tqttU-4o9-19@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Hi. 2017-03-30 6:24 GMT+09:00 H. Peter Anvin <hpa@zytor.com>: > On 03/29/17 03:22, Masahiro Yamada wrote: >> We often check if a pointer has a specific alignment. Because the >> '&' (bitwise AND) operator cannot take a pointer for the operand, >> so we need a cast like, IS_ALIGNED((unsigned long)p, a). >> >> IS_PTR_ALIGNED will be useful as a shorthand. >> >> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> >> --- >> >> include/linux/kernel.h | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/include/linux/kernel.h b/include/linux/kernel.h >> index e5edd55..a810e4b 100644 >> --- a/include/linux/kernel.h >> +++ b/include/linux/kernel.h >> @@ -50,6 +50,7 @@ >> #define __ALIGN_MASK(x, mask) __ALIGN_KERNEL_MASK((x), (mask)) >> #define PTR_ALIGN(p, a) ((typeof(p))ALIGN((unsigned long)(p), (a))) >> #define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0) >> +#define IS_PTR_ALIGNED(p, a) (IS_ALIGNED((unsigned long)p, a)) >> > > No need for two macros; make one work for both. > > You could move the __inttype() macro from arch/x86/include/asm/uaccess.h > into this file and replace typeof(x) with __inttype(x) in the above macro. > > Attached is a set of slightly improved (safer and a bit more > generalized) versions of the same macro that might be more appropriate > to include in <linux/kernel.h>. > > -hpa Could you care to send a patch? Perhaps, ALIGN and PTR_ALIGN can be merged as well? -- Best Regards Masahiro Yamada
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH] kernel.h: add IS_PTR_ALIGNED() macro Masahiro Yamada <yamada.masahiro@socionext.com> - 2017-03-29 12:30 +0200
Re: [PATCH] kernel.h: add IS_PTR_ALIGNED() macro Andrew Morton <akpm@linux-foundation.org> - 2017-03-29 23:40 +0200
Re: [PATCH] kernel.h: add IS_PTR_ALIGNED() macro "H. Peter Anvin" <hpa@zytor.com> - 2017-03-29 23:40 +0200
Re: [PATCH] kernel.h: add IS_PTR_ALIGNED() macro Masahiro Yamada <yamada.masahiro@socionext.com> - 2017-03-30 04:00 +0200
Re: [PATCH] kernel.h: add IS_PTR_ALIGNED() macro "H. Peter Anvin" <hpa@zytor.com> - 2017-03-30 05:50 +0200
Re: [PATCH] kernel.h: add IS_PTR_ALIGNED() macro Masahiro Yamada <yamada.masahiro@socionext.com> - 2017-03-30 17:30 +0200
csiph-web