Re: [PATCH 1/2] move offsetofend() from vfio.h to stddef.h

From: Ingo Molnar
Date: Mon Mar 09 2015 - 10:58:54 EST



* Denys Vlasenko <dvlasenk@xxxxxxxxxx> wrote:

> Suggested by Linus.
>
> Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
> CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> CC: Steven Rostedt <rostedt@xxxxxxxxxxx>
> CC: Ingo Molnar <mingo@xxxxxxxxxx>
> CC: Borislav Petkov <bp@xxxxxxxxx>
> CC: "H. Peter Anvin" <hpa@xxxxxxxxx>
> CC: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
> CC: Oleg Nesterov <oleg@xxxxxxxxxx>
> CC: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> CC: Alexei Starovoitov <ast@xxxxxxxxxxxx>
> CC: Will Drewry <wad@xxxxxxxxxxxx>
> CC: Kees Cook <keescook@xxxxxxxxxxxx>
> CC: x86@xxxxxxxxxx
> CC: linux-kernel@xxxxxxxxxxxxxxx
> ---
> include/linux/stddef.h | 9 +++++++++
> include/linux/vfio.h | 13 -------------
> 2 files changed, 9 insertions(+), 13 deletions(-)
>
> diff --git a/include/linux/stddef.h b/include/linux/stddef.h
> index f4aec0e..076af43 100644
> --- a/include/linux/stddef.h
> +++ b/include/linux/stddef.h
> @@ -19,3 +19,12 @@ enum {
> #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
> #endif
> #endif
> +
> +/**
> + * offsetofend(TYPE, MEMBER)
> + *
> + * @TYPE: The type of the structure
> + * @MEMBER: The member within the structure to get the end offset of
> + */
> +#define offsetofend(TYPE, MEMBER) \
> + (offsetof(TYPE, MEMBER) + sizeof(((TYPE *)0)->MEMBER))
> diff --git a/include/linux/vfio.h b/include/linux/vfio.h
> index 2d67b89..049b2f4 100644
> --- a/include/linux/vfio.h
> +++ b/include/linux/vfio.h
> @@ -78,19 +78,6 @@ extern int vfio_register_iommu_driver(const struct vfio_iommu_driver_ops *ops);
> extern void vfio_unregister_iommu_driver(
> const struct vfio_iommu_driver_ops *ops);
>
> -/**
> - * offsetofend(TYPE, MEMBER)
> - *
> - * @TYPE: The type of the structure
> - * @MEMBER: The member within the structure to get the end offset of
> - *
> - * Simple helper macro for dealing with variable sized structures passed
> - * from user space. This allows us to easily determine if the provided
> - * structure is sized to include various fields.
> - */
> -#define offsetofend(TYPE, MEMBER) \
> - (offsetof(TYPE, MEMBER) + sizeof(((TYPE *)0)->MEMBER))

So I like it, and because it is not particularly trivial when to use
this primitive it was explained nicely in a description in the vfio.h
version.

But you lost that nice description during the code move!!

Please don't.

Thanks,

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