On Mon, 1 Jun 2015, Baolin Wang wrote:
These are new helper functions that convert between a user timespec/ itimerspec and a kernel timespec64/itimerspec64 structure.
These are not functions, these are macros.
These macros can change the types underneath from both ends and it will work efficiently on both 32-bit and 64-bit that can avoid the CONFIG_64BIT macro in syscall functions, and also it can make the syscall functions more simple.
Lots of useless blurb which fails to explain WHY this works and WHY this magically converts the types.
And you fail to mention WHY dropping type safety is a good choice and WHY dropping the might_fault() check is a proper thing to do.
I also doubt the efficiency part as you replace a linear copy_to_user() with four seperate ones for an itimerspec.
This can be done proper with typesafe inline helpers, if you want to spare the ifdef in the syscall implementation.
Thanks,
tglx