Re: dtrace and kernel modules

From: Julian Elischer <julian_at_freebsd.org>
Date: Wed, 13 Jul 2016 08:24:37 +0800
On 13/07/2016 1:14 AM, Mark Johnston wrote:
> On Thu, Jul 07, 2016 at 12:51:52PM +0800, Julian Elischer wrote:
>> I'm specifically interested in the case of kernel modules that
>> instantiate new syscalls.
>>
>> How much support do we have for that?  In the one example in our
>> sources of a kld with a syscall (kgssapi.ko) dtrace seems to find
>> regular function entrypoints but not the syscall.
>>
>>
>> root_at_porridge:/usr/src # dtrace -n ":kgssapi::entry {}"
>> dtrace: description ':kgssapi::entry ' matched 138 probes
>> ^C
>>
>> root_at_porridge:/usr/src # dtrace -n "syscall:kgssapi::entry {}"
>> dtrace: invalid probe specifier syscall:kgssapi::entry {}: probe
>> description syscall:kgssapi::entry does not match any probes
>> root_at_porridge:/usr/src #
>>
>>
>> Do we have plans to support dynamic syscall support?
> I don't know of any plans to add support. It would be fairly
> straightforward to dynamically create syscall probes using a hook or
> eventhandler in syscall_register(), but getting argument type info would
> be more difficult. Right now, argument types are specified by code
> generated by makesyscalls.sh using the types in syscalls.master. I'm not
> sure how one might obtain these types for dynamically-registered
> syscalls.
>
yes that is the tricky part for sure.

for now function calls is probably enough because every syscall ends 
up calling a function somewhere :-)
Received on Tue Jul 12 2016 - 22:24:55 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:06 UTC