| Deutsch English Français Italiano |
|
<jwv4iz75l6k.fsf-monnier+comp.arch@gnu.org> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Stefan Monnier <monnier@iro.umontreal.ca>
Newsgroups: comp.arch
Subject: Re: Constant Stack Canaries
Date: Tue, 01 Apr 2025 22:55:56 -0400
Organization: A noiseless patient Spider
Lines: 18
Message-ID: <jwv4iz75l6k.fsf-monnier+comp.arch@gnu.org>
References: <vsbcnl$1d4m5$1@dont-email.me> <vsc058$20pih$1@dont-email.me>
<4cf60b5fd8b785feb07a67a823cc349d@www.novabbs.org>
<vseeen$l4ig$1@dont-email.me> <vseiq9$qndj$1@dont-email.me>
<e05e9d429f71944bbfe74c3f54b79a03@www.novabbs.org>
<vseojq$112f7$1@dont-email.me>
<62b5c4a25d917c5bab64a815189de826@www.novabbs.org>
<vshf6a$3smcv$1@dont-email.me>
<21397906a7a77c2d43191fdaab98a3c9@www.novabbs.org>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Date: Wed, 02 Apr 2025 04:55:57 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="bd4dc4467a8c1f72b8f0d016a7af6921";
logging-data="782164"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+6Uyw/CEYjYbVhmhTCsC0DOvTBKnrsth0="
User-Agent: Gnus/5.13 (Gnus v5.13)
Cancel-Lock: sha1:/Rp35Wix3HJjmqrPeySihi9hork=
sha1:sb1OaQ2EUS6eJIVqMvPlW3oE2b4=
Bytes: 2054
>> Say, if you load a single copy of a binary at 0x24680000.
>> Process A and B can't use the same mapping in the same address space,
>> with PC-rel globals, as then they would each see the other's globals.
>
> Say I load a copy of the binary text at 0x24680000 and its data at
> 0x35900000 for a distance of 0x11280000 into the address space of
> a process.
>
> Then I load another copy at 0x44680000 and its data at 55900000
> into the address space of a different process.
But then if thread A (whose state is stored at 0x35900000) sends to
thread B (whose state is at 55900000) a closure whose code points
somewhere inside 0x24680000, it will end up using the state of thread
A instead of the state of the current thread.
Stefan