SlideShare a Scribd company logo
Hunting and fixing bugs all over
the Linux kernel
Gustavo A. R. Silva
gustavo@embeddedor.com
@embeddedgus
The Linux Foundation's Core Infrastructure
Initiative
Kernel Recipes
September 26, 2019
Paris, France
Who am I?
Background in Embedded Systems.●
RTOS●
Embedded Linux.●
Volunteer at @kidsoncomputers●
Board of directors at @kidsoncomputers●
Who am I?
Background in Embedded Systems.●
RTOS●
Embedded Linux.●
Volunteer at @kidsoncomputers●
Board of directors at @kidsoncomputers●
●
Don’t speak Portuguese. :)
Agenda
● Coverity.
●
Some bugs.
●
-Wimplicit-fallthrough.
●
Results.
● Bonus.
●
Beyond bug fixing (KSPP).
●
●
Ancient bugs.●
Super powers and responsibility.
Coverity
● Static code analyzer.
Tons of false positives (This applies to all static
code analyzers).
●
Coverity
● Static code analyzer.
●
Tons of false positives (This applies to all static
code analyzers).
Helpful:
●
$ git log --shortstat --author="Gustavo A. R. Silva”
grep Coverity | wc -l
582
Coverity high impact issues
● Memory – illegal accesses (out-of-bounds
access).
●
Resource leaks (memory leaks).
●
Uninitialized variables.
Coverity medium impact issues
● NULL pointer dereferences (before/after null
check, explicit null dereference).
●
Integer handling issues (bad bit shift operation).
●
API usage errors (arguments in wrong order).
● Control flow issues.
Coverity work
Look at every issue●
Access to Coverity scans on mainline.
Look at every issue.
Weekly scans every -rc.
Now access to daily Coverity scans.
●
●
●
Fix bugs in linux-next before they hit mainline.●
Some Bugs
● commit 2b6199a1d1b70fccd62aed961ba4c2b979ae499c
Incorrect type of variable
● commit fe78627d430435d22316fe39f2012ece31bf23c2
Fix type of variable
● commit fe78627d430435d22316fe39f2012ece31bf23c2
Fix type of variable
● commit fe78627d430435d22316fe39f2012ece31bf23c2
Fix type of variable
●
uint8_t → [0-255]
● commit fe78627d430435d22316fe39f2012ece31bf23c2
Fix type of variable
●
uint8_t → [0-255]
●
while (counter < 1000) - is always true.
● commit fe78627d430435d22316fe39f2012ece31bf23c2
Fix type of variable
●
uint8_t → [0-255]
●
while (counter < 1000) - is always true.
●
uint16_t → [0-65,535]
● commit fe78627d430435d22316fe39f2012ece31bf23c2
Fix type of variable
●
uint8_t → [0-255]
●
while (counter < 1000) - is always true.
●
uint16_t → [0-65,535]
●
while (counter < 1000) - can be true or false.
● commit 52e17089d1850774d2ef583cdef2b060b84fca8c
Inconsistent IS_ERR and PTR_ERR
● commit 52e17089d1850774d2ef583cdef2b060b84fca8c
Inconsistent IS_ERR and PTR_ERR
●
pinctrl != priv->vdev
● commit 52e17089d1850774d2ef583cdef2b060b84fca8c
Inconsistent IS_ERR and PTR_ERR
●
pinctrl != priv->vdev
●
PTR_ERR(priv→vdev) → PTR_ERR(pinctrl)
● commit 2b7db29b79190f7ad5c32f63594ba08b9b9171ea
Fix inconsistent IS_ERR and PTR_ERR
● commit 2b7db29b79190f7ad5c32f63594ba08b9b9171ea
Fix inconsistent IS_ERR and PTR_ERR
●
Easily caught using Coccinelle.
● commit 6f3472a993e7cb63cde5d818dcabc8e42fc03744
potential integer overflows
● commit 594619497f3d6d4b8d8440e6d380e8da9dcc9eeb
use-after-free
Incorrect bitwise operator
●
#define MVPP22_CLS_C2_ATTR2_RSS_EN BIT(30)
●
commit e146471f588e4b8dcd7994036c1b47cc52325f00
●
Introduced on Jul 14, 2019.
●
Fixed on Jul 18, 2019.
●
Never hit mainline.
●
The use of the bitwise OR operator '|' always leads to true.
● commit c5b974bee9d2ceae4c441ae5a01e498c2674e100
Fix “missing return” in switch
resource leaks
●
commit 3b4acbb92dbda4829e021e5c6d5410658849fa1c
Ancient Bugs
Incorrect bitwise operator
●
commit 489338a717a0dfbbd5a3fabccf172b78f0ac9015
●
The use of the bitwise OR operator '|' always leads to true.
Incorrect bitwise operator
●
commit 489338a717a0dfbbd5a3fabccf172b78f0ac9015
●
7-year-old bug (Tue Sep 18 11:56:28 2012).
●
The use of the bitwise OR operator '|' always leads to true.
(!x & y) strikes again
●
commit 07c69f1148da7de3978686d3af9263325d9d60bd
(!x & y) strikes again
●
commit 07c69f1148da7de3978686d3af9263325d9d60bd
●
8-year-old bug (Mon Jun 6 19:42:44 2011).
(!x & y) strikes again
Beyond bug fixing
Kernel Self Protection Project
Kernel Self Protection Project
● Variable Length Arrays (VLA) removal.
Kernel Self Protection Project
● Variable Length Arrays (VLA) removal.
● Defense-in-depth with struct_size() helper.
Kernel Self Protection Project
● Variable Length Arrays (VLA) removal.
● Defense-in-depth with struct_size() helper.
● Switch case fall-through
Variable Length Arrays
Exhaust the stack: write to things following it.●
Jump over guard pages.●
Easy to find with compiler flag: -Wvla●
Variable Length Arrays
Exhaust the stack: write to things following it.●
Jump over guard pages.●
Easy to find with compiler flag: -Wvla●
Eradicated from the kernel in Linux v4.20. :)●
Defense-in-depth & struct_size()
Defense-in-depth & struct_size()
Defense-in-depth & struct_size()
●
Commit 72bb169e024a20203e6044a81d5e41ae6ee0645b
●
Bluetooth: mgmt: Use struct_size() helper
Defense-in-depth & struct_size()
●
Bluetooth: mgmt: Use struct_size() helper
●
Commit 72bb169e024a20203e6044a81d5e41ae6ee0645b
Defense-in-depth & struct_size()
●
One day I found something interesting...
Defense-in-depth & struct_size()
●
One day I found something interesting...
●
Commit cffaaf0c816238c45cd2d06913476c83eb50f682
Defense-in-depth & struct_size()
●
Commit 57384592c43375d2c9a14d82aebbdc95fdda9e9d
Defense-in-depth & struct_size()
●
Commit 57384592c43375d2c9a14d82aebbdc95fdda9e9d
Defense-in-depth & struct_size()
●
Commit 57384592c43375d2c9a14d82aebbdc95fdda9e9d
●
New structure dmar_pci_path
contains an extra field: u8 bus;
Defense-in-depth & struct_size()
●
Commit 57384592c43375d2c9a14d82aebbdc95fdda9e9d
●
New structure dmar_pci_path
contains an extra field: u8 bus;
●
Overflow: info→path[level].bus = tmp→bus→number;
Defense-in-depth & struct_size()
●
Commit 57384592c43375d2c9a14d82aebbdc95fdda9e9d
●
New structure dmar_pci_path
contains an extra field: u8 bus;
●
Overflow: info→path[level].bus = tmp→bus→number;
Defense-in-depth & struct_size()
●
Commit 57384592c43375d2c9a14d82aebbdc95fdda9e9d
●
New structure dmar_pci_path
contains an extra field: u8 bus;
●
Overflow: info→path[level].bus = tmp→bus→number;
●
4-year-old+ bug (Thu Oct 2 11:50:25 2014)
Defense-in-depth & struct_size()
●
iommu/vt-d: Use struct_size() helper
●
Commit 553d66cb1e8667aadb57e3804775c5ce1724a49b
Defense-in-depth & struct_size()
●
iommu/vt-d: Use struct_size() helper
●
Commit 553d66cb1e8667aadb57e3804775c5ce1724a49b
●
Could have prevented:
57384592c43375d2c9a14d82aebbdc95fdda9e9d
Defense-in-depth & struct_size()
●
Commit 76497732932f15e7323dc805e8ea8dc11bb587cf
Defense-in-depth & struct_size()
●
Commit 76497732932f15e7323dc805e8ea8dc11bb587cf
●
8-year-old bug (Tue Sep 6 13:59:13 2011).
Defense-in-depth & struct_size()
●
Commit 76497732932f15e7323dc805e8ea8dc11bb587cf
●
8-year-old bug (Tue Sep 6 13:59:13 2011).
●
Bugfix backported all the way down to LTS Linux v3.16.74
Switch case fall-through
Switch case fall-through
●
Common Weakness Enumeration.
CWE-484:Omitted Break Statement in Switch:
“The program omits a break statement within a switch or similar construct,
causing code associated with multiple conditions to execute. This can cause
problems when the programmer only intended to execute code associated
with one condition.”
Switch case fall-through
●
Common Weakness Enumeration.
CWE-484:Omitted Break Statement in Switch:
“The program omits a break statement within a switch or similar construct,
causing code associated with multiple conditions to execute. This can cause
problems when the programmer only intended to execute code associated
with one condition.”
●
Prone to error.
Switch case fall-through
●
Common Weakness Enumeration.
CWE-484:Omitted Break Statement in Switch:
“The program omits a break statement within a switch or similar construct,
causing code associated with multiple conditions to execute. This can cause
problems when the programmer only intended to execute code associated
with one condition.”
●
Prone to error.
●
“To enable -Wimplicit-fallthrough in Firefox,
I had to annotate 287 intentional fallthroughs.”
- Chris Peterson. TPM on Mozilla’s Firefox team.
-Wimplicit-fallthrough
-Wimplicit-fallthrough
●
Commit 7607a121f4617840fe645c65f090af6403738031
-Wimplicit-fallthrough
●
Tons of warnings (2300+).
-Wimplicit-fallthrough
●
Tons of warnings (2300+). Just on x86.
-Wimplicit-fallthrough
●
Tons of warnings (2300+). Just on x86.
●
Where do I even begin?
-Wimplicit-fallthrough
●
Tons of warnings (2300+). Just on x86.
●
Where do I even begin?
●
Count warnings in each file.
-Wimplicit-fallthrough
●
Tons of warnings (2300+). Just on x86.
●
Where do I even begin?
●
Count warnings in each file.
●
x86 headers. Tons of warnings.
-Wimplicit-fallthrough
●
Tons of warnings (2300+). Just on x86.
●
Where do I even begin?
●
Count warnings in each file.
●
●
Strategy:
x86 headers. Tons of warnings.
-Wimplicit-fallthrough
●
Tons of warnings (2300+). Just on x86.
●
Where do I even begin?
●
Count warnings in each file.
●
●
Strategy: address x86, first.
x86 headers. Tons of warnings.
-Wimplicit-fallthrough
●
Tons of warnings (2300+). Just on x86.
●
Where do I even begin?
●
Count warnings in each file.
●
●
Strategy: address x86, first.
●
x86 gate keeper:
x86 headers. Tons of warnings.
-Wimplicit-fallthrough
●
Tons of warnings (2300+). Just on x86.
●
Where do I even begin?
●
Count warnings in each file.
●
●
Strategy: address x86, first.
●
x86 gate keeper: tglx.
x86 headers. Tons of warnings.
-Wimplicit-fallthrough
●
Tons of warnings (2300+). Just on x86.
●
Where do I even begin?
●
Count warnings in each file.
●
●
Strategy: address x86, first.
●
What could possibly go wrong?
●
x86 gate keeper: tglx.
x86 headers. Tons of warnings.
-Wimplicit-fallthrough
●
Tons of warnings (2300+). Just on x86.
●
Where do I even begin?
●
Count warnings in each file.
●
●
Strategy: address x86, first.
●
What could possibly go wrong?
●
x86 gate keeper: tglx.
●
First patch (2017) :)
x86 headers. Tons of warnings.
-Wimplicit-fallthrough
●
Tons of warnings (2300+). Just on x86.
●
Where do I even begin?
●
Count warnings in each file.
●
●
Strategy: address x86, first.
●
What could possibly go wrong?
●
x86 gate keeper: tglx.
●
First patch (2017) :) - Flamed :/
x86 headers. Tons of warnings.
-Wimplicit-fallthrough
●
Tons of warnings (2300+). Just on x86.
●
Where do I even begin?
●
Count warnings in each file.
●
●
Strategy: address x86, first.
●
What could possibly go wrong?
●
x86 gate keeper: tglx.
●
Abort.
●
First patch (2017) :) - Flamed :/
x86 headers. Tons of warnings.
-Wimplicit-fallthrough
●
Tons of warnings (2300+). Just on x86.
●
Where do I even begin?
●
Count warnings in each file.
●
●
Strategy: address x86, first.
●
What could possibly go wrong?
●
x86 gate keeper: tglx.
●
Abort. Rethink strategy.
●
First patch (2017) :) - Flamed :/
x86 headers. Tons of warnings.
-Wimplicit-fallthrough
●
Tons of warnings (2300+). Just on x86.
●
Where do I even begin?
●
Count warnings in each file.
●
x86 headers. Tons of warnings.
●
Strategy: address x86, first.
●
What could possibly go wrong?
●
First patch (2017) :) - Flamed :/
●
x86 gate keeper: tglx.
●
Abort. Rethink strategy.
●
Warnings finally addressed in 2019.
Unintentional fall-through bugs
Unintentional fall-through bugs
Unintentional fall-through bugs
●
commit 1cbd7a64959d33e7a2a1fa2bf36a62b350a9fcbd
●
Recently applied to LTS Linux v3.16.74 (a couple of days ago).
Unintentional fall-through bugs
Unintentional fall-through bugs
●
commit cc5034a5d293dd620484d1d836aa16c6764a1c8c
Unintentional fall-through bugs
●
commit cc5034a5d293dd620484d1d836aa16c6764a1c8c
●
7-year-old bug.
Unintentional fall-through bugs
●
commit cc5034a5d293dd620484d1d836aa16c6764a1c8c
●
7-year-old bug.
●
Bugfix applied to multiple stable trees.
Unintentional fall-through bugs
Unintentional fall-through bugs
●
commit 1ee1119d184bb06af921b48c3021d921bbd85bac
Unintentional fall-through bugs
●
commit 1ee1119d184bb06af921b48c3021d921bbd85bac
●
10-year-old bug.
Unintentional fall-through bugs
●
commit 1ee1119d184bb06af921b48c3021d921bbd85bac
●
10-year-old bug.
●
Bugfix applied to multiple stable trees.
Ancient bugs
-Wimplicit-fallthrough
Worth it
Super powers and responsibility
My own tree
My own tree
Why?●
My own tree
Stuck at 90%.
Why?●
●
My own tree
Stuck at 90%.
Why?●
●
Patches deliberately ignored.●
My own tree
Forced to bypass people to get the job done.
Stuck at 90%.
Why?●
●
Patches deliberately ignored.●
●
Results
Contributions
200+ commits upstream (KR2017)
Contributions
200+ commits upstream (KR2017)
750+ commits upstream (KR2018)
Contributions
200+ commits upstream (KR2017)
750+ commits upstream (KR2018)
Contributions
1400+ commits upstream (KR2019)
Categories (10+)
●
NULL pointer
dereferences.
●
Spectre vulnerabilities.
●
API usage errors.
● Code maintainability
issues.
●
Constification.
●
Control flow issues.
● Uninitialized
variables.
● Incorrect expression.
●
Integer handling
issues.
● Miscellaneous
Types (38+)
●
Variable Length Arrays (VLA)
● Integer overflows
● Bad memory allocation
● Dereference after null check.
● Dereference before null check.
● Dereference null return value.
● Explicit null dereference.
● Missing null check on return value.
● Arguments in wrong order.
● Ignored error return code.
● Unused value.
● Unused code.
●
Unnecessary static on local variable.
● Missing return in switch
● Logical vs. bitwise operator
● Wrong operator used
●
Spectre V1
● Memory leaks
● ‘Constant’ variable guards dead code.
● Missing break in switch.
● Uninitialized scalar variable.
● Array compared against 0.
● Identical code for different branches.
● Self assignment.
● Macro compares unsigned to 0.
● Code refactoring.
● Print error message on failure.
● Unnecessary cast on kmalloc.
●
Use sizeof(*var) in kmalloc.
● Double free
● Copy-paste errors
● Read from pointer after free
Subsystems & Components
impacted (38+)
● alsa-devel
● linux-arm-msm
● linux-mediatek
● linux-samsung-soc
● ath10k
● linux-block
● linux-mmc
● linux-scsi
● ceph-devel
● linux-clk
● linux-nfs
● linux-wireless
● linux-media
● cifs-client
● linux-crypto
● linux-omap
● linux-wpan
● dri-devel
● linux-dmaengine
● linux-parisc
● platform-driver-x86
● intel-gfx
● linux-fbdev
● linux-pci
● spi-devel-general
● linux-arm-kernel
● kvm
●
linux-fpga
●
linux-pm
●
target-devel
●
linux-acpi
● linux-iio
● linux-rdma
●
tpmdd-devel
●
linux-rockchip
●
linux-input
●
linux-renesas-soc
●
xen-devel
Stable trees impacted (20)
●
5.3.y
●
5.2.y
●
5.1.y
●
5.0.y
●
4.20.y
●
4.19.y (LTS)
●
4.18.y
●
4.17.y
●
4.16.y
●
4.15.y
●
4.14.y (LTS)
●
4.13.y
●
4.12.y
●
4.11.y
●
4.10.y
●
4.9.y (LTS)
●
4.4.y (LTS)
●
4.1.y
●
3.18.y
●
3.16.y (LTS)
Stable trees impacted (20)
●
5.3.y
●
5.2.y
●
5.1.y
●
5.0.y
●
4.20.y
●
4.19.y (LTS)
●
4.18.y
●
4.17.y
●
4.16.y
●
4.15.y
●
4.14.y
●
4.13.y
●
4.12.y[1]
●
4.11.y
●
4.10.y
●
4.9.y (LTS)
●
4.4.y (LTS)
●
4.1.y
●
3.18.y
●
3.16.y (LTS)
[1] Kick-off. First bugfixes. May 2017.
(LTS)
Stable trees impacted (20)
●
5.3.y
●
5.2.y
●
5.1.y
●
5.0.y
●
4.20.y[2]
●
4.19.y (LTS)
●
4.18.y
●
4.17.y
●
4.16.y
●
4.15.y
●
4.14.y
●
4.13.y
●
●
4.11.y
●
4.10.y
●
4.9.y (LTS)
●
4.4.y (LTS)
●
4.1.y
●
3.18.y
●
3.16.y (LTS)
[1] Kick-off. First bugfixes. May 2017.
[2] VLAs erradicated from kernel. December 2018.
(LTS)
4.12.y[1]
Stable trees impacted (20)
●
5.3.y[3]
●
5.2.y
●
5.1.y
●
5.0.y
●
4.20.y[2]
●
4.19.y (LTS)
●
4.18.y
●
4.17.y
●
4.16.y
●
4.15.y
●
4.14.y
●
4.13.y
●
●
4.11.y
●
4.10.y
●
4.9.y (LTS)
●
4.4.y (LTS)
●
4.1.y
●
3.18.y
●
3.16.y (LTS)
[1] Kick-off. First bugfixes. May 2017.
[3] -Wimplicit-fallthrough globally enabled by default. September 2019
[2] VLAs erradicated from kernel. December 2018.
4.12.y[1]
(LTS)
Bonus
Code of Conduct
My experience with CoC
My experience with CoC
● 1480 files changed, 3920 (+), 2961 (-)
My experience with CoC
● 1480 files changed, 3920 (+), 2961 (-)
● 1846 interactions in general.
My experience with CoC
● 1480 files changed, 3920 (+), 2961 (-)
● 1846 interactions in general.
● Some interesting “feedback”:
– “This crap… !!”
– “I hate when… !!”
– Contempt.
Flexibility and persistence.
KSPP moto suggested by Alexander Popov.
Thank you!
gustavo@embeddedor.com
@embeddedgus
Gustavo A. R. Silva

