mmap port from 9 not working
Konstantin Belousov
kostikbel at gmail.com
Sun Jul 21 14:44:11 UTC 2019
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.
More information about the freebsd-current
mailing list