From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 12850 invoked from network); 13 Apr 2022 10:58:20 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 13 Apr 2022 10:58:20 -0000 Received: (qmail 15598 invoked by uid 550); 13 Apr 2022 10:58:17 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 24169 invoked from network); 13 Apr 2022 09:04:41 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1649840669; bh=b5L9u0wh8RaDqb+Z6Zvx5fCeJLRTx32t54RdEj0HpMk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=iYahH7x1WymG2QBarHmHCQzaxX4U/91vDt4KgvdHWjglx34hD7nrp+ok6RSlOkItm n+0WqGDgTMgp7LlCF4ChYzVOoZEvycCLwHgJlgtbLhA4xFj0ygwiSPIT8Wyu0/iih4 qWA/I9WR4azGtFLXCoG5xo/1BILaoXVmymLOwxzZSc+/8111mdehxemtAy9v+r80nF pg4Sm+1G8dMAh9yhoiAVn0GYR3jIX+ZXmmPcjTw/hR32jaC38SaNSPzBNE4loqrR/T 85DCu6hWUQOrGrNJ+XYFwW1nWWJgwXHmUoU5weGz3Gd/ulukAz3PqHOq0iKxOxJeQ4 RoxM7xMvoCwEQ== Date: Wed, 13 Apr 2022 11:04:25 +0200 From: Christian Brauner To: Arnd Bergmann Cc: musl@lists.openwall.com Message-ID: <20220413090425.rmprwzpgpztianin@wittgenstein> References: <20220406160042.GB8499@voyager> <8dfcd620-4143-7450-8429-a89ed2264620@loongson.cn> <20220409131939.GK7074@brightrain.aerifal.cx> <20220409133044.GL7074@brightrain.aerifal.cx> <20220413072606.44wwkk64xshn5mmm@wittgenstein> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Subject: Re: [musl] Re: add loongarch64 port On Wed, Apr 13, 2022 at 10:26:06AM +0200, Arnd Bergmann wrote: > On Wed, Apr 13, 2022 at 9:26 AM Christian Brauner wrote: > > On Sun, Apr 10, 2022 at 12:30:59PM +0200, Arnd Bergmann wrote: > > > On Sat, Apr 9, 2022 at 3:31 PM Rich Felker wrote: > > > > > > > > Actually, if there aren't yet archs lacking SYS_clone, this API > > > > regression may be a good argument not to drop SYS_clone on new archs > > > > yet until there's a way for new archs to get the same behavior > > > > (unspecified stack size). > > > > > > That is a good point, but it also appears that the behavior of > > > clone3() is unintentional > > > here, I'm fairly sure it was meant to be a drop-in replacement for clone() with > > > additional features. > > > > Mostly but not in all ways. We did decide it's ok to make API > > improvements that might break compatibility with legacy clone(). > > Ok > > > > > > > Not sure what the best fix for this is, as the check for size==0 was clearly > > > intentional, but seems to prevent this from working. A special flag to ignore > > > the size, or a magic size value like -1ull might work, but neither of them > > > is a great interface. > > > > Can someone explain the use-case in a bit more detail, please? > > > > If it is a legitimate use-case that callers need to be able to pass a > > stack and have no way of also passing a size then we should just remove > > the size == 0 check for all architectures that don't have a hard > > requirement on passing a size together with the stack pointer. > > > > Wdyt, Arnd? > > The normal rule is that we don't define obsolete system calls in new > architectures when an improved variant has been added, e.g. oldoldstat, > oldstat, stat, newstat and stat64 have all been replaced by statx over > the decades. I was expecting the same to be true for clone(), but if > clone3() is not meant as a replacement, we can keep both around. No, I agree with you on this and would like to only implement clone3() on new architectures. What I'm asking is whether removing the size == 0 check is enough to unblock the missing behavior and whether you'd be on board with removing the check?