More Related Content

What's hot

Linux kernel-rootkit-dev - Wonokaerun
Linux kernel-rootkit-dev - WonokaerunLinux kernel-rootkit-dev - Wonokaerun
Linux kernel-rootkit-dev - Wonokaerun
idsecconf
 
Kernel crashdump
Kernel crashdumpKernel crashdump
Kernel crashdump
Adrien Mahieux
 
Kernel Recipes 2015 - The Dronecode Project – A step in open source drones
Kernel Recipes 2015 - The Dronecode Project – A step in open source dronesKernel Recipes 2015 - The Dronecode Project – A step in open source drones
Kernel Recipes 2015 - The Dronecode Project – A step in open source drones
Anne Nicolas
 
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureKernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Anne Nicolas
 
Kernel Recipes 2015: Kernel packet capture technologies
Kernel Recipes 2015: Kernel packet capture technologiesKernel Recipes 2015: Kernel packet capture technologies
Kernel Recipes 2015: Kernel packet capture technologies
Anne Nicolas
 
BPF Tools 2017
BPF Tools 2017BPF Tools 2017
BPF Tools 2017
Brendan Gregg
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Anne Nicolas
 
Linux kernel tracing superpowers in the cloud
Linux kernel tracing superpowers in the cloudLinux kernel tracing superpowers in the cloud
Linux kernel tracing superpowers in the cloud
Andrea Righi
 
