* jingpiao chen (chenjingp...@gmail.com) wrote: > Version:4.14-ab28d7f1e5ab9b51f5708741bd13f92e768123d4 > > 2.userfaultfd.c:126 > > 126 case UFFDIO_UNREGISTER: > 127 case UFFDIO_WAKE: { > 128 struct uffdio_range ura; > 129 tprints(", "); > 130 if (!umove_or_printaddr(tcp, arg, &ura)) > 131 tprintf_uffdio_range(&ura); > 132 return RVAL_DECODED | 1; > 133 } > > /usr/include/linux/userfaultfd.h: > 51 #define UFFDIO_UNREGISTER _IOR(UFFDIO, _UFFDIO_UNREGISTER, \ > 52 struct uffdio_range) > 53 #define UFFDIO_WAKE _IOR(UFFDIO, _UFFDIO_WAKE, \ > 54 struct uffdio_range) > > UFFDIO_UNREGISTER and UFFDIO_WAKE are read data, why it get data > when entering. > I means it should replace by:
>From memory, the problem is that the kernel macros are wrong (and can't be fixed since they'd break ABI). In both those calls it's userland who passes data to the kernel (giving the address range to be unregisters/woken). > 127 case UFFDIO_UNREGISTER: > 128 case UFFDIO_WAKE: { > 129 if (entering(tcp)) > 130 return 0; > 131 > 132 struct uffdio_range ura; > 133 tprints(", "); > 134 if (!umove_or_printaddr(tcp, arg, &ura)) > 135 tprintf_uffdio_range(&ura); > 136 return RVAL_DECODED | 1; > 137 } Dave -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK ------------------------------------------------------------------------------ Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today.http://sdm.link/xeonphi _______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel