I classify the waiting or timing API in the Linux kernel in two categories:
1. Which blocks the current thread of execution.
2. Something which has to be scheduled for later but we want the current thread to continue.
In most cases, the distinction between 1 and 2 is clear, but the techniques used to implement 2 can also be manipulated to behave like 1.
1. Blocking current thread of execution (Inline delays)
The API for 1. in the above case are:
Friday, August 30, 2019
Wednesday, August 28, 2019
Why Linux Kernel KASLR is not very effective
Recently, with more time on hand I am reading about security in the Linux kernel. A common mode of attack on any program is using buffer overflow to implement return oriented programming (ROP) blobs. Return oriented programming is a mechanism of overwriting return addresses in a library to implement code blobs (or gadgets) that will perform the desired functionality.
Labels:
2019,
embedded linux,
kernel,
kernel api,
linux,
security,
why
Monday, August 26, 2019
Linux: Why to drop caches and how? Host or virtual machine
Repost of an old post
Excerpt from stackoverflow: "The reason to drop caches like this is for benchmarking disk performance, and is the only reason it exists. When running an I/O-intensive benchmark, you want to be sure that the various settings you try are all actually doing disk I/O, so Linux allows you to drop caches rather than do a full reboot."
How to drop caches on the host?
Excerpt from stackoverflow: "The reason to drop caches like this is for benchmarking disk performance, and is the only reason it exists. When running an I/O-intensive benchmark, you want to be sure that the various settings you try are all actually doing disk I/O, so Linux allows you to drop caches rather than do a full reboot."
How to drop caches on the host?
Labels:
2019,
Cache,
hack,
linux,
optimization,
performance,
ram,
shell,
solution,
trick,
virtual machine,
VM,
why