Linux 4.x Tracing: Performance Analysis with bcc/BPF
Linux 4.x Tracing: Performance Analysis with bcc/BPFLinux 4.x Tracing: Performance Analysis with bcc/BPF
Linux 4.x Tracing: Performance Analysis with bcc/BPF
Brendan Gregg
 
QEMU - Binary Translation
QEMU - Binary Translation QEMU - Binary Translation
QEMU - Binary Translation
Jiann-Fuh Liaw
 
BPF Internals (eBPF)
BPF Internals (eBPF)BPF Internals (eBPF)
BPF Internals (eBPF)
Brendan Gregg
 
Kernel development
Kernel developmentKernel development
Kernel development
Nuno Martins
 
re:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflixre:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflix
Brendan Gregg
 
LSFMM 2019 BPF Observability
LSFMM 2019 BPF ObservabilityLSFMM 2019 BPF Observability
LSFMM 2019 BPF Observability
Brendan Gregg
 
UM2019 Extended BPF: A New Type of Software
UM2019 Extended BPF: A New Type of SoftwareUM2019 Extended BPF: A New Type of Software
UM2019 Extended BPF: A New Type of Software
Brendan Gregg
 
Spying on the Linux kernel for fun and profit
Spying on the Linux kernel for fun and profitSpying on the Linux kernel for fun and profit
Spying on the Linux kernel for fun and profit
Andrea Righi
 
