Deutsch   English   Français   Italiano  
<slrnrvuuq8.298.naddy@lorvorc.mips.inka.de>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!tr3.iad1.usenetexpress.com!feeder.usenetexpress.com!tr2.eu1.usenetexpress.com!feeder1.feed.usenet.farm!feed.usenet.farm!weretis.net!feeder8.news.weretis.net!news.szaf.org!inka.de!mips.inka.de!.POSTED.localhost!not-for-mail
From: Christian Weisgerber <naddy@mips.inka.de>
Newsgroups: fr.comp.os.bsd
Subject: Re: Fichier binaire d'un daemon writable ssi le damon est =?UTF-8?Q?stopp=C3=A9?=
Date: Wed, 13 Jan 2021 22:59:20 -0000 (UTC)
Message-ID: <slrnrvuuq8.298.naddy@lorvorc.mips.inka.de>
References: <5ffca81a$0$6449$426a74cc@news.free.fr> <slrnrvpiav.ofa.naddy@lorvorc.mips.inka.de> <5ffcf526$0$6458$426a74cc@news.free.fr> <slrnrvre0o.1bha.naddy@lorvorc.mips.inka.de> <5ffdeaa9$0$4026$426a74cc@news.free.fr> <slrnrvs1rb.1j81.naddy@lorvorc.mips.inka.de> <5ffe5345$0$16187$426a34cc@news.free.fr>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 13 Jan 2021 22:59:20 -0000 (UTC)
Injection-Info: lorvorc.mips.inka.de; posting-host="localhost:::1"; logging-data="3541"; mail-complaints-to="usenet@mips.inka.de"
User-Agent: slrn/1.0.3 (FreeBSD)
Bytes: 2546
Lines: 30

On 2021-01-13, Francois Lafont <francois.lafont@nospam.invalid> wrote:

> 1. sur un Linux (en tout cas sur ma Ubuntu 18.04) access() ne renvoie pas d'erreur
> sur un ETXTBSY (même si la page man access(2) de ma Ubuntu ne le mentionne nulle
> part et mentionne même clairement le contraire).

La page dit:

| access() and faccessat() may fail if:
....
| ETXTBSY
|        Write access was requested to an executable which is being
|        executed.
https://man7.org/linux/man-pages/man2/access.2.html

C'est « may », donc il est permis, il se peut que ça renvoie une
telle erreur. Cette formulation est floue et quasi copiée-collée
de POSIX.

> J'ai encore une dernière petite interrogation si possible : la vérité ultime
> c'est donc que le binaire n'est pas modifiable quand il est en cours d'exécution
> (sur un Unix), mais alors pourquoi diable sur Linux les développeurs ont-ils
> voulu implémenter une fonction access() qui ne dit pas la vérité (elle dit que
> c'est modifiable alors que c'est faux) ? J'avoue que la logique m'échappe un peu.

J'imagine qu'ils pensent que la fonctionnalité d'access() est
seulement de vérifier les permissions du inode et qu'un ETXTBSY est
une situation exceptionnelle au-dehors de ce qu'access() doit faire.

-- 
Christian "naddy" Weisgerber                          naddy@mips.inka.de