Skip site navigation (1)Skip section navigation (2)
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>

index | next in thread | previous in thread | raw e-mail

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.


help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190721144404.GJ47193>