NetConf 2018 BPF Observability
NetConf 2018 BPF ObservabilityNetConf 2018 BPF Observability
NetConf 2018 BPF Observability
Brendan Gregg
 
Linux Crash Dump Capture and Analysis
Linux Crash Dump Capture and AnalysisLinux Crash Dump Capture and Analysis
Linux Crash Dump Capture and Analysis
Paul V. Novarese
 
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Valeriy Kravchuk
 
Debugging Hung Python Processes With GDB
Debugging Hung Python Processes With GDBDebugging Hung Python Processes With GDB
Debugging Hung Python Processes With GDB
bmbouter
 

What's hot (20)

Linux kernel-rootkit-dev - Wonokaerun
Linux kernel-rootkit-dev - WonokaerunLinux kernel-rootkit-dev - Wonokaerun
Linux kernel-rootkit-dev - Wonokaerun
 
Kernel crashdump
Kernel crashdumpKernel crashdump
Kernel crashdump
 
Kernel Recipes 2015 - The Dronecode Project – A step in open source drones
Kernel Recipes 2015 - The Dronecode Project – A step in open source dronesKernel Recipes 2015 - The Dronecode Project – A step in open source drones
Kernel Recipes 2015 - The Dronecode Project – A step in open source drones
 
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureKernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and future
 
