On Sunday, July 21, 2019, 10:44:14 AM EDT, Konstantin Belousov <kostikbel_at_gmail.com> wrote: On Sun, Jul 21, 2019 at 03:48:03AM +0000, Laurie Jennings wrote: > I have some custom stuff I'm porting from Freebsd 9.x using mmap. I get a pointer from the kernel via an ioctl and I map it into a shared buffer. > char *kptr; // mem ptr from kernel > fd=open("/dev/kmem",O_RDWR);memp=mmap(0,size,PROT_READ|PROT_WRITE,MAP_SHARED,fd,(off_t) ptr); > > This worked perfectly in 9; memp I had a shared block of memory between the kernel and user space. > In 11.3 this returns an errno 22, which is pretty murky. I did notice that off_t doesnt yield an actual offset; I've tried putting in the correct value manuallybut it just fails and fails.I've tried read only also. > Please Help! | Start with providing (and looking yourself) at the output of kdump/ktrace | around the failing mmap. The checks for correctness of the mmap(2) arguments | were greatly improved during years after FreeBSD 9. Since posting this I found a thread that said something about mmap no longer supporting /dev/kmem. If that's that case I need to find another method. No sense spending a day debugging something thatisn't supposed to work. SHOULD this still work? This always worked fine with non-wired memory but maybe things have changed since 9.Received on Sun Jul 21 2019 - 13:19:12 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:21 UTC