Search icon CANCEL
Subscription
0
Cart icon
Cart
Close icon
You have no products in your basket yet
Save more on your purchases!
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Linux Kernel Programming

You're reading from  Linux Kernel Programming

Product type Book
Published in Mar 2021
Publisher Packt
ISBN-13 9781789953435
Pages 754 pages
Edition 1st Edition
Languages
Author (1):
Kaiwan N. Billimoria Kaiwan N. Billimoria
Profile icon Kaiwan N. Billimoria
Toc

Table of Contents (19) Chapters close

Preface 1. Section 1: The Basics
2. Kernel Workspace Setup 3. Building the 5.x Linux Kernel from Source - Part 1 4. Building the 5.x Linux Kernel from Source - Part 2 5. Writing Your First Kernel Module - LKMs Part 1 6. Writing Your First Kernel Module - LKMs Part 2 7. Section 2: Understanding and Working with the Kernel
8. Kernel Internals Essentials - Processes and Threads 9. Memory Management Internals - Essentials 10. Kernel Memory Allocation for Module Authors - Part 1 11. Kernel Memory Allocation for Module Authors - Part 2 12. The CPU Scheduler - Part 1 13. The CPU Scheduler - Part 2 14. Section 3: Delving Deeper
15. Kernel Synchronization - Part 1 16. Kernel Synchronization - Part 2 17. About Packt 18. Other Books You May Enjoy

The LDV - Linux Driver Verification - project

The Russian Linux Verification Center, founded in 2005, is an opensource project; it has specialists in, and thus specializes in, automated testing of complex software projects. This includes comprehensive test suites, frameworks, and detailed analyses (both static and dynamic) being performed on the core Linux kernel as well as on the primarily device drivers within the kernel. This project puts a great deal of focus on the testing and verification of kernel modules as well, which many similar projects tend to skim.

Of particular interest to us here is the Online Linux Driver Verification Service page (http://linuxtesting.org/ldv/online?action=rules); it contains a list of a few verified Rules (Figure 1.11):

Figure 1.11 – Screenshot of the 'Rules' page of the Linux Driver Verification (LDV) project site

By glancing through these rules, we'll be able to not only see the rule but also instances of actual cases where these rules were violated by driver/kernel code within the mainline kernel, thus introducing bugs. The LDV project has successfully discovered and fixed (by sending in patches in the usual manner) several driver/kernel bugs. In a few of the upcoming chapters, we shall mention instances of these LDV rule violations (for example, memory leakage, Use After Free (UAF) bugs, and locking violations) having been uncovered, and (probably) even fixed.

Here are some useful links on the LDV website:

  • The Linux Verification Center home page; http://linuxtesting.org/
  • Linux Kernel Space Verification; http://linuxtesting.org/kernel
  • Online Linux Driver Verification Service page with verified Rules : http://linuxtesting.org/ldv/online?action=rules
  • Problems in Linux Kernel page; lists over 400 issues found in existing drivers (mostly fixed as well); http://linuxtesting.org/results/ldv
You have been reading a chapter from
Linux Kernel Programming
Published in: Mar 2021 Publisher: Packt ISBN-13: 9781789953435
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}