Kernel Recipes 2015: Kernel packet capture technologies
Kernel Recipes 2015: Kernel packet capture technologiesKernel Recipes 2015: Kernel packet capture technologies
Kernel Recipes 2015: Kernel packet capture technologies
 
BPF Tools 2017
BPF Tools 2017BPF Tools 2017
BPF Tools 2017
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
 
Linux kernel tracing superpowers in the cloud
Linux kernel tracing superpowers in the cloudLinux kernel tracing superpowers in the cloud
Linux kernel tracing superpowers in the cloud
 
Linux 4.x Tracing: Performance Analysis with bcc/BPF
Linux 4.x Tracing: Performance Analysis with bcc/BPFLinux 4.x Tracing: Performance Analysis with bcc/BPF
Linux 4.x Tracing: Performance Analysis with bcc/BPF
 
QEMU - Binary Translation
QEMU - Binary Translation QEMU - Binary Translation
QEMU - Binary Translation
 
BPF Internals (eBPF)
BPF Internals (eBPF)BPF Internals (eBPF)
BPF Internals (eBPF)
 
Kernel development
Kernel developmentKernel development
Kernel development
 
re:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflixre:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflix
 
LSFMM 2019 BPF Observability
LSFMM 2019 BPF ObservabilityLSFMM 2019 BPF Observability
LSFMM 2019 BPF Observability
 
