From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: from second.openwall.net (second.openwall.net [193.110.157.125]) by inbox.vuxu.org (Postfix) with SMTP id EC8B124ADC for ; Tue, 19 Mar 2024 13:59:32 +0100 (CET) Received: (qmail 27692 invoked by uid 550); 19 Mar 2024 12:55:02 -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 25906 invoked from network); 19 Mar 2024 11:16:14 -0000 X-Env-Mailfrom: aaron_ng@inode.at X-Env-Rcptto: musl@lists.openwall.com X-SourceIP: 85.127.183.170 X-CNFS-Analysis: v=2.4 cv=WLfcXWsR c=1 sm=1 tr=0 ts=65f97500 a=EGcOpCTuptRmag7BTP1Y/Q==:117 a=EGcOpCTuptRmag7BTP1Y/Q==:17 a=IkcTkHD0fZMA:10 a=5KEJ3k9QAAAA:8 a=-SoMvKfTAAAA:8 a=zNIsxtAmI8inHpGjG9YA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=olg2BfGzmf2haRflzj8J:22 a=zb3qCS2OI_lOj0iQqKOG:22 X-Authenticated-Sender: aaron_ng@inode.at DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=inode.at; s=201801custpemceu; t=1710847232; bh=LRiW5M9xS4/fW+RUtEmq5iBGFKIxZOj3/6DeGZ3xICY=; h=Date:From:Subject:To; b=zWIg3nNIqsnYmorb/i7/IJFdzNwyy0PkowwI8knvNFWHN13+gA2hn0QLwVZBNsay5 s7bLO+1j1X1FYpIUagKIM0SZ2kl0890rNCf1X7kSsLKXzJuc5hRkEZ5SWEZyDO1oAR VDwH5KzhmUmADWkqc+d0vxbayQApMdGZumEHYp7DNKyrvLEX3/E1S9xOwCRzP0WyZX hnGHiuYB7Mho+gylDsKj0nL0osqj77SJjPx+k30dv+B6GgXBxRYZXA8zyf6/Y2Rvzm RpAxBkQ04n+RDdCeT6hpgFu2KSr9vCXOnvicvzvqzkO0o4e5l2c6aQdNsh2+CZQqXx JsdSkbSAK+JNQ== Message-ID: <1ad1a194-f2f5-4ae1-9686-67961086e605@inode.at> Date: Tue, 19 Mar 2024 12:18:20 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US, de-DE From: Aaron Peter Bachmann To: musl@lists.openwall.com Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-CMAE-Envelope: MS4xfF6C9RPEHCmy9c3dZ5zubTjMij/q7LNkKNN+ou5hvk6WRZz9MIh9WNv52NYzTAKR24wTsH817xYxutyZ0y0StqWFqDdv9XzNex5IRAZHNWdeZCnkMNuc 9gqBTsENST7uiPnB2+6lMVxL41p+K6pcYGkk+fLm4MZrgVZsDaepZTKtNDtLDpdT/YbW4cduAoi3/NtYS09qP30ZwpnUvJri8+U= Subject: [musl] c23 memset_explicit() I recognized neither https://git.musl-libc.org/cgit/musl nor https://forge.icube.unistra.fr/icps/musl/-/branches seem to include c23 memset_explicit(). Or it slipped my attention. So I provide a patch. It compiles but is otherwise untested. It is trivial enough that you would spot an error when merging. No guards for c23 as mem is a reserved prefix. It closely follows explicit_bzero.c. So I assume it fits into the coding style musl uses. Regards, Aaron Peter Bachmann diff --git a/include/string.h b/include/string.h index 83e2b946..563b3b0a 100644 --- a/include/string.h +++ b/include/string.h @@ -27,6 +27,7 @@ extern "C" {  void *memcpy (void *__restrict, const void *__restrict, size_t);  void *memmove (void *, const void *, size_t);  void *memset (void *, int, size_t); +void *memset_explicit(void *, int, size_t);  int memcmp (const void *, const void *, size_t);  void *memchr (const void *, int, size_t); diff --git a/src/string/memset_explicit.c b/src/string/memset_explicit.c new file mode 100644 index 00000000..ac54f0cf --- /dev/null +++ b/src/string/memset_explicit.c @@ -0,0 +1,8 @@ +#include + +void *memset_explicit(void *d, int c, size_t n) +{ +       d = memset(d, c, n); +       __asm__ __volatile__ ("" : : "r"(d) : "memory"); +       return d; +}