Latest Posts
-
Forking with Copy-on-Write
A fork creates a new process with an exact copy of the memory of the calling parent process. This can be an expensive operation both in terms of time and...
-
Implementing a simple Linux kernel I2C driver
Simple kernel modules are a good way to get acquainted with writing programs in the kernel space. But as embedded programmers we eventually would like to interact with peripheral sensors...
-
Building a LIFO lock in C++
Locks are necessary constructs in multithreaded programs to gain exclusive access to shared resources. If you have written multithreaded code using POSIX API, then you may have also used the...
-
Using BPF to filter ping requests
Berkley Packet Filter (BPF) is a kernel feature in Linux used for event tracing and manipulating network packets. eBPF is the extended version of Berkley Packet Filter (BPF). It is...
-
Buffer overflow attack on ARM64
Buffer overflow attack is one of the most basic techniques used to exploit binaries which do not perform bound checks on the user’s input. It involves crafting the input to...