lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <d2726a61-37fa-4c39-aad6-08bf99d8d14b@samsung.com>
Date: Thu, 19 Sep 2024 21:12:15 +0200
From: Daniel Gomez <da.gomez@...sung.com>
To: Masahiro Yamada <masahiroy@...nel.org>
CC: Nathan Chancellor <nathan@...nel.org>, Nicolas Schier
	<nicolas@...sle.eu>, Lucas De Marchi <lucas.demarchi@...el.com>,
	Thomas Hellström <thomas.hellstrom@...ux.intel.com>,
	Rodrigo Vivi <rodrigo.vivi@...el.com>, Maarten Lankhorst
	<maarten.lankhorst@...ux.intel.com>, Maxime Ripard <mripard@...nel.org>,
	Thomas Zimmermann <tzimmermann@...e.de>, David Airlie <airlied@...il.com>,
	William Hubbs <w.d.hubbs@...il.com>, Chris Brannon <chris@...-brannons.com>,
	Kirk Reiser <kirk@...sers.ca>, Samuel Thibault
	<samuel.thibault@...-lyon.org>, Paul Moore <paul@...l-moore.com>, "Stephen
 Smalley" <stephen.smalley.work@...il.com>, Ondrej Mosnacek
	<omosnace@...hat.com>, Catalin Marinas <catalin.marinas@....com>, Will
	Deacon <will@...nel.org>, Marc Zyngier <maz@...nel.org>, Oliver Upton
	<oliver.upton@...ux.dev>, James Morse <james.morse@....com>, Suzuki K
	Poulose <suzuki.poulose@....com>, Zenghui Yu <yuzenghui@...wei.com>, "Greg
 Kroah-Hartman" <gregkh@...uxfoundation.org>, Jiri Slaby
	<jirislaby@...nel.org>, Nick Desaulniers <ndesaulniers@...gle.com>, "Bill
 Wendling" <morbo@...gle.com>, Justin Stitt <justinstitt@...gle.com>, "Simona
 Vetter" <simona.vetter@...ll.ch>, <linux-kernel@...r.kernel.org>,
	<linux-kbuild@...r.kernel.org>, <intel-xe@...ts.freedesktop.org>,
	<dri-devel@...ts.freedesktop.org>, <speakup@...ux-speakup.org>,
	<selinux@...r.kernel.org>, <linux-arm-kernel@...ts.infradead.org>,
	<kvmarm@...ts.linux.dev>, <linux-serial@...r.kernel.org>,
	<llvm@...ts.linux.dev>, Finn Behrens <me@...enk.dev>, "Daniel Gomez
 (Samsung)" <d+samsung@...ces.com>, <gost.dev@...sung.com>
Subject: Re: [PATCH v2 3/8] drm/xe: xe_gen_wa_oob: fix
 program_invocation_short_name for macos

On 9/6/2024 4:39 PM, Masahiro Yamada wrote:
> On Fri, Sep 6, 2024 at 8:01 PM Daniel Gomez via B4 Relay
> <devnull+da.gomez.samsung.com@...nel.org> wrote:
>>
>> From: Daniel Gomez <da.gomez@...sung.com>
>>
>> Use getprogname() [1] instead of program_invocation_short_name() [2]
>> for macOS hosts.
>>
>> [1]:
>> https://www.gnu.org/software/gnulib/manual/html_node/
>> program_005finvocation_005fshort_005fname.html
>>
>> [2]:
>> https://developer.apple.com/library/archive/documentation/System/
>> Conceptual/ManPages_iPhoneOS/man3/getprogname.3.html
>>
>> Fixes build error for macOS hosts:
>>
>> drivers/gpu/drm/xe/xe_gen_wa_oob.c:34:3: error: use of
>> undeclared identifier 'program_invocation_short_name'    34 |
>> program_invocation_short_name);       |                 ^ 1 error
>> generated.
>>
>> Signed-off-by: Daniel Gomez <da.gomez@...sung.com>
>> Reviewed-by: Lucas De Marchi <lucas.demarchi@...el.com>
>> ---
>>   drivers/gpu/drm/xe/xe_gen_wa_oob.c | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_gen_wa_oob.c b/drivers/gpu/drm/xe/xe_gen_wa_oob.c
>> index 904cf47925aa..0d933644d8a0 100644
>> --- a/drivers/gpu/drm/xe/xe_gen_wa_oob.c
>> +++ b/drivers/gpu/drm/xe/xe_gen_wa_oob.c
>> @@ -8,6 +8,7 @@
>>   #include <errno.h>
>>   #include <stdbool.h>
>>   #include <stdio.h>
>> +#include <stdlib.h>
>>   #include <string.h>
>>
>>   #define HEADER \
>> @@ -30,6 +31,9 @@
>>
>>   static void print_usage(FILE *f)
>>   {
>> +#ifdef __APPLE__
>> +       const char *program_invocation_short_name = getprogname();
>> +#endif
>>          fprintf(f, "usage: %s <input-rule-file> <generated-c-source-file> <generated-c-header-file>\n",
>>                  program_invocation_short_name);
>>   }
>>
>> --
>> 2.46.0
>>
>>
> 
> 
> 
> Before adding such #ifdef, you should check how other programs do.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Solution 1 : hard-code the program name
> 
> 
> diff --git a/drivers/gpu/drm/xe/xe_gen_wa_oob.c
> b/drivers/gpu/drm/xe/xe_gen_wa_oob.c
> index 106ee2b027f0..9e9a29e2cecf 100644
> --- a/drivers/gpu/drm/xe/xe_gen_wa_oob.c
> +++ b/drivers/gpu/drm/xe/xe_gen_wa_oob.c
> @@ -30,8 +30,7 @@
> 
>   static void print_usage(FILE *f)
>   {
> -       fprintf(f, "usage: %s <input-rule-file>
> <generated-c-source-file> <generated-c-header-file>\n",
> -               program_invocation_short_name);
> +       fprintf(f, "usage: xe_gen_wa_oob <input-rule-file>
> <generated-c-source-file> <generated-c-header-file>\n");
>   }
> 
>   static void print_parse_error(const char *err_msg, const char *line,
> 
> 
> 
> 
> 
> 
> 
> 
> Solution 2: use argv[0]
> 
> 
> diff --git a/drivers/gpu/drm/xe/xe_gen_wa_oob.c
> b/drivers/gpu/drm/xe/xe_gen_wa_oob.c
> index 106ee2b027f0..600c63e88e46 100644
> --- a/drivers/gpu/drm/xe/xe_gen_wa_oob.c
> +++ b/drivers/gpu/drm/xe/xe_gen_wa_oob.c
> @@ -28,10 +28,10 @@
>          "\n" \
>          "#endif\n"
> 
> -static void print_usage(FILE *f)
> +static void print_usage(FILE *f, const char *progname)
>   {
>          fprintf(f, "usage: %s <input-rule-file>
> <generated-c-source-file> <generated-c-header-file>\n",
> -               program_invocation_short_name);
> +               progname);
>   }
> 
>   static void print_parse_error(const char *err_msg, const char *line,
> @@ -136,7 +136,7 @@ int main(int argc, const char *argv[])
> 
>          if (argc < 3) {
>                  fprintf(stderr, "ERROR: wrong arguments\n");
> -               print_usage(stderr);
> +               print_usage(stderr, argv[0]);
>                  return 1;
>          }


This approach looks good to me. I will drop Lucas' tag in favor to this. 
Please, Lucas let me know if you disagree any of the proposals here or 
if you have any preference. Otherwise, I'll resend this with solution 2.



> 
> 
> 
> 
> 
> 
> 
> 


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