|
12 Sept 2022 |
Time |
"Herbert" |
"Lansdowne" |
"Meeting 1&2" |
"Meeting 6" |
"Meeting 9" |
"Pembroke" |
"Ulster & Munster" |
10:00 |
Copy On Write, Get User Pages, and Mysterious Counters
David Hildenbrand
"Herbert"
|
PREEMPT_RT - how not to break it.
Sebastian Siewior
"Lansdowne"
|
IOMMUFD Discussion
Jason Gunthorpe
"Meeting 1&2"
|
A Clash of Things: Name Ambiguity, Tracing and kallsyms
Nick Alcock
"Meeting 6"
|
gpio and pinctrl BoF
Drew Fustini
"Meeting 9"
|
The journey of BPF from restricted C language towards extended and safe C.
Alexei Starovoitov
"Pembroke"
|
Welcome to System Boot and Security MC
Michał Żygowski, Daniel Kiper
"Ulster & Munster"
|
10:05 |
Secure bootloader for Confidential Computing
Ken Lu, Jiewen Yao
"Ulster & Munster"
|
10:30 |
Scalability solutions for the mmap_lock - Maple Tree and per-VMA locks
Michel Lespinasse, Liam Howlett, SUREN BAGHDASARYAN
"Herbert"
|
Cooperative DMA in a memory-oversubscribed environment
James Gowans
"Meeting 1&2"
|
HID-BPF
Benjamin Tissoires
"Pembroke"
|
10:40 |
Secure Boot auto enrollment
vincent dagonneau
"Ulster & Munster"
|
10:45 |
Launching new processes with `io_uring_spawn` for fast builds
Josh Triplett
"Lansdowne"
|
11:00 |
Memory tiering
Jerome Glisse
"Herbert"
|
Break |
eBPF Kernel Scheduling with Ghost
Barret Rhoden
"Pembroke"
|
11:15 |
PCIe Endpoint Subsystem Open Items Discussion
Manivannan Sadhasivam, Kishon Vijay Abraham I
"Meeting 1&2"
|
Kernel TEE subsystem evolution
Sumit Garg
"Ulster & Munster"
|
11:30 |
Break |
Break |
Break |
Break |
Break |
11:45 |
Multi-Gen LRU: Current Status & Next Steps
Rom Lemarchand, Jesse Barnes
"Herbert"
|
Instant Detection of Virtual Devices
Ajay Kaher
"Meeting 1&2"
|
11:50 |
Break |
12:00 |
Exercising the Linux scheduler with Yogini
Len Brown
"Lansdowne"
|
|
|
Tuning Linux TCP for data-center networks
Yuchung Cheng
"Pembroke"
|
12:15 |
Preserving guest memory across kexec
James Gowans
"Herbert"
|
Break |
|
|
12:20 |
|
|
Remote Attestation of IoT devices using a discrete TPM 2.0
Svetlozar Kalchev, Dimitar Tomov
"Ulster & Munster"
|
12:30 |
Exposing PCIe topology to Guest OS for peer-to-peer
Oded Gabbay
"Meeting 1&2"
|
|
|
Can the Linux networking stack be used with very high speed applications?
David Ahern
"Pembroke"
|
12:40 |
Low-overhead memory allocation tracking
Kent Overstreet, SUREN BAGHDASARYAN
"Herbert"
|
|
|
12:45 |
OS Scheduling with Nest: Keeping Tasks Close Together on Warm Cores
Julia Lawall
"Lansdowne"
|
|
|
12:55 |
|
|
TrenchBoot Update
Daniel Smith
"Ulster & Munster"
|
13:00 |
Integrated PCIe monitoring and tracing facilities
Yicong Yang
"Meeting 1&2"
|
|
|
Overview of the BPF networking hooks and user experience in Meta
Martin Lau
"Pembroke"
|
13:05 |
The slab allocators of past, present, and future
Vlastimil Babka
"Herbert"
|
|
|
13:30 |
|
Lunch |
|
Lunch |
Lunch |
Lunch |
|
15:00 |
Rust GCC Front-end
David Faust, Philip Herron
"Herbert"
|
RV: where are we?
Daniel Bristot de Oliveira
"Lansdowne"
|
systemd cgroup delegation and control processes
Michal Koutný
"Meeting 1&2"
|
Btrfs BoF
Chris Mason
"Meeting 6"
|
New userspace API for display-panel brightness control
Hans de Goede
"Meeting 9"
|
BPF Signing and IMA integration
KP Singh
"Pembroke"
|
Integrating testing with maintainer flows
Veronika Kabatova, Mark Brown
"Ulster & Munster"
|
15:25 |
#snapsafe: restoring uniqueness in Virtual Machine clones
Babis Chalios
"Meeting 1&2"
|
15:30 |
rustc_codegen_gcc: A gcc codegen for the Rust compiler
Antoni Boucher
"Herbert"
|
Revisiting eBPF Seccomp Filters
Jinghao Jia, Tianyin Xu
"Pembroke"
|
Checking your work: Linux kernel testing and CI
David Vernet
"Ulster & Munster"
|
15:45 |
Modularization for Lockdep
Boqun Feng
"Lansdowne"
|
15:50 |
Making syzbot reports more developer-friendly
Aleksandr Nogikh
"Ulster & Munster"
|
16:00 |
Rust for Linux: Status Update
Wedson Almeida Filho, Miguel Ojeda
"Herbert"
|
State of kprobes/trampolines batch attachment
Jiri Olsa
"Pembroke"
|
16:10 |
Slimming down the journal
Daan De Meyer
"Meeting 1&2"
|
Designing UAPI for Fuzz-ability
Dmitry Vyukov
"Ulster & Munster"
|
16:30 |
Break |
Break |
Break |
Break |
Break |
Break |
16:50 |
Break |
17:00 |
Linux Rust NVMe Driver Status Update
Andreas Hindborg
"Herbert"
|
Make RCU do less (save power)!
Rushikesh Kadam, Uladzislau Rezki, Joel Fernandes
"Lansdowne"
|
Towards Secure Unified Kernel Images for Generic Linux Distributions and Everyone Else
Lennart Poettering
"Meeting 1&2"
|
Linux from power-reset: status, challenges, and opportunities
Ron Minnich, Jonathan Zhang
"Meeting 6"
|
Timed I/O: Introducing Precisely Timed Platform I/O Driven by the System Clock
Christopher Hall
"Meeting 9"
|
Developing eBPF profiler for polyglot cloud-native applications
Javier Honduvilla Coto, Vaishali Thakkar
"Pembroke"
|
The emerging of the virtual QA team for Linux kernel
philip li
"Ulster & Munster"
|
17:20 |
KUnit: Function Redirection and More
David Gow, Brendan Higgins
"Ulster & Munster"
|
17:30 |
The Integration of Rust with Kernel Testing Service
Yujie Liu
"Herbert"
|
Performance insights into eBPF step by step
Dmitrii Dolgov
"Pembroke"
|
17:40 |
|
How to introduce KUnit to physical device drivers?
Maíra Canal, Isabella Basso, Magali Lemes, Tales da Aparecida
"Ulster & Munster"
|
17:45 |
Restartable Sequences: Scheduler-Aware Scaling of Memory Use on Many-Core Systems
Mathieu Desnoyers
"Lansdowne"
|
New design for initrds
Zbigniew Jędrzejewski-Szmek
"Meeting 1&2"
|
18:00 |
Rust in the Kernel (via eBPF)
Michal Rostecki, Dave Tucker
"Herbert"
|
|
Simple KernelCI Labs with Labgrid
Jan Lübbe
"Ulster & Munster"
|
|
13 Sept 2022 |
Time |
"Herbert" |
"Lansdowne" |
"Meeting 1&2" |
"Meeting 6" |
"Meeting 9" |
"Pembroke" |
"Ulster & Munster" |
10:00 |
Upstream & Guest Distro support for Confidential Compute
Jianxiong Gao
"Herbert"
|
How I started chasing speculative type confusion bugs in the kernel and ended up with 'real' ones
Jakob Koschel
"Lansdowne"
|
High memory management API changes
Ira Weiny
"Meeting 1&2"
|
A NUMA interface for futex2
André Almeida
"Meeting 6"
|
Accelerators BoF
David Airlie
"Meeting 9"
|
Machine reable description for netlink protocols (YAML?)
Jakub Kicinski
"Pembroke"
|
|
10:05 |
CPU isolation tuning through cpuset
Frederic Weisbecker
"Ulster & Munster"
|
10:20 |
Unmapped Private Memory for Confidential Guests
Michael Roth
"Herbert"
|
10:30 |
Mitigating speculative execution attacks with ASI - follow up
Junaid Shahid, Ofir Weisse
"Meeting 1&2"
|
Cilium's BPF kernel datapath revamped
Daniel Borkmann
"Pembroke"
|
10:40 |
Securely booting confidential VMs with encrypting disk
Tobin Feldman-Fitzthum, Dov Murik
"Herbert"
|
Isolation aware smp_call_function/queue_work_on APIs
Marcelo Tosatti
"Ulster & Munster"
|
10:45 |
Profiling data structures
Arnaldo Carvalho de Melo
"Lansdowne"
|
11:00 |
Using DICE Attestation for SEV and SNP Hardware Rooted Attestation
Peter Gonda
"Herbert"
|
Consolidating representations of the physical memory
Mike Rapoport
"Meeting 1&2"
|
A BPF map for online packet classification
Anton Protopopov
"Pembroke"
|
11:15 |
Make RCU do less (and disturb CPUs less)!
Uladzislau Rezki, Rushikesh Kadam, Joel Fernandes
"Ulster & Munster"
|
11:20 |
Hardening Linux guest kernel for CC
Elena Reshetova
"Herbert"
|
11:30 |
Break |
Break |
Break |
Break |
Break |
11:40 |
Break |
11:50 |
Break |
12:00 |
Inside the Linux Kernel Random Number Generator
Jason Donenfeld
"Lansdowne"
|
LoongArch: What we will do next
Xuerui WANG, Jianmin Lv, Huacai Chen
"Meeting 1&2"
|
RCU Office Hours BoF
Paul McKenney
"Meeting 6"
|
GPU/Graphics - Userspace console - cgroups - BOF
David Airlie
"Meeting 9"
|
How to share IPv4 addresses by partitioning the port space
Jakub Sitnicki, Marek Majkowski
"Pembroke"
|
12:10 |
The elephants in the confidential room: Attestation and verification
Samuel Ortiz
"Herbert"
|
12:20 |
CPU isolation vs jailbreaking IPIs
Valentin Schneider
"Ulster & Munster"
|
12:30 |
Identifying and Eliminating Contention from Booting Concurrent SNP VMs
Jacky Li, Marc Orr
"Herbert"
|
Extending EFI support in Linux to new architectures
Ilias Apalodimas, Ard Biesheuvel
"Meeting 1&2"
|
Networking resource control with per-cgroup LSM
Stanislav Fomichev
"Pembroke"
|
12:45 |
Live in a world with multiple memory types
Ying Huang
"Lansdowne"
|
12:50 |
Testing Intel TDX functionality with new set of self tests
Sagi Shahar
"Herbert"
|
12:55 |
rtla osnoise: what is missing?
Daniel Bristot de Oliveira
"Ulster & Munster"
|
13:00 |
Make LL/SC arch has a strict forward guarantee
Ren Guo
"Meeting 1&2"
|
eBPF Standardization
Dave Thaler
"Pembroke"
|
13:10 |
Interrupt Security for AMD SEV-SNP
Ashish Kalra
"Herbert"
|
13:30 |
|
Lunch |
|
Lunch |
|
Lunch |
|
15:00 |
Intro |
Kernel Live Patching at Scale
Rik van Riel, Song Liu, David Vernet
"Lansdowne"
|
Intro
ATISH PATRA, Palmer Dabbelt
"Meeting 1&2"
|
Device attestation, secure channel setup / SPDM - how to make progress?
Lukas Wunner, Jonathan Cameron
"Meeting 6"
|
|
Bringing packet queueing to XDP
Toke Høiland-Jørgensen
"Pembroke"
|
rtla: what is next?
Daniel Bristot de Oliveira
"Ulster & Munster"
|
15:05 |
GKI experience
Elliot Berman
"Herbert"
|
The Odyssey of HWCAP on RISC-V platforms
"Ruinland" ChuanTzu Tsai
"Meeting 1&2"
|
|
15:20 |
Technical debt
Matthias Männich
"Herbert"
|
|
15:30 |
Hermetic builds with Bazel
Matthias Männich
"Herbert"
|
|
XDP gaining access to NIC hardware hints via BTF
Jesper Dangaard Brouer
"Pembroke"
|
Bringing Energy-Aware Scheduling to x86
Ricardo Neri, Len Brown
"Ulster & Munster"
|
15:40 |
RISC-V ACPI and UEFI Updates
Sunil V L
"Meeting 1&2"
|
|
15:45 |
STG for ABI monitoring
Giuliano Procida
"Herbert"
|
TCP memory isolation on multi-tenant servers
Christian Warloe, Wei Wang, Shakeel Butt
"Lansdowne"
|
|
15:55 |
|
Latency hints for CFS task
Vincent Guittot
"Ulster & Munster"
|
16:00 |
fw_devlink and parallelization updates
Saravana Kannan
"Herbert"
|
|
FW centric devices, NIC customization
Mark Bloch, Saeed Mahameed
"Pembroke"
|
16:10 |
What to do with kconfig.socs?
Conor Dooley
"Meeting 1&2"
|
|
16:15 |
Virtualization in Android
Serban Constantinescu, David Brazdil
"Herbert"
|
|
16:30 |
Cuttlefish and Kernel Dev
Ram Muthiah
"Herbert"
|
Break |
Break |
|
Break |
Break |
16:40 |
Break |
|
16:45 |
Break |
|
Linux Kernel Scheduling and split-LLC architectures: Overview, Challenges and Opportunities
Gautham R Shenoy, Prateek Nayak
"Ulster & Munster"
|
17:00 |
eBPF-based FUSE
Paul Lawrence
"Herbert"
|
Meta’s CXL Journey and Learnings in Linux
Jonathan Zhang
"Lansdowne"
|
Confidential Computing for RISC-V-based Platforms
RAVI SAHITA
"Meeting 1&2"
|
|
|
Socket termination for policy enforcement and load-balancing
Aditi Ghag
"Pembroke"
|
17:10 |
|
|
Limit the idle CPU search depth and use CPU filter during task wake up
Yun Wu, Chen Yu
"Ulster & Munster"
|
17:15 |
EROFS as a replacement for EXT4 and Squashfs
David Anderson
"Herbert"
|
|
|
17:30 |
MGLRU results on Android
Kalesh Singh
"Herbert"
|
Tuning in-kernel routines on RISC-V
Heiko Stuebner
"Meeting 1&2"
|
|
|
MPTCP: Extending kernel functionality with eBPF and Netlink
Matthieu Baerts
"Pembroke"
|
17:35 |
|
|
Linux needs a Scheduler QOS API -- and it isn't nice(2)
Len Brown
"Ulster & Munster"
|
17:45 |
io_uring in Android
Akilesh Kailash
"Herbert"
|
nouveau in the times of nvidia firmware and open source kernel module
David Airlie
"Lansdowne"
|
|
|
18:00 |
(Impact of) Recent CPU topology changes
Dietmar Eggemann, Ionela Voinescu
"Herbert"
|
RISC-V ftrace: working with preemption
Tao Chiu
"Meeting 1&2"
|
|
|
Percpu hashtab traversal measurement study
Brian Vazquez
"Pembroke"
|
PREEMPT_RT Q&A with tglx
Thomas Gleixner
"Ulster & Munster"
|
18:15 |
Dynamic Energy Model to handle leakage power
Lukasz Luba
"Herbert"
|
|
|
18:30 |
|
|
|
Getting the task placement right on split-LLC architectures
Gautham R Shenoy, Prateek Nayak
"Meeting 6"
|
|
|
|
|
14 Sept 2022 |
Time |
"Herbert" |
"Lansdowne" |
"Meeting 1&2" |
"Meeting 6" |
"Meeting 7" |
"Meeting 8" |
"Meeting 9" |
"Pembroke" |
"Ulster & Munster" |
09:55 |
|
|
|
|
|
|
|
|
Toolchain Track Welcome
Nick Desaulniers, Jose E. Marchesi
"Ulster & Munster"
|
10:00 |
Opening session
Stéphane Graber
"Herbert"
|
Regression tracking & fixing: current state, problems, and next steps
Thorsten Leemhuis
"Lansdowne"
|
Zoned MC Conference Kick Off
Matias Bjørling, Adam Manzanares
"Meeting 1&2"
|
|
|
|
Reusing the BPF CI
Quentin Monnet
"Meeting 9"
|
Putting firmware on the device: a Zephyr+Yocto+Mender hike
Josef Holzmayr
"Pembroke"
|
Where are we on security features?
Kees Cook, Qing Zhao
"Ulster & Munster"
|
10:05 |
Tracer namespaces
Mathieu Desnoyers
"Herbert"
|
A zone-aware cache system for distributed databases
Kuankuan Guo
"Meeting 1&2"
|
|
|
|
10:25 |
SSDFS: ZNS SSD ready file system with zero GC overhead
Viacheslav Dubeyko
"Meeting 1&2"
|
|
|
|
Open source FPGA NVMe accelerator platform for BPF driven ML processing with Linux/Zephyr
Karol Gugala
"Pembroke"
|
10:30 |
Restoring process trees with child-sub-reapers, nested pid-namespaces and inherit-only resources.
Pavel Tikhomirov
"Herbert"
|
|
|
|
Pressure feedback for LRU map types
Joe Stringer
"Meeting 9"
|
10:45 |
Modernizing the kdump dump tools
Philipp Rudo
"Lansdowne"
|
Improving data placement for Zoned Linux File systems
Hans Holmberg
"Meeting 1&2"
|
|
|
|
Status Report: Broken Dependency Orderings in the Linux Kernel
Marco Elver, Paul Heidekrüger
"Ulster & Munster"
|
10:55 |
|
|
|
Abusing zephyr and meta-zephyr
Eilís Ní Fhlannagáin
"Pembroke"
|
11:00 |
How can we make procfs safe?
Aleksa Sarai
"Herbert"
|
|
|
|
Closing the BPF map permission loophole
Lorenz Bauer
"Meeting 9"
|
11:05 |
Object caching on Zoned Storage
Hans Holmberg
"Meeting 1&2"
|
|
|
|
11:20 |
|
|
|
libgpiod V2: New Major Release with a Ton of New Features
Bartosz Golaszewski
"Pembroke"
|
11:25 |
Break |
|
|
|
11:30 |
Break |
Break |
Break |
|
|
Break |
Break |
11:45 |
cgroup rstat's advanced adoption
Michal Koutný
"Herbert"
|
Supporting non-power of 2 zoned devices
Pankaj Raghav
"Meeting 1&2"
|
|
|
11:50 |
|
|
Break |
12:00 |
Why is devm_kzalloc() harmful and what can we do about it
Laurent Pinchart
"Lansdowne"
|
Android MC BoF
Karim Yaghmour
"Meeting 6"
|
|
|
More CO-RE? Taming the effects of compiler optimizations on BPF tracing
Alan Maguire
"Meeting 9"
|
GCC's -fanalyzer and the Linux kernel
David Malcolm
"Ulster & Munster"
|
12:05 |
|
|
Linux IEEE 802.15.4 MLME improvements
Miquèl Raynal
"Pembroke"
|
12:10 |
Unprivileged CRIU
Younes Manton
"Herbert"
|
Zonefs: Features Roadmap
Damien Le Moal
"Meeting 1&2"
|
|
|
12:30 |
|
|
OPENED Tool for Managing eBPF Heterogeneity
Palanivel Kodeswaran, Sayandeep Sen, Theophilus Benson
"Meeting 9"
|
12:35 |
Restartable Sequences: Scaling Per-Core Shared Memory Use in Containers
Mathieu Desnoyers
"Herbert"
|
Btrfs RAID on zoned devices
Johannes Thumshirn
"Meeting 1&2"
|
|
|
All types of wireless in Linux are terrible and why the vendors should feel bad
Peter Robinson
"Pembroke"
|
12:45 |
Current Status and Future Plans of DAMON
SeongJae Park
"Lansdowne"
|
|
|
Kernel ABI Monitoring and Toolchain Support
Matthias Männich, Guillermo E. Martinez, Dodji Seketeli, Giuliano Procida
"Ulster & Munster"
|
13:00 |
Bringing up FUSE mounts C/R support
Alexander Mikhalitsyn
"Herbert"
|
Experiences implementing zonefs support in ZenFS
Jorgen Hansen
"Meeting 1&2"
|
|
|
The revival of the learning-sync bridgeport flag
Alexandra Winter
"Meeting 9"
|
Libre Silicon in IoT
Michael Welling
"Pembroke"
|
13:25 |
Closing session
Christian Brauner
"Herbert"
|
|
|
|
13:30 |
|
Lunch |
|
Lunch |
|
|
|
|
Lunch |
15:00 |
CXL MC Welcome and Kickoff
Adam Manzanares, Dan Williams
"Herbert"
|
What kernel documentation could be
Jonathan Corbet
"Lansdowne"
|
CUPS 2.5 and 3.0 Development
Michael Sweet
"Meeting 1&2"
|
|
|
|
The printk saga
John Ogness, Thomas Gleixner
"Meeting 9"
|
Frequency-invariance gaps in current kernel
Rui Zhang
"Pembroke"
|
Programmable debuggers and the Linux kernel (drgn, GDB+poke)
Elena Zannoni, Stephen Brennan, Jose E. Marchesi
"Ulster & Munster"
|
15:05 |
CXL Type-3 device discovery, configuration in firmware and prepare ACPI tables for kernel usage
Sayanta Pattanayak
"Herbert"
|
|
|
|
15:25 |
|
|
|
Unified structure for thermal zone device registration
Rui Zhang
"Pembroke"
|
15:30 |
CXL Dynamic Capacity MM
Navneet Singh, Jonathan Cameron
"Herbert"
|
|
|
|
15:45 |
Rust
Wedson Almeida Filho, Miguel Ojeda
"Lansdowne"
|
|
|
|
CTF Frame in the Linux kernel
Indu Bhagat
"Ulster & Munster"
|
15:50 |
|
|
|
Combining DTPM with the thermal control framework
Daniel Lezcano
"Pembroke"
|
15:55 |
CXL and confidential computing
Jérôme Glisse
"Herbert"
|
|
|
|
16:00 |
Testing and CI for OpenPrinting projects
Michael Sweet, Till Kamppeter
"Meeting 1&2"
|
|
|
|
16:05 |
|
|
|
Toolchain support for objtool in the Linux kernel
Josh Poimboeuf
"Ulster & Munster"
|
16:15 |
|
|
|
Break |
16:20 |
Break |
|
|
|
16:25 |
|
|
|
Energy model accuracy
Morten Rasmussen
"Pembroke"
|
16:30 |
Break |
Break |
Break |
|
Break |
Break |
Break |
16:45 |
Design and implementation of Autocaching for CXLSSD
Heekwon Park
"Herbert"
|
Restricting access to IPP printers with OAuth2 framework
Piotr Pawliczek
"Meeting 1&2"
|
|
16:50 |
|
A generic energy model description
Daniel Lezcano
"Pembroke"
|
17:00 |
Zettalinux: It's Not Too Late To Start
Matthew Wilcox
"Lansdowne"
|
|
|
systemd BoF
Lennart Poettering, Zbigniew Jędrzejewski-Szmek
"Meeting 8"
|
DAMON Beer/Coffee/Tea Chat
SeongJae Park
"Meeting 9"
|
Linux Kernel Control-Flow Integrity Support
Peter Zijlstra, Sami Tolvanen, Mark Rutland, Joao Moreira
"Ulster & Munster"
|
17:10 |
CXL hotplug: spec to reality
PJ Waskiewicz
"Herbert"
|
|
|
17:15 |
|
|
CPUfreq/sched and VM guest workload problems
Saravana Kannan
"Pembroke"
|
17:30 |
Documentation for OpenPrinting projects
Aveek Basu, Till Kamppeter
"Meeting 1&2"
|
|
|
17:35 |
Linux plumbing of CXL error reporting
Robert Richter, Yazen Ghannam
"Herbert"
|
|
|
17:40 |
|
|
Break |
17:45 |
The Maple Tree
Liam Howlett
"Lansdowne"
|
|
|
|
17:50 |
|
|
Linux per cpu idle injection
Srinivas Pandruvada
"Pembroke"
|
|
18:00 |
CXL 2.0+ Emulation With QEMU Status, requirements and roadmap.
Jonathan Cameron
"Herbert"
|
Sandboxing/Containerizing alternatives to Snap for Printer Applications or CUPS
Valentin Viennot, Michael Sweet, Till Kamppeter
"Meeting 1&2"
|
|
|
|
18:10 |
|
|
Fine grain frequency control with kernel governors
Ray Huang
"Pembroke"
|
|
18:20 |
|
|
Isolation for broken hardware during system suspend
Rui Zhang
"Pembroke"
|
|