From patchwork Wed Nov 16 15:08:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tulio Magno Quites Machado Filho X-Patchwork-Id: 60704 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A2012395B07E for ; Wed, 16 Nov 2022 15:09:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A2012395B07E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1668611379; bh=7GtcO1VF4/55gF0uTYk0PIiZfnJjtU50vYI8HO8gbfI=; h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=WvOFQqJlDOZJwUnMlXGarmXk96iKvWlku7QCr4e87iT9ZSL/t6ZH5U7tTeeRkSQG5 gCkJC/08UcNqbk6zXrCvE22kI/I5XgSMIqlqVMHUpjZxzMmeNgXX3Svn0f6u/r99+S erwi637PvBs6l4nmkR7HGhJfJfB1+xKSfBV1y1DE= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from purple.birch.relay.mailchannels.net (purple.birch.relay.mailchannels.net [23.83.209.150]) by sourceware.org (Postfix) with ESMTPS id A91BA395B41F for ; Wed, 16 Nov 2022 15:09:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A91BA395B41F X-Sender-Id: dreamhost|x-authsender|tuliom@ascii.art.br Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 21497502BB0; Wed, 16 Nov 2022 15:09:12 +0000 (UTC) Received: from pdx1-sub0-mail-a260.dreamhost.com (unknown [127.0.0.6]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 4BC0E50283F; Wed, 16 Nov 2022 15:09:11 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1668611351; a=rsa-sha256; cv=none; b=ySPoE0IJHyWgmNit5gNlE9i50RHwUDiZmQqZ23RXDgnP90Ep6+Jx1KKBCOodtu2FocqVl8 vJeilhzuOAUgrSIObNEBjodwFbHA4tCAl8OpYz4WujifpV4zD3bgayghVcJ2GUw6QASUaY +XCBex69LEUV+G9JYGKQm4Va+NyOhLa8lhTFCWQMb14axFOHVuKkvBWuRmomNwUesBsrpJ x9XHYTzNruj8vysn74inEUv7/30DwjtTZknUNJPCApQtd6zmH1qKbQpBH73UE4/bZIEANU VSUC6LAXqV828xcPT+hn7KXORpFcjuFJ2LpMF+Bb73JU85GAy3JcIK1u7fPbzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1668611351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:dkim-signature; bh=7GtcO1VF4/55gF0uTYk0PIiZfnJjtU50vYI8HO8gbfI=; b=Y8QsdpaM/Py33Q1qx/9lnVUgYQtZthJRYKLVaNDaLhvH+1xMfQtFatTHeN8dYa2wJKBXUU 4zN5AGzPJenrpgnO12KWW2P6i012USVMZ1JonWKx9Ey2goHX8ndZA6eEVXmBtTbvY9sFKu lvVcyospsebOVBU7fYEiMFHhAGGZPXUv9Uf9epL2WGT4SKFGpyJHCCvGOPFNjAL1kroalT Z+XG8Dn4C8fp1UKoyAjwzBZ2Sob9Gnet4umJb9tDXDRsJcaDmqmEALx3lWaggWIFE6VoCF iJmweQJ1d0+WpkTuX/MAUsKSH3iNvtzEm8qUSdOfFISAo7AijnvAe8kat23oJA== ARC-Authentication-Results: i=1; rspamd-7f9bbcf788-zw4hm; auth=pass smtp.auth=dreamhost smtp.mailfrom=tuliom@ascii.art.br X-Sender-Id: dreamhost|x-authsender|tuliom@ascii.art.br X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|tuliom@ascii.art.br X-MailChannels-Auth-Id: dreamhost X-Coil-Abiding: 6aa5fe157e3600f2_1668611351586_1946909832 X-MC-Loop-Signature: 1668611351586:1530618085 X-MC-Ingress-Time: 1668611351585 Received: from pdx1-sub0-mail-a260.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.97.48.93 (trex/6.7.1); Wed, 16 Nov 2022 15:09:11 +0000 Received: from ascii.art.br (ip-191-5-81-152.isp.valenet.com.br [191.5.81.152]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: tuliom@ascii.art.br) by pdx1-sub0-mail-a260.dreamhost.com (Postfix) with ESMTPSA id 4NC5zp3gpYz57; Wed, 16 Nov 2022 07:09:10 -0800 (PST) To: libc-alpha@sourceware.org Cc: carlos@redhat.com Subject: [PATCH] Apply asm redirections in syslog.h before first use [BZ #27087] Date: Wed, 16 Nov 2022 12:08:03 -0300 Message-Id: <20221116150803.1990947-1-tuliom@ascii.art.br> X-Mailer: git-send-email 2.37.3 MIME-Version: 1.0 X-Spam-Status: No, score=-8.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Tulio Magno Quites Machado Filho via Libc-alpha From: Tulio Magno Quites Machado Filho Reply-To: Tulio Magno Quites Machado Filho Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" From: Tulio Magno Quites Machado Filho Similar to d0fa09a770, but for syslog.h when _FORTIFY_SOURCE > 0. Fixes [BZ #27087] by applying long double-related asm redirections before using functions in bits/syslog.h. Tested with build-many-glibcs.py. Reviewed-by: Adhemerval Zanella --- misc/bits/syslog.h | 18 ++++++++++++++---- misc/sys/syslog.h | 10 +++++----- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/misc/bits/syslog.h b/misc/bits/syslog.h index fd30dd3114..916d2b6f12 100644 --- a/misc/bits/syslog.h +++ b/misc/bits/syslog.h @@ -24,6 +24,20 @@ extern void __syslog_chk (int __pri, int __flag, const char *__fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4))); +#ifdef __USE_MISC +extern void __vsyslog_chk (int __pri, int __flag, const char *__fmt, + __gnuc_va_list __ap) + __attribute__ ((__format__ (__printf__, 3, 0))); +#endif + +#include +#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# include +#endif + +/* The following functions must be used only after applying all asm + redirections, e.g. long double asm redirections. */ + #ifdef __va_arg_pack __fortify_function void syslog (int __pri, const char *__fmt, ...) @@ -37,10 +51,6 @@ syslog (int __pri, const char *__fmt, ...) #ifdef __USE_MISC -extern void __vsyslog_chk (int __pri, int __flag, const char *__fmt, - __gnuc_va_list __ap) - __attribute__ ((__format__ (__printf__, 3, 0))); - __fortify_function void vsyslog (int __pri, const char *__fmt, __gnuc_va_list __ap) { diff --git a/misc/sys/syslog.h b/misc/sys/syslog.h index d933fea104..3888153ed2 100644 --- a/misc/sys/syslog.h +++ b/misc/sys/syslog.h @@ -205,11 +205,11 @@ extern void vsyslog (int __pri, const char *__fmt, __gnuc_va_list __ap) /* Define some macros helping to catch buffer overflows. */ #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function # include -#endif - -#include -#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 -# include +#else +# include +# if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# include +# endif #endif __END_DECLS