Date: Sun, 21 Jul 2019 17:44:04 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Laurie Jennings <laurie_jennings_1977@yahoo.com> Cc: "freebsd-current@freebsd.org" <freebsd-current@freebsd.org> Subject: Re: mmap port from 9 not working Message-ID: <20190721144404.GJ47193@kib.kiev.ua> In-Reply-To: <446145008.4396329.1563680883838@mail.yahoo.com> References: <446145008.4396329.1563680883838.ref@mail.yahoo.com> <446145008.4396329.1563680883838@mail.yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190721144404.GJ47193>