Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 31 Oct 2014 12:09:13 -0400
From: Rich Felker <>
Subject: Re: magic constants in some startup code

On Fri, Oct 31, 2014 at 10:31:45AM -0400, Richard Gorton wrote:
> Thank you (and a follow up question) - what code looks at this
> canary? It is assigned to pthread_self()->canary, but I do not see
> any code inside musl itself that checks that value? A work in
> progress? Or does other code check this value?

It's part of the stack-protector feature at the compiler level. gcc,
clang, and any other compilers that implement this feature generate
code to read the canary at the start of a function protected by stack
protector, store it between the saved return address and local
buffers, and check that it hasn't been clobbered before returning.


Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.