From: Alexei Starovoitov <[email protected]> Date: Tue, 16 Sep 2014 13:44:12 -0700
> the union indeed changes alignment from patch #1 to #3, > but, imo, it is not a problem, since kernel does: It changes the alignment of the datastructures in userspace. > I haven't thought of 'aligned_u64' for this case. > For counters and masks it would be perfect, but here user is > passing real pointers to key and value, so they have to > be 'void __user *', otherwise user would need to type cast > them, which I want to avoid. The cost of the compat layer must be considered and weighted against this cast, which I think is really no big deal. > I think compat layer is a better option. It's overhead you'll have to support forever, I think you should reconsider. All of the "ugly casting" will be hidden, or can be hidden, in the syscall wrappers and/or interfaces in userspace. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

