For the pseudo file system in BSD operating systems, see kernfs (BSD).
In the Linux kernel, kernfs is a set of functions that contains the functionality required for creating virtual file systems used internally by various kernel subsystems. Creation of the kernfs is the result of splitting off part of the internal logic used by sysfs, which provides a set of virtual files by exporting information about hardware devices and associated device drivers from the kernel's device model to user space, into an independent and reusable functionality so other kernel subsystems can implement their own virtual file systems more easily and consistently.
The associated patchset, with Tejun Heo as its main author, was merged into the Linux kernel mainline in kernel version 3.14, which was released on March 30, 2014. One of the primary users of kernfs is the virtual file system used internally by cgroups, whose redesign continued into version 3.15 of the Linux kernel.