Harishankar Vishwanathan

dblp:243/0111 · DBLP profile ↗
← Back
5ranked-venue papers
3as first author
4since 2021 · last 2025
0009-0001-7714-602XORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 4 · 2 first-author · 4 since 2021Systems, architecture and hardware · 1 · 1 first-author · 1 since 2021Computer networks · 1 · 1 first-authorTheory of computation · 1 · 1 first-author · 1 since 2021
YearPublicationVenuePosition
2025 Comparing the Precision of Abstract Operators in the eBPF Verifier Using Differential Synthesis
Matan Shachnai, Harishankar Vishwanathan, Srinivas Narayana, Santosh Nagarakatte
SAS2
2024 Fixing Latent Unsound Abstract Operators in the eBPF Verifier of the Linux Kernel
Matan Shachnai, Harishankar Vishwanathan, Srinivas Narayana, Santosh Nagarakatte
SAS2
2023 Verifying the Verifier: eBPF Range Analysis Verification
abstract
Abstract This paper proposes an automated method to check the correctness of range analysis used in the Linux kernel ’s eBPF verifier. We provide the specification of soundness for range analysis performed by the eBPF verifier. We automatically generate verification conditions that encode the operation of the eBPF verifier directly from the Linux kernel ’s C source code and check it against our specification. When we discover instances where the eBPF verifier is unsound, we propose a method to generate an eBPF program that demonstrates the mismatch between the abstract and the concrete semantics. Our prototype automatically checks the soundness of 16 versions of the eBPF verifier in the Linux kernel versions ranging from 4.14 to 5.19. In this process, we have discovered new bugs in older versions and proved the soundness of range analysis in the latest version of the Linux kernel.
Harishankar Vishwanathan, Matan Shachnai, Srinivas Narayana, Santosh Nagarakatte
CAV (3)1
2022 Sound, Precise, and Fast Abstract Interpretation with Tristate Numbers
abstract
Extended Berkeley Packet Filter (BPF) is a language and run-time system that allows non-superusers to extend the Linux and Windows operating systems by downloading user code into the kernel. To ensure that user code is safe to run in kernel context, BPF relies on a static analyzer that proves properties about the code, such as bounded memory access and the absence of operations that crash. The BPF static analyzer checks safety using abstract interpretation with several abstract domains. Among these, the domain of tnums (tristate numbers) is a key domain used to reason about the bitwise uncertainty in program values. This paper formally specifies the tnum abstract domain and its arithmetic operators. We provide the first proofs of soundness and optimality of the abstract arithmetic operators for tnum addition and subtraction used in the BPF analyzer. Further, we describe a novel sound algorithm for multiplication of tnums that is more precise and efficient (runs 33% faster on average) than the Linux kernel’s algorithm. Our tnum multiplication is now merged in the Linux kernel.
Harishankar Vishwanathan, Matan Shachnai, Srinivas Narayana, Santosh Nagarakatte
CGO1
2019 Partitioning Garbage Collection Between the Secure and Normal Worlds for Trusted Applications
abstract
Trusted Applications (TAs) written for Trusted Execution Environments (TEEs) using ARM TrustZone are currently written in C; there is limited support for higher-level languages. This leads to common manual memory management problems like buffer overflow and use-after-free. Higher-level languages, which have managed runtimes, allow for automated memory management, the benefits of which are widely accepted. To allow for automated memory management of TAs, we need to have a runtime that handles allocation and garbage collection (GC). However, having the entire allocator and GC in the secure world would increase the Trusted Computing Base (TCB) of the secure world. We propose TrustGC, a mechanism to partition garbage collection and allocation between the secure world and the normal world. TrustGC allows for automated memory management of TAs by leveraging the help of a GC partly running in the normal world.
Harishankar Vishwanathan, Chang Min Park, Sidharth Kumar Mishra, Karthik Dantu, Steven Y. Ko, Lukasz Ziarek
MobiSys1