From nobody Thu May 2 02:07:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org ARC-Seal: i=1; a=rsa-sha256; t=1614948032; cv=none; d=zohomail.com; s=zohoarc; b=CTnI72YhsM27ce9sVLu/1IbdVXGv7j69H7Z1Wewt1BwNESnkEQlQYSnn2mRG/IDTHOmUJOpFeZejRCiMWwL2dj2q0qkhqMWAVRNHM8iPlNPOAS1uj897YfdZZkzljbw96wvQUFinta7z6/pbfiPLfZ1bVzN5MvyDKvtd4aPE5o0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1614948032; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=1fsPk6D4wrcBPoTOXONkzXRSuL3h5zuch3BSAYZOrp8=; b=bco+Lk+/aXXuOgyDlgDQycZBGVVXCS9tRk42zyfERAuqAzdi8ZqfQ0dbvNx6ZOPCdIvZReTK+tLkycRIvme/bJBleqBoFhv4En+tefLq40wnXMrA0yAO6BljZDyR5zMBtl7bkHKvh6lP/Cx2Bm5L875Ss5QqMfBKZoAcldT2tFU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1614948032025184.27595932949794; Fri, 5 Mar 2021 04:40:32 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.93654.176644 (Exim 4.92) (envelope-from ) id 1lI9kb-0001W0-6O; Fri, 05 Mar 2021 12:40:13 +0000 Received: by outflank-mailman (output) from mailman id 93654.176644; Fri, 05 Mar 2021 12:40:13 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lI9kb-0001Vt-17; Fri, 05 Mar 2021 12:40:13 +0000 Received: by outflank-mailman (input) for mailman id 93654; Fri, 05 Mar 2021 12:40:11 +0000 Received: from mail.xenproject.org ([104.130.215.37]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lI9kZ-0001Ur-A5 for xen-devel@lists.xenproject.org; Fri, 05 Mar 2021 12:40:11 +0000 Received: from xenbits.xenproject.org ([104.239.192.120]) by mail.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lI9kY-0005oV-0x; Fri, 05 Mar 2021 12:40:10 +0000 Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=ufe34d9ed68d054.ant.amazon.com) by xenbits.xenproject.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lI9kX-0007BR-MZ; Fri, 05 Mar 2021 12:40:09 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org; s=20200302mail; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From; bh=1fsPk6D4wrcBPoTOXONkzXRSuL3h5zuch3BSAYZOrp8=; b=ApSrvFI9sufdhxLqbxGeZuvSQ BMymlkbopaVI45dmFQqE+tEEdfPSYXsGsEQhaNXdv3wLAsqrdYgbC+mdcYJcOBGvlPgokuF2X8dzF c3gCIIbykQJjYGHl16iEgyyx8dOH0CW+t5r9TMwIdNqXsahgKuGejZewaDIz0qFYiRrVE=; From: Julien Grall To: xen-devel@lists.xenproject.org Cc: raphning@amazon.co.uk, iwj@xenproject.org, Julien Grall , Wei Liu , Juergen Gross Subject: [PATCH for-4.15 1/2] tools/xenstore: Consolidate PRINTF_ATTRIBUTE() in utils.h Date: Fri, 5 Mar 2021 12:40:02 +0000 Message-Id: <20210305124003.13582-2-julien@xen.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210305124003.13582-1-julien@xen.org> References: <20210305124003.13582-1-julien@xen.org> X-ZohoMail-DKIM: pass (identity @xen.org) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Julien Grall At the moment PRINTF_ATTRIBUTE() is defined in two places: - tdb.h: Defined as a NOP - talloc.h: Defined as a NOP for GCC older than 3.0 otherwise will add the attribute to check the printf format Xen requires to build with minimum GCC 4.1 and we want to check the printf format for all the printf-like functions. Only implement PRINTF_ATTRIBUTE() once in utils.h and drop the conditional check for GCC < 3.0. Signed-off-by: Julien Grall Reviewed-by: Juergen Gross --- tools/xenstore/talloc.h | 15 ++------------- tools/xenstore/tdb.h | 6 ++---- tools/xenstore/utils.h | 2 ++ 3 files changed, 6 insertions(+), 17 deletions(-) diff --git a/tools/xenstore/talloc.h b/tools/xenstore/talloc.h index 71a36e7be06b..a0f4bff25788 100644 --- a/tools/xenstore/talloc.h +++ b/tools/xenstore/talloc.h @@ -26,6 +26,8 @@ =20 #include =20 +#include "utils.h" + /* this is only needed for compatibility with the old talloc */ typedef void TALLOC_CTX; =20 @@ -84,19 +86,6 @@ typedef void TALLOC_CTX; #define talloc_destroy(ctx) talloc_free(ctx) #endif =20 -#ifndef PRINTF_ATTRIBUTE -#if (__GNUC__ >=3D 3) -/** Use gcc attribute to check printf fns. a1 is the 1-based index of - * the parameter containing the format, and a2 the index of the first - * argument. Note that some gcc 2.x versions don't handle this - * properly **/ -#define PRINTF_ATTRIBUTE(a1, a2) __attribute__ ((format (__printf__, a1, a= 2))) -#else -#define PRINTF_ATTRIBUTE(a1, a2) -#endif -#endif - - /* The following definitions come from talloc.c */ void *_talloc(const void *context, size_t size); void talloc_set_destructor(const void *ptr, int (*destructor)(void *)); diff --git a/tools/xenstore/tdb.h b/tools/xenstore/tdb.h index 557cf727b869..ce3c7339f884 100644 --- a/tools/xenstore/tdb.h +++ b/tools/xenstore/tdb.h @@ -1,6 +1,8 @@ #ifndef __TDB_H__ #define __TDB_H__ =20 +#include "utils.h" + /*=20 Unix SMB/CIFS implementation. =20 @@ -84,10 +86,6 @@ struct tdb_traverse_lock { uint32_t hash; }; =20 -#ifndef PRINTF_ATTRIBUTE -#define PRINTF_ATTRIBUTE(a,b) -#endif - /* this is the context structure that is returned from a db open */ typedef struct tdb_context { char *name; /* the name of the database */ diff --git a/tools/xenstore/utils.h b/tools/xenstore/utils.h index df1cb9a3bac6..3dfb96b556dd 100644 --- a/tools/xenstore/utils.h +++ b/tools/xenstore/utils.h @@ -27,6 +27,8 @@ static inline bool strends(const char *a, const char *b) */ const char *dump_state_align(FILE *fp); =20 +#define PRINTF_ATTRIBUTE(a1, a2) __attribute__((format (printf, a1, a2))) + void barf(const char *fmt, ...) __attribute__((noreturn)); void barf_perror(const char *fmt, ...) __attribute__((noreturn)); =20 --=20 2.17.1 From nobody Thu May 2 02:07:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org ARC-Seal: i=1; a=rsa-sha256; t=1614948032; cv=none; d=zohomail.com; s=zohoarc; b=UGfXG5eau0xGLSuti2pHPSC2xVvpvdRVKyJ2MEUmETCUTwFyAuYGnfRT6K0D3Zba6Bd0cQHtjW2x6MhTh0ryGWKTyilWp1dwLtZbe/6pDipEXRbP68Fh8vOHz+i9fkvG78ezpEVmjNTtkO0W6ThfR7V+9ySxRXB0cf5t8X//cek= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1614948032; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=wgkPNlXJWVNMPnSNmMg4BKeKpos8YR2z8Sau5csS4go=; b=fQPVP/AMcx763JZxDIZA1MhYKfdYPXHJWKw0bAoNvr1ARO+M+CpCgotDNYBHVH8u/libcCE2VMHpMwmlnCxdzW4wXOHlk9o9l+nT8oUjVTAAltnkgzEiEmuzn1WK7VEd79rXim55OqS/etMBGatvR9DRsLoZF5IQ2fkIhorPqxs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1614948032410984.8293602565024; Fri, 5 Mar 2021 04:40:32 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.93655.176651 (Exim 4.92) (envelope-from ) id 1lI9kb-0001WT-HZ; Fri, 05 Mar 2021 12:40:13 +0000 Received: by outflank-mailman (output) from mailman id 93655.176651; Fri, 05 Mar 2021 12:40:13 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lI9kb-0001WI-9S; Fri, 05 Mar 2021 12:40:13 +0000 Received: by outflank-mailman (input) for mailman id 93655; Fri, 05 Mar 2021 12:40:11 +0000 Received: from mail.xenproject.org ([104.130.215.37]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lI9kZ-0001VA-TJ for xen-devel@lists.xenproject.org; Fri, 05 Mar 2021 12:40:11 +0000 Received: from xenbits.xenproject.org ([104.239.192.120]) by mail.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lI9kZ-0005oc-33; Fri, 05 Mar 2021 12:40:11 +0000 Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=ufe34d9ed68d054.ant.amazon.com) by xenbits.xenproject.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lI9kY-0007BR-QY; Fri, 05 Mar 2021 12:40:11 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org; s=20200302mail; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From; bh=wgkPNlXJWVNMPnSNmMg4BKeKpos8YR2z8Sau5csS4go=; b=hZJiT82GJ4XAGywHUbOpzJ8d/ raRb+SgQxUEVgzL4kYrkDYqdFjzLagB5dm0/0TpOrAjUC2IvHm16U7FjHnKSmH8Y1upkfEyUC1mWP apJ0RjMBZBuxUE+jEhyUM+HJPp6LXX4mkhwDaeRS/TttOqPCyS880ZY77t71eHUsmat8Y=; From: Julien Grall To: xen-devel@lists.xenproject.org Cc: raphning@amazon.co.uk, iwj@xenproject.org, Julien Grall , Wei Liu , Juergen Gross Subject: [PATCH for-4.15 2/2] tools/xenstore: Check the format printf for xprintf() and barf{,_perror}() Date: Fri, 5 Mar 2021 12:40:03 +0000 Message-Id: <20210305124003.13582-3-julien@xen.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210305124003.13582-1-julien@xen.org> References: <20210305124003.13582-1-julien@xen.org> X-ZohoMail-DKIM: pass (identity @xen.org) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Julien Grall Allow GCC to analyze the format printf for xprintf() and barf{,_perror}(). Take the opportunity to define __noreturn to make the prototype for barf{,_perror})() easier to read. Signed-off-by: Julien Grall Reviewed-by: Ian Jackson Reviewed-by: Juergen Gross --- tools/xenstore/utils.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/xenstore/utils.h b/tools/xenstore/utils.h index 3dfb96b556dd..ccfb9b8fb699 100644 --- a/tools/xenstore/utils.h +++ b/tools/xenstore/utils.h @@ -29,10 +29,12 @@ const char *dump_state_align(FILE *fp); =20 #define PRINTF_ATTRIBUTE(a1, a2) __attribute__((format (printf, a1, a2))) =20 -void barf(const char *fmt, ...) __attribute__((noreturn)); -void barf_perror(const char *fmt, ...) __attribute__((noreturn)); +#define __noreturn __attribute__((noreturn)) =20 -extern void (*xprintf)(const char *fmt, ...); +void barf(const char *fmt, ...) __noreturn PRINTF_ATTRIBUTE(1, 2); +void barf_perror(const char *fmt, ...) __noreturn PRINTF_ATTRIBUTE(1, 2); + +extern void (*xprintf)(const char *fmt, ...) PRINTF_ATTRIBUTE(1, 2); =20 #define eprintf(_fmt, _args...) xprintf("[ERR] %s" _fmt, __FUNCTION__, ##_= args) =20 --=20 2.17.1