SYSCALL_MODULE() macro and modfind() issues

John Baldwin jhb at freebsd.org
Tue Oct 26 13:46:04 UTC 2010


On Tuesday, October 26, 2010 3:28:10 am Andriy Gapon wrote:
> on 26/10/2010 01:01 Selphie Keller said the following:
> > hi fbsd-hackers,
> > 
> > Noticed a issue in 8.1-release, 8.1p1-release and 8.1-stable
> > amd64/i386, to where modfind() will no longer find pmap_helper for the
> > /usr/ports/sysutils/pmap port, or other syscall modules using
> > SYSCALL_MODULE() macro.
> > The issue is that modfind() function no longer finds any modules using
> > SYSCALL_MODULE() macro to register the kernel module. Making it
> > difficult for userland apps to call the syscall provided. modfind()
> > always returns -1 which prevents modstat() from getting the required
> > information to perform the syscall.
> > 
> > Also tested, the demo syscall module:
> 
> After commit r205320 and, apparently, its MFC you need to prefix the module with
> "sys/".  For example:
> modstat(modfind("sys/syscall"), &stat);
> 
> P.S.
> Perhaps a KPI breakage in a stable branch?

Ugh, it was a breakage though it's too late to back it out at this point.

-- 
John Baldwin


More information about the freebsd-hackers mailing list