Talks to Watch

Surge 2015 - Lightning Talks

12K views · Nov 29, 2015 · 1:19:43 · 0 HN recommenders · 3 mentions · discussed 2017–2020

A collection of lightning talks from the Surge 2015 conference on scalable systems, hosted by Geir Magnusson. HN mostly points to one segment, a Bryan Cantrill talk touching on madvise semantics.

Why Hacker News points people here: Cited as a classic Cantrill talk when threads discuss madvise, malloc and Dirty COW behavior.

“This instantly reminded me of this classic Bryan Cantrill talk”HN comment, 2020

What Hacker News said 3

Cites itmannykannotMay 2017

Cantrill's talk touching on madvise semantics relevant to Dirty COW

Full comment

Perhaps the talk[1] given by Bryan Cantrill in 2015, and mentioned in footnote 1 of the article, may have alerted someone to the possibility that there might be something exploitable here? In addition, any of the other online discussions of madvise(,,MADV_DONTNEED), mentioned in that talk, may have attracted someone's interest. This exploit seems to lie at the intersection of several things that I guess might indicate a higher-than-average risk of exploitability: shared memory, special provisions for debugging access to running processes, complicated and unintuitive (if not broken) semantics, and concurrency. [1] this video

in “How Dirty COW works from the Linux kernel’s perspective” · view on HN
Cites itgbrown_Jan 2020

“This instantly reminded me of this classic Bryan Cantrill talk”

Bryan Cantrill talk on madvise behavior

Full comment

From the paper. > and subsequently allow the kernel to immediately reuse the associated physical memory. On Linux, this can be achieved by passing the MADV_DONTNEED flag to the the madvise system call. Shouldn't this be MADV_FREE? This instantly reminded me of this classic Bryan Cantrill talk this video Edit: It seems that the Linux behavior is relied upon? From later in the paper. > Note that it is even legal for a page to be unloaded while the page con-tent is being read optimistically. This is possible since the virtual memory region reserved for a buffer frame always remains valid (see above), and read accesses to a memory region that was marked with the MADV_DONTNEED flag simply result in zero bytes. No additional physical memory is allocated in this case, as all such accesses are mapped to the same zero page

in “Umbra: an ACID-compliant database built for in-memory analytics speed” · view on HN
Cites itkevinoidMar 2020

“It was also a subject of Bryan Cantril's hilarious”

Hilarious Cantrill talk covering madvise semantics, around 1:06:50

Full comment

Although this is true on Linux, it's worth noting that this behavior doesn't match the specified behavior of posix_madvise.[1] It was also a subject of Bryan Cantril's hilarious "A crime against common sense" Surge 2015 talk (at ~1:06:50).[2] [1]: link [2]: this video

in “Glibc malloc inefficiency (2016)” · view on HN