UM2019 Extended BPF: A New Type of Software
UM2019 Extended BPF: A New Type of SoftwareUM2019 Extended BPF: A New Type of Software
UM2019 Extended BPF: A New Type of Software
 
Spying on the Linux kernel for fun and profit
Spying on the Linux kernel for fun and profitSpying on the Linux kernel for fun and profit
Spying on the Linux kernel for fun and profit
 
NetConf 2018 BPF Observability
NetConf 2018 BPF ObservabilityNetConf 2018 BPF Observability
NetConf 2018 BPF Observability
 
Linux Crash Dump Capture and Analysis
Linux Crash Dump Capture and AnalysisLinux Crash Dump Capture and Analysis
Linux Crash Dump Capture and Analysis
 
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
 
Debugging Hung Python Processes With GDB
Debugging Hung Python Processes With GDBDebugging Hung Python Processes With GDB
Debugging Hung Python Processes With GDB
 

Similar to Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel

Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Anne Nicolas
 
Kernel Recipes 2018 - A year of fixing Coverity issues all over the Linux ker...
Kernel Recipes 2018 - A year of fixing Coverity issues all over the Linux ker...Kernel Recipes 2018 - A year of fixing Coverity issues all over the Linux ker...
Kernel Recipes 2018 - A year of fixing Coverity issues all over the Linux ker...
Anne Nicolas
 
BlueHat v18 || A mitigation for kernel toctou vulnerabilities
BlueHat v18 || A mitigation for kernel toctou vulnerabilitiesBlueHat v18 || A mitigation for kernel toctou vulnerabilities
BlueHat v18 || A mitigation for kernel toctou vulnerabilities
BlueHat Security Conference
 
Infecting the Embedded Supply Chain
 Infecting the Embedded Supply Chain Infecting the Embedded Supply Chain
Infecting the Embedded Supply Chain
Priyanka Aash
 
Web 2.0 Performance and Reliability: How to Run Large Web Apps
Web 2.0 Performance and Reliability: How to Run Large Web AppsWeb 2.0 Performance and Reliability: How to Run Large Web Apps
Web 2.0 Performance and Reliability: How to Run Large Web Apps
adunne
 
Troubleshooting MySQL from a MySQL Developer Perspective
Troubleshooting MySQL from a MySQL Developer PerspectiveTroubleshooting MySQL from a MySQL Developer Perspective
Troubleshooting MySQL from a MySQL Developer Perspective
Marcelo Altmann
 
Let's trace Linux Lernel with KGDB @ COSCUP 2021
Let's trace Linux Lernel with KGDB @ COSCUP 2021Let's trace Linux Lernel with KGDB @ COSCUP 2021
Let's trace Linux Lernel with KGDB @ COSCUP 2021
Jian-Hong Pan
 
Kettunen, miaubiz fuzzing at scale and in style
Kettunen, miaubiz   fuzzing at scale and in styleKettunen, miaubiz   fuzzing at scale and in style
Kettunen, miaubiz fuzzing at scale and in style
DefconRussia
 
Linux kernel debugging(PDF format)
Linux kernel debugging(PDF format)Linux kernel debugging(PDF format)
Linux kernel debugging(PDF format)
yang firo
 
