Deutsch   English   Français   Italiano  
<vsmg8a$16gr3$1@dont-email.me>

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: BGB <cr88192@gmail.com>
Newsgroups: comp.arch
Subject: Re: Constant Stack Canaries
Date: Thu, 3 Apr 2025 12:22:57 -0500
Organization: A noiseless patient Spider
Lines: 32
Message-ID: <vsmg8a$16gr3$1@dont-email.me>
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>
 <jwv4iz75l6k.fsf-monnier+comp.arch@gnu.org> <vsidun$sput$2@dont-email.me>
 <jwvtt752vg1.fsf-monnier+comp.arch@gnu.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 03 Apr 2025 19:24:26 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="a7d2e5b2e6e147929ab1679437fac851";
	logging-data="1262435"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/Om3ytXbGsp9cDVtxbz+Y/paJ28EH7wQo="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:uBtC84Wan4txeLVeTDHQoQrRKgY=
Content-Language: en-US
In-Reply-To: <jwvtt752vg1.fsf-monnier+comp.arch@gnu.org>
Bytes: 2746

On 4/3/2025 9:09 AM, Stefan Monnier wrote:
> BGB [2025-04-01 23:19:11] wrote:
>> But, yeah, inter-process function pointers aren't really a thing, and should
>> not be a thing.
> 
> AFAIK, this point was brought in the context of a shared address space
> (I assumed it was some kind of SASOS situation, but the same thing
> happens with per-thread data inside a POSIX-style process).
> Function pointers are perfectly normal and common in data (even tho they
> may often be implicit, e.g. within the method table of objects), and the
> whole point of sharing an address space is to be able to exchange data.
> 

Or, to allow for NOMMU operation, or reduce costs by not having context 
switches result in as large of numbers of TLB misses.

Also makes the kernel simpler as it doesn't need to deal with each 
process having its own address space.


Some data sharing is used for IPC, but directly sharing function 
pointers between processes, or local memory (stack, malloc, etc), is not 
allowed.


Though, things may change later, there is a plan to more to separate 
global/local address ranges. Likely things like code will remain in the 
shared range, and program data will be in the local range.

> 
>          Stefan