KSSL internals » KSSL stubs
en

KSSL stubs

Stubs

There are 2 modstubs.s files (see kernel source files section) which contain list of specially defined functions:

    1223 /*
    1224  * Stubs for kssl, the kernel SSL proxy
    1225  */
    1226 #ifndef KSSL_MODULE
    1227         MODULE(kssl,drv);
    1228         NO_UNLOAD_STUB(kssl, kssl_check_proxy, nomod_zero);
    1229         NO_UNLOAD_STUB(kssl, kssl_handle_record, nomod_zero);
    ...
    1237         NO_UNLOAD_STUB(kssl, kssl_release_ctx, nomod_void);
    1238         END_MODULE(kssl);
    1239 #endif

These functions are basically entry points to KSSL kernel module from other parts of the kernel and other kernel modules. Basically, these functions form a API offered to kernel consumers. If each of these functions is called a special piece of code will get executed (defined by STUB_UNLOADABLE macro) which will ensure that kssl kernel module will be loaded into kernel memory prior to execution of the actual function body.

NOTE: In this context kssl kernel module is defined as being not unloadable, which means it cannot be removed from kernel memory once loaded. (it has no _fini routine in module definitions in $SRC/uts/common/inet/kssl/kssl.c

Tags:
Created by admin on 2009/10/26 12:15
Last modified by admin on 2009/10/26 12:15

Collectives


XWiki Enterprise 2.7.1.34853 - Documentation