Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Jul 2016 15:11:25 +0200
From:      Adam Starak <starak.adam@gmail.com>
To:        freebsd-hackers@freebsd.org
Subject:   Modify user space from kernel.
Message-ID:  <CAAz%2B7vqLgd5GSBfFMdD-xsAsEoujgPh8ZdKY4xZ1LO0h30OmSQ@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hello!

My name is Adam. I participate in Google Summer of Code this year. I came
up with a big problem, which doesn't allow me to go further in my project.

I made a new syscall, which is going to retrieve sysctl data and put it
inside the nvlist. And here my problem is. I need to move somehow this data
(packed nvlist) into the user space. Is there any chance to pass data from
kernel to user space without knowing the size of it?

Right now, the implementation of __sysctl() function requests void pointer
and size in order to get data. If allocated memory is too low, it returns
ENOMEM and you need to realloc the data. I wanted to avoid this situation.

Best regards,
Adam Starak



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAAz%2B7vqLgd5GSBfFMdD-xsAsEoujgPh8ZdKY4xZ1LO0h30OmSQ>