Paper reading homework

In preparation for lecture, read the paper The BSD Packet Filter: A New Architecture for User-level Packet Capture.

You might find it interesting that BPF is widely used in Linux, for many use cases beyond network filtering. If you are curious, you can read about some of the ways in which the Linux kernel uses BPF in the article A thorough introduction to eBPF.

Since the BPF filter instructions come from an arbitrary application, the kernel cannot trust the instructions to be well-behaved. How can the kernel ensure that the filter does not access arbitrary memory, and how can the kernel ensure that the filter does not run forever, with the least performance overhead?

Submit your answer in an ASCII text file named homework.txt to the corresponding "Lecture N" assignment on Gradescope.


Questions or comments regarding 6.1810? Send e-mail to the course staff at 61810-staff@lists.csail.mit.edu.

Creative Commons License