~/talk

Meaningful Bounds Checking in the Linux Kernel

Talkat linux.conf.au 2022 · 2022-01-14..01-16· [security, c-and-cpp]
slides:none on file

Audit of recent kernel CVEs finds 11 memcpy overflows (including BleedingTooth) that the compiler could have caught by using __builtin_object_size mode 1 instead of mode 0. Analysis of ~35,000 memcpy calls shows 22,000 with unknown destination size, 12,000 fully known, and ~1,200 (≈3%) dynamic-but-known-at-runtime where all CVEs live. Work underway adds a struct_group macro, flexible-array helpers, fortified memcpy replacement and new APIs plus staged compiler/runtime enforcement (fortify_source, UB sanitizer enablement) to prevent future overflows.

AI-written summary · about

  1. 0:00Start
  2. 2:48Array Index Overflows
  3. 5:00Bleeding Tooth
  4. 31:13Array Bounds
  5. 37:19How Do You Enforce the Usage of the New Macros like struct Group and New Code
  6. 44:25What Is the Second Most Common Cause of Cds
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.