Linux kernel debugging(ODP format)
Linux kernel debugging(ODP format)Linux kernel debugging(ODP format)
Linux kernel debugging(ODP format)
yang firo
 
Tech Days 2015: Dynamic Analysis
Tech Days 2015: Dynamic AnalysisTech Days 2015: Dynamic Analysis
Tech Days 2015: Dynamic Analysis
AdaCore
 
Headless Android at AnDevCon3
Headless Android at AnDevCon3Headless Android at AnDevCon3
Headless Android at AnDevCon3
Opersys inc.
 
A Methodology for Automatic GPU Kernel Optimization
A Methodology for Automatic GPU Kernel OptimizationA Methodology for Automatic GPU Kernel Optimization
A Methodology for Automatic GPU Kernel Optimization
NECST Lab @ Politecnico di Milano
 
Asus WL500gP USB Serial
Asus WL500gP USB SerialAsus WL500gP USB Serial
Asus WL500gP USB Serial
guestac21b8
 
Maintaining Linux kernel patches away from upstream
Maintaining Linux kernel patches away from upstreamMaintaining Linux kernel patches away from upstream
Maintaining Linux kernel patches away from upstream
Marian Marinov
 
DCSF 19 Deploying Rootless buildkit on Kubernetes
DCSF 19 Deploying Rootless buildkit on KubernetesDCSF 19 Deploying Rootless buildkit on Kubernetes
DCSF 19 Deploying Rootless buildkit on Kubernetes
Docker, Inc.
 
Secrets of building a debuggable runtime: Learn how language implementors sol...
Secrets of building a debuggable runtime: Learn how language implementors sol...Secrets of building a debuggable runtime: Learn how language implementors sol...
Secrets of building a debuggable runtime: Learn how language implementors sol...
Dev_Events
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON
 
Intro to Kernel Debugging - Just make the crashing stop!
Intro to Kernel Debugging - Just make the crashing stop!Intro to Kernel Debugging - Just make the crashing stop!
Intro to Kernel Debugging - Just make the crashing stop!
All Things Open
 
Inside Winnyp
Inside WinnypInside Winnyp
Inside Winnyp
FFRI, Inc.
 

Similar to Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel (20)

Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
 
Kernel Recipes 2018 - A year of fixing Coverity issues all over the Linux ker...
Kernel Recipes 2018 - A year of fixing Coverity issues all over the Linux ker...Kernel Recipes 2018 - A year of fixing Coverity issues all over the Linux ker...
Kernel Recipes 2018 - A year of fixing Coverity issues all over the Linux ker...
 
BlueHat v18 || A mitigation for kernel toctou vulnerabilities
BlueHat v18 || A mitigation for kernel toctou vulnerabilitiesBlueHat v18 || A mitigation for kernel toctou vulnerabilities
BlueHat v18 || A mitigation for kernel toctou vulnerabilities
 
Infecting the Embedded Supply Chain
 Infecting the Embedded Supply Chain Infecting the Embedded Supply Chain
Infecting the Embedded Supply Chain
 
Web 2.0 Performance and Reliability: How to Run Large Web Apps
Web 2.0 Performance and Reliability: How to Run Large Web AppsWeb 2.0 Performance and Reliability: How to Run Large Web Apps
Web 2.0 Performance and Reliability: How to Run Large Web Apps
 
Troubleshooting MySQL from a MySQL Developer Perspective
Troubleshooting MySQL from a MySQL Developer PerspectiveTroubleshooting MySQL from a MySQL Developer Perspective
Troubleshooting MySQL from a MySQL Developer Perspective
 
Let's trace Linux Lernel with KGDB @ COSCUP 2021
Let's trace Linux Lernel with KGDB @ COSCUP 2021Let's trace Linux Lernel with KGDB @ COSCUP 2021
Let's trace Linux Lernel with KGDB @ COSCUP 2021
 
Kettunen, miaubiz fuzzing at scale and in style
Kettunen, miaubiz   fuzzing at scale and in styleKettunen, miaubiz   fuzzing at scale and in style
Kettunen, miaubiz fuzzing at scale and in style
 
Linux kernel debugging(PDF format)
Linux kernel debugging(PDF format)Linux kernel debugging(PDF format)
Linux kernel debugging(PDF format)
 
Linux kernel debugging(ODP format)
Linux kernel debugging(ODP format)Linux kernel debugging(ODP format)
Linux kernel debugging(ODP format)
 
Tech Days 2015: Dynamic Analysis
Tech Days 2015: Dynamic AnalysisTech Days 2015: Dynamic Analysis
Tech Days 2015: Dynamic Analysis
 
Headless Android at AnDevCon3
Headless Android at AnDevCon3Headless Android at AnDevCon3
Headless Android at AnDevCon3
 
A Methodology for Automatic GPU Kernel Optimization
A Methodology for Automatic GPU Kernel OptimizationA Methodology for Automatic GPU Kernel Optimization
A Methodology for Automatic GPU Kernel Optimization
 
Asus WL500gP USB Serial
Asus WL500gP USB SerialAsus WL500gP USB Serial
Asus WL500gP USB Serial
 
Maintaining Linux kernel patches away from upstream
Maintaining Linux kernel patches away from upstreamMaintaining Linux kernel patches away from upstream
Maintaining Linux kernel patches away from upstream
 
DCSF 19 Deploying Rootless buildkit on Kubernetes
DCSF 19 Deploying Rootless buildkit on KubernetesDCSF 19 Deploying Rootless buildkit on Kubernetes
DCSF 19 Deploying Rootless buildkit on Kubernetes
 
Secrets of building a debuggable runtime: Learn how language implementors sol...
Secrets of building a debuggable runtime: Learn how language implementors sol...Secrets of building a debuggable runtime: Learn how language implementors sol...
Secrets of building a debuggable runtime: Learn how language implementors sol...
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
 
Intro to Kernel Debugging - Just make the crashing stop!
Intro to Kernel Debugging - Just make the crashing stop!Intro to Kernel Debugging - Just make the crashing stop!
Intro to Kernel Debugging - Just make the crashing stop!
 
Inside Winnyp
Inside WinnypInside Winnyp
Inside Winnyp
 

More from Anne Nicolas

Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream first
Anne Nicolas
 
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIKernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Anne Nicolas
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are money
Anne Nicolas
 
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Anne Nicolas
 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Anne Nicolas
 
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Anne Nicolas
 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Anne Nicolas
 
Embedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialEmbedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less special
Anne Nicolas
 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Anne Nicolas
 
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureEmbedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Anne Nicolas
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops way
Anne Nicolas
 
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerEmbedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmaker
Anne Nicolas
 
Embedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationEmbedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integration
Anne Nicolas
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Anne Nicolas
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDP
Anne Nicolas
 
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Anne Nicolas
 
Kernel Recipes 2019 - Formal modeling made easy
Kernel Recipes 2019 - Formal modeling made easyKernel Recipes 2019 - Formal modeling made easy
Kernel Recipes 2019 - Formal modeling made easy
Anne Nicolas
 
Kernel Recipes 2019 - XDP closer integration with network stack
Kernel Recipes 2019 -  XDP closer integration with network stackKernel Recipes 2019 -  XDP closer integration with network stack
Kernel Recipes 2019 - XDP closer integration with network stack
Anne Nicolas
 
Kernel Recipes 2019 - Kernel hacking behind closed doors
Kernel Recipes 2019 - Kernel hacking behind closed doorsKernel Recipes 2019 - Kernel hacking behind closed doors
Kernel Recipes 2019 - Kernel hacking behind closed doors
Anne Nicolas
 
Kernel Recipes 2019 - Faster IO through io_uring
Kernel Recipes 2019 - Faster IO through io_uringKernel Recipes 2019 - Faster IO through io_uring
Kernel Recipes 2019 - Faster IO through io_uring
Anne Nicolas
 

More from Anne Nicolas (20)

Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream first
 
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIKernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are money
 
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
 
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
 
Embedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialEmbedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less special
 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
 
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureEmbedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops way
 
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerEmbedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmaker
 
Embedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationEmbedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integration
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDP
 
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
 
Kernel Recipes 2019 - Formal modeling made easy
Kernel Recipes 2019 - Formal modeling made easyKernel Recipes 2019 - Formal modeling made easy
Kernel Recipes 2019 - Formal modeling made easy
 
Kernel Recipes 2019 - XDP closer integration with network stack
Kernel Recipes 2019 -  XDP closer integration with network stackKernel Recipes 2019 -  XDP closer integration with network stack
Kernel Recipes 2019 - XDP closer integration with network stack
 
Kernel Recipes 2019 - Kernel hacking behind closed doors
Kernel Recipes 2019 - Kernel hacking behind closed doorsKernel Recipes 2019 - Kernel hacking behind closed doors
Kernel Recipes 2019 - Kernel hacking behind closed doors
 
Kernel Recipes 2019 - Faster IO through io_uring
Kernel Recipes 2019 - Faster IO through io_uringKernel Recipes 2019 - Faster IO through io_uring
Kernel Recipes 2019 - Faster IO through io_uring
 

Recently uploaded

Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptxOperational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
sandeepmenon62
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
Reetu63
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
Maitrey Patel
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
Luigi Fugaro
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
Jhone kinadey
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Paul Brebner
 
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
kgyxske
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
kalichargn70th171
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)
alowpalsadig
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio, Inc.
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
The Third Creative Media
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
Paul Brebner
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
DevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps ServicesDevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps Services
seospiralmantra
 

Recently uploaded (20)

Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptxOperational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
 
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
DevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps ServicesDevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps Services
 

Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel