Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises Learn more →
Top 23 C linux-kernel Projects
-
Project mention: I want to learn about kernel development | reddit.com/r/developersIndia | 2022-11-28
Last but not the least, learning by doing is fun so you can check out - raspberry-pi-os (writing an os from scratch) - https://github.com/s-matyukevich/raspberry-pi-os
-
Ctrl-F "rust"
https://rust-for-linux.com/ links to LWN articles at https://lwn.net/Kernel/Index/#Development_tools-Rust that suggest that only basic modules are yet possible with the rust support in Linux kernels 6.2 and 6.3.
Rust-for-linux links to the Android binder module though:
> Android Binder Driver: This project is an effort to rewrite Android's Binder kernel driver in Rust.
> Motivation: Binder is one of the most security and performance critical components of Android. Android isolates apps from each other and the system by assigning each app a unique user ID (UID). This is called "application sandboxing", and is a fundamental tenet of the Android Platform Security Model.
> The majority of inter-process communication (IPC) on Android goes through Binder. Thus, memory unsafety vulnerabilities are especially critical when they happen in the Binder driver
... "Rust in the Linux kernel" (2021) https://security.googleblog.com/2021/04/rust-in-linux-kernel... :
> [...] We also need designs that allow code in the two languages to interact with each other: we're particularly interested in safe, zero-cost abstractions that allow Rust code to use kernel functionality written in C, and how to implement functionality in idiomatic Rust that can be called seamlessly from the C portions of the kernel.
> Since Rust is a new language for the kernel, we also have the opportunity to enforce best practices in terms of documentation and uniformity. For example, we have specific machine-checked requirements around the usage of unsafe code: for every unsafe function, the developer must document the requirements that need to be satisfied by callers to ensure that its usage is safe; additionally, for every call to unsafe functions (or usage of unsafe constructs like dereferencing a raw pointer), the developer must document the justification for why it is safe to do so.
> We'll now show how such a driver would be implemented in Rust, contrasting it with a C implementation. [...]
This guide with unsafe rust that calls into the C, and then with next gen much safer rust right next to it would be a helpful resource too.
What of the post-docker container support (with userspaces also written in go) should be cloned to rust first?
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
Project mention: Ask HN: Why the Linux Kernel doesn't have unit tests? | news.ycombinator.com | 2022-11-25
There are tests, they're just out of tree, focused on integration rather than unit, and very decentralized. You'll get nastygrams on lkml if you break them.
Here's one prominent example: https://github.com/linux-test-project/ltp
-
Project mention: Is it possible and good to send data to other host with ebpf? | reddit.com/r/AskProgramming | 2023-04-22
-
Project mention: GitHub - jafarlihi/modreveal: Utility to find hidden Linux kernel modules | reddit.com/r/linux | 2023-01-05
Looks like it can be used to detect the linked rootkit https://github.com/m0nad/Diamorphine
-
-
Alternatively, try the xanmod kernel https://xanmod.org/
-
SonarQube
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
-
Project mention: Faster JSON-RPC on Linux kernel 5.19+ with io_uring and simdjson | reddit.com/r/linux | 2023-03-16
Type checking was included, and union support is trivial to add. We have just added a feature request and will release it in a few days.
-
Project mention: How do I listen for keypresses on Linux and Mac when the program does not have a terminal? | reddit.com/r/C_Programming | 2022-06-16
GitHub - spy - A Linux kernel module to grab keys pressed in the keyboard
-
Project mention: Usb monitor not showing up in display options despite being visible in usb settings? | reddit.com/r/SteamDeck | 2023-05-01
git clone https://github.com/DisplayLink/evdi.git
-
Project mention: Show HN: Credentials dumper for Linux using eBPF | news.ycombinator.com | 2022-07-05
-
learning-ebpf
Learning eBPF, published by O'Reilly - out now! Here's where you'll find a VM config for the examples, and more
-
dattobd
kernel module for taking block-level snapshots and incremental backups of Linux block devices
https://github.com/datto/dattobd is still a thing, apparently. Needs its own kernel module, so have fun with that.
-
kernel-fuzzer-for-xen-project
Kernel Fuzzer for Xen Project (KF/x) - Hypervisor-based fuzzing using Xen VM forking, VMI & AFL
-
-
zenpower
Zenpower is Linux kernel driver for reading temperature, voltage(SVI2), current(SVI2) and power(SVI2) for AMD Zen family CPUs.
Project mention: Mangohud - Power reading from my CPU on 0.0W | reddit.com/r/linux_gaming | 2023-05-12had same issue as well, had to install zenpower
-
Project mention: Searchable Linux Syscall Table for x86 and x86_64 | news.ycombinator.com | 2023-04-14
This is an old resource, but one that helped me out a lot when writing a fault injection tool for Linux[1].
-
-
Project mention: Ask HN: How to distribute a lot of images throughout multiple Universities | news.ycombinator.com | 2023-02-10
If you're replicating one primary file system to many secondary systems, MARS might be helpful[1]. It was developed by 1&1, who hosts my personal website, along with petabytes of other people's stuff.
-
Project mention: VDO – deduplicated and compressed block storage | news.ycombinator.com | 2022-08-14
-
-
-
> Without being enabled by default, this project will go nowhere.
The maintainers of Linux distributions will enable it, if they see doesn't cause trouble with regular network traffic.
After all, there are instructions for the "old" implementation: <https://multipath-tcp.org/pmwiki.php/Users/ConfigureMPTCP>, <https://multipath-tcp.org/pmwiki.php/Users/ConfigureRouting> and the "new" implementation: <https://github.com/multipath-tcp/mptcp_net-next/wiki/#how-to...>.
-
ONLYOFFICE
ONLYOFFICE Docs — document collaboration in your environment. Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises
C linux-kernel related posts
- Downloading AMD driver problem
- Mangohud - Power reading from my CPU on 0.0W
- My Steam Deck is no longer giving me cpu Temps in Performance Overlay
- The Linux Kernel Module Programming Guide
- Usb monitor not showing up in display options despite being visible in usb settings?
- Should I switch from Linux mint?
- Is it possible and good to send data to other host with ebpf?
-
A note from our sponsor - ONLYOFFICE
www.onlyoffice.com | 1 Jun 2023
Index
What are some of the best open-source linux-kernel projects in C? This list will help you:
Project | Stars | |
---|---|---|
1 | raspberry-pi-os | 12,229 |
2 | Rust-for-Linux | 3,460 |
3 | ltp | 2,046 |
4 | ebpf_exporter | 1,636 |
5 | Diamorphine | 1,290 |
6 | rdma-core | 1,033 |
7 | linux | 766 |
8 | ucall | 752 |
9 | spy | 613 |
10 | evdi | 605 |
11 | ebpfkit | 544 |
12 | learning-ebpf | 518 |
13 | dattobd | 517 |
14 | kernel-fuzzer-for-xen-project | 446 |
15 | XRT | 444 |
16 | zenpower | 408 |
17 | krf | 322 |
18 | nullfsvfs | 263 |
19 | mars | 226 |
20 | kvdo | 218 |
21 | kernel-ml | 188 |
22 | Huawei-WMI | 188 |
23 | mptcp_net-next | 188 |