On Wed, Feb 16, 2022 at 08:49:35PM +0800, JeffleXu wrote: > >> +struct cachefiles_req_in { > >> + uint64_t id; > >> + uint64_t off; > >> + uint64_t len; > > > > For structures that cross the user/kernel boundry, you have to use the > > correct types. For this it would be __u64. > > OK I will change to __xx style in the next version. > > By the way, I can't understand the disadvantage of uintxx_t style. The "uint*" types are not valid kernel types. They are userspace types and do not transfer properly in all arches and situations when crossing the user/kernel boundry. They are also in a different C "namespace", so should not even be used in kernel code, although a lot of people do because they are used to writing userspace C code :( thanks, greg k-h