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] [thread-next>] [day] [month] [year] [list]
Message-ID: <94F2FBAB4432B54E8AACC7DFDE6C92E37E4553D5@ORSMSX110.amr.corp.intel.com>
Date:	Tue, 29 Mar 2016 15:27:12 +0000
From:	"Moore, Robert" <robert.moore@...el.com>
To:	Joe Perches <joe@...ches.com>, "Zheng, Lv" <lv.zheng@...el.com>,
	"Wysocki, Rafael J" <rafael.j.wysocki@...el.com>,
	Len Brown <lenb@...nel.org>
CC:	"linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>,
	"devel@...ica.org" <devel@...ica.org>,
	linux-kernel <linux-kernel@...r.kernel.org>
Subject: RE: [RFC PATCH] acpi: Use a more normal logging style for
 ACPI_<LEVEL> calls

Probably not, because ACPI_INFO is a public (and documented) macro, and ACPICA is used in many operating systems.

The double parens are there to allow for variable-length arguments, I believe.

Bob


> -----Original Message-----
> From: Joe Perches [mailto:joe@...ches.com]
> Sent: Monday, March 28, 2016 8:30 PM
> To: Moore, Robert; Zheng, Lv; Wysocki, Rafael J; Len Brown
> Cc: linux-acpi@...r.kernel.org; devel@...ica.org; linux-kernel
> Subject: [RFC PATCH] acpi: Use a more normal logging style for
> ACPI_<LEVEL> calls
> 
> This is just an example of a conversion of ACPI_INFO to a more typical
> kernel use style.  All of the other ACPI_<LEVEL> calls would also need
> conversion.
> 
> Almost all logging functions and macros in the kernel are lower case and
> nearly all use formats with terminating newlines.
> 
> ACPI uses upper case macros and no terminating newline in the format.
> 
> Some of the uses though _do_ have newlines.  This can cause undesired
> newlines in dmesg output.
> 
> Also, the ACPI_<LEVEL> macros use a somewhat odd and unpleasant style with
> double parentheses.
> 
> Convert this to a lower case macro, add terminating newlines to formats
> and remove the unnecessary extra parentheses.
> 
> Rename the logging function to _acpi_info and have the acpi_info macros
> call this _acpi_info function.
> 
> Remove the newline from the _acpi_info call.
> 
> This means that all calls to acpi_info are complete and it is not possible
> for any other message to be interleaved into this message.
> 
> Miscellanea:
> 
> o Coalesce formats
> o Realign arguments
> o Coalesce arguments even if > 80 columns
> ---
>  drivers/acpi/acpica/dbcmds.c    |  4 ++--
>  drivers/acpi/acpica/dsmethod.c  |  6 ++----
>  drivers/acpi/acpica/dsobject.c  |  5 ++---
>  drivers/acpi/acpica/evgpeblk.c  |  8 ++++----
>  drivers/acpi/acpica/evgpeinit.c |  2 +-
>  drivers/acpi/acpica/exconfig.c  |  4 ++--
>  drivers/acpi/acpica/nseval.c    |  4 ++--
>  drivers/acpi/acpica/tbinstal.c  | 15 +++++++--------
>  drivers/acpi/acpica/tbprint.c   | 36 ++++++++++++++++--------------------
>  drivers/acpi/acpica/tbutils.c   |  3 ++-
>  drivers/acpi/acpica/tbxfload.c  |  5 +++--
>  drivers/acpi/acpica/uttrack.c   |  2 +-
>  drivers/acpi/acpica/utxferror.c |  7 +++----
>  include/acpi/acoutput.h         |  6 +++---
>  include/acpi/acpixf.h           |  2 +-
>  15 files changed, 51 insertions(+), 58 deletions(-)
> 
> diff --git a/drivers/acpi/acpica/dbcmds.c b/drivers/acpi/acpica/dbcmds.c
> index 772178c..1ef21be 100644
> --- a/drivers/acpi/acpica/dbcmds.c
> +++ b/drivers/acpi/acpica/dbcmds.c
> @@ -348,8 +348,8 @@ void acpi_db_display_table_info(char *table_arg)
>  		} else {
>  			/* If the pointer is null, the table has been unloaded
> */
> 
> -			ACPI_INFO(("%4.4s - Table has been unloaded",
> -				   table_desc->signature.ascii));
> +			acpi_info("%4.4s - Table has been unloaded\n",
> +				  table_desc->signature.ascii);
>  		}
>  	}
>  }
> diff --git a/drivers/acpi/acpica/dsmethod.c
> b/drivers/acpi/acpica/dsmethod.c index 1982310..4730b0a 100644
> --- a/drivers/acpi/acpica/dsmethod.c
> +++ b/drivers/acpi/acpica/dsmethod.c
> @@ -809,10 +809,8 @@ acpi_ds_terminate_control_method(union
> acpi_operand_object *method_desc,
>  		if (method_desc->method.
>  		    info_flags & ACPI_METHOD_SERIALIZED_PENDING) {
>  			if (walk_state) {
> -				ACPI_INFO(("Marking method %4.4s as Serialized "
> -					   "because of AE_ALREADY_EXISTS error",
> -					   walk_state->method_node->name.
> -					   ascii));
> +				acpi_info("Marking method %4.4s as Serialized
> because of AE_ALREADY_EXISTS error\n",
> +					  walk_state->method_node->name.ascii);
>  			}
> 
>  			/*
> diff --git a/drivers/acpi/acpica/dsobject.c
> b/drivers/acpi/acpica/dsobject.c index a91de2b..6787274 100644
> --- a/drivers/acpi/acpica/dsobject.c
> +++ b/drivers/acpi/acpica/dsobject.c
> @@ -524,9 +524,8 @@ acpi_ds_build_internal_package_obj(struct
> acpi_walk_state *walk_state,
>  			arg = arg->common.next;
>  		}
> 
> -		ACPI_INFO(("Actual Package length (%u) is larger than "
> -			   "NumElements field (%u), truncated",
> -			   i, element_count));
> +		acpi_info("Actual Package length (%u) is larger than
> NumElements field (%u), truncated\n",
> +			  i, element_count);
>  	} else if (i < element_count) {
>  		/*
>  		 * Arg list (elements) was exhausted, but we did not reach
> num_elements count.
> diff --git a/drivers/acpi/acpica/evgpeblk.c
> b/drivers/acpi/acpica/evgpeblk.c index 447fa1c..2244ed8 100644
> --- a/drivers/acpi/acpica/evgpeblk.c
> +++ b/drivers/acpi/acpica/evgpeblk.c
> @@ -499,10 +499,10 @@ acpi_ev_initialize_gpe_block(struct
> acpi_gpe_xrupt_info *gpe_xrupt_info,
>  	}
> 
>  	if (gpe_enabled_count) {
> -		ACPI_INFO(("Enabled %u GPEs in block %02X to %02X",
> -			   gpe_enabled_count, (u32)gpe_block->block_base_number,
> -			   (u32)(gpe_block->block_base_number +
> -				 (gpe_block->gpe_count - 1))));
> +		acpi_info("Enabled %u GPEs in block %02X to %02X\n",
> +			  gpe_enabled_count, (u32)gpe_block->block_base_number,
> +			  (u32)(gpe_block->block_base_number +
> +				gpe_block->gpe_count - 1));
>  	}
> 
>  	gpe_block->initialized = TRUE;
> diff --git a/drivers/acpi/acpica/evgpeinit.c
> b/drivers/acpi/acpica/evgpeinit.c index 7dc7547..3a6d717 100644
> --- a/drivers/acpi/acpica/evgpeinit.c
> +++ b/drivers/acpi/acpica/evgpeinit.c
> @@ -281,7 +281,7 @@ void acpi_ev_update_gpes(acpi_owner_id table_owner_id)
>  	}
> 
>  	if (walk_info.count) {
> -		ACPI_INFO(("Enabled %u new GPEs", walk_info.count));
> +		acpi_info("Enabled %u new GPEs\n", walk_info.count);
>  	}
> 
>  	(void)acpi_ut_release_mutex(ACPI_MTX_EVENTS);
> diff --git a/drivers/acpi/acpica/exconfig.c
> b/drivers/acpi/acpica/exconfig.c index f741613..99916fe 100644
> --- a/drivers/acpi/acpica/exconfig.c
> +++ b/drivers/acpi/acpica/exconfig.c
> @@ -252,7 +252,7 @@ acpi_ex_load_table_op(struct acpi_walk_state
> *walk_state,
> 
>  	status = acpi_get_table_by_index(table_index, &table);
>  	if (ACPI_SUCCESS(status)) {
> -		ACPI_INFO(("Dynamic OEM Table Load:"));
> +		acpi_info("Dynamic OEM Table Load:\n");
>  		acpi_tb_print_table_header(0, table);
>  	}
> 
> @@ -472,7 +472,7 @@ acpi_ex_load_op(union acpi_operand_object *obj_desc,
> 
>  	/* Install the new table into the local data structures */
> 
> -	ACPI_INFO(("Dynamic OEM Table Load:"));
> +	acpi_info("Dynamic OEM Table Load:\n");
>  	(void)acpi_ut_acquire_mutex(ACPI_MTX_TABLES);
> 
>  	status = acpi_tb_install_standard_table(ACPI_PTR_TO_PHYSADDR(table),
> diff --git a/drivers/acpi/acpica/nseval.c b/drivers/acpi/acpica/nseval.c
> index 5d59cfc..18777f0 100644
> --- a/drivers/acpi/acpica/nseval.c
> +++ b/drivers/acpi/acpica/nseval.c
> @@ -378,8 +378,8 @@ void acpi_ns_exec_module_code_list(void)
>  		acpi_ut_remove_reference(prev);
>  	}
> 
> -	ACPI_INFO(("Executed %u blocks of module-level executable AML code",
> -		   method_count));
> +	acpi_info("Executed %u blocks of module-level executable AML
> code\n",
> +		  method_count);
> 
>  	ACPI_FREE(info);
>  	acpi_gbl_module_code_list = NULL;
> diff --git a/drivers/acpi/acpica/tbinstal.c
> b/drivers/acpi/acpica/tbinstal.c index 4dc6108..28f2ab7 100644
> --- a/drivers/acpi/acpica/tbinstal.c
> +++ b/drivers/acpi/acpica/tbinstal.c
> @@ -267,9 +267,9 @@ acpi_tb_install_standard_table(acpi_physical_address
> address,
>  	if (!reload &&
>  	    acpi_gbl_disable_ssdt_table_install &&
>  	    ACPI_COMPARE_NAME(&new_table_desc.signature, ACPI_SIG_SSDT)) {
> -		ACPI_INFO(("Ignoring installation of %4.4s at %8.8X%8.8X",
> -			   new_table_desc.signature.ascii,
> -			   ACPI_FORMAT_UINT64(address)));
> +		acpi_info("Ignoring installation of %4.4s at %8.8X%8.8X\n",
> +			  new_table_desc.signature.ascii,
> +			  ACPI_FORMAT_UINT64(address));
>  		goto release_and_exit;
>  	}
> 
> @@ -431,11 +431,10 @@ finish_override:
>  		return;
>  	}
> 
> -	ACPI_INFO(("%4.4s 0x%8.8X%8.8X"
> -		   " %s table override, new table: 0x%8.8X%8.8X",
> -		   old_table_desc->signature.ascii,
> -		   ACPI_FORMAT_UINT64(old_table_desc->address),
> -		   override_type,
> ACPI_FORMAT_UINT64(new_table_desc.address)));
> +	acpi_info("%4.4s 0x%8.8X%8.8X %s table override, new table:
> 0x%8.8X%8.8X\n",
> +		  old_table_desc->signature.ascii,
> +		  ACPI_FORMAT_UINT64(old_table_desc->address),
> +		  override_type, ACPI_FORMAT_UINT64(new_table_desc.address));
> 
>  	/* We can now uninstall the original table */
> 
> diff --git a/drivers/acpi/acpica/tbprint.c b/drivers/acpi/acpica/tbprint.c
> index 26d61db..030d610 100644
> --- a/drivers/acpi/acpica/tbprint.c
> +++ b/drivers/acpi/acpica/tbprint.c
> @@ -132,9 +132,9 @@ acpi_tb_print_table_header(acpi_physical_address
> address,
> 
>  		/* FACS only has signature and length fields */
> 
> -		ACPI_INFO(("%-4.4s 0x%8.8X%8.8X %06X",
> -			   header->signature, ACPI_FORMAT_UINT64(address),
> -			   header->length));
> +		acpi_info("%-4.4s 0x%8.8X%8.8X %06X\n",
> +			  header->signature, ACPI_FORMAT_UINT64(address),
> +			  header->length);
>  	} else if (ACPI_VALIDATE_RSDP_SIG(header->signature)) {
> 
>  		/* RSDP has no common fields */
> @@ -144,28 +144,24 @@ acpi_tb_print_table_header(acpi_physical_address
> address,
>  		       ACPI_OEM_ID_SIZE);
>  		acpi_tb_fix_string(local_header.oem_id, ACPI_OEM_ID_SIZE);
> 
> -		ACPI_INFO(("RSDP 0x%8.8X%8.8X %06X (v%.2d %-6.6s)",
> -			   ACPI_FORMAT_UINT64(address),
> -			   (ACPI_CAST_PTR(struct acpi_table_rsdp, header)->
> -			    revision >
> -			    0) ? ACPI_CAST_PTR(struct acpi_table_rsdp,
> -					       header)->length : 20,
> -			   ACPI_CAST_PTR(struct acpi_table_rsdp,
> -					 header)->revision,
> -			   local_header.oem_id));
> +		acpi_info("RSDP 0x%8.8X%8.8X %06X (v%.2d %-6.6s)\n",
> +			  ACPI_FORMAT_UINT64(address),
> +			  ACPI_CAST_PTR(struct acpi_table_rsdp, header)-
> >revision > 0 ?
> +			  ACPI_CAST_PTR(struct acpi_table_rsdp, header)->length
> : 20,
> +			  ACPI_CAST_PTR(struct acpi_table_rsdp, header)-
> >revision,
> +			  local_header.oem_id);
>  	} else {
>  		/* Standard ACPI table with full common header */
> 
>  		acpi_tb_cleanup_table_header(&local_header, header);
> 
> -		ACPI_INFO(("%-4.4s 0x%8.8X%8.8X"
> -			   " %06X (v%.2d %-6.6s %-8.8s %08X %-4.4s %08X)",
> -			   local_header.signature, ACPI_FORMAT_UINT64(address),
> -			   local_header.length, local_header.revision,
> -			   local_header.oem_id, local_header.oem_table_id,
> -			   local_header.oem_revision,
> -			   local_header.asl_compiler_id,
> -			   local_header.asl_compiler_revision));
> +		acpi_info("%-4.4s 0x%8.8X%8.8X %06X (v%.2d %-6.6s %-8.8s %08X
> %-4.4s %08X)\n",
> +			  local_header.signature, ACPI_FORMAT_UINT64(address),
> +			  local_header.length, local_header.revision,
> +			  local_header.oem_id, local_header.oem_table_id,
> +			  local_header.oem_revision,
> +			  local_header.asl_compiler_id,
> +			  local_header.asl_compiler_revision);
>  	}
>  }
> 
> diff --git a/drivers/acpi/acpica/tbutils.c b/drivers/acpi/acpica/tbutils.c
> index 9240c76..8f64b38 100644
> --- a/drivers/acpi/acpica/tbutils.c
> +++ b/drivers/acpi/acpica/tbutils.c
> @@ -174,7 +174,8 @@ struct acpi_table_header *acpi_tb_copy_dsdt(u32
> table_index)
>  				      ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL,
>  				      new_table);
> 
> -	ACPI_INFO(("Forced DSDT copy: length 0x%05X copied locally, original
> unmapped", new_table->length));
> +	acpi_info("Forced DSDT copy: length 0x%05X copied locally, original
> unmapped\n",
> +		  new_table->length);
> 
>  	return (new_table);
>  }
> diff --git a/drivers/acpi/acpica/tbxfload.c
> b/drivers/acpi/acpica/tbxfload.c index 3151968..0827d17 100644
> --- a/drivers/acpi/acpica/tbxfload.c
> +++ b/drivers/acpi/acpica/tbxfload.c
> @@ -240,7 +240,8 @@ acpi_status acpi_tb_load_namespace(void)
>  	}
> 
>  	if (!tables_failed) {
> -		ACPI_INFO(("%u ACPI AML tables successfully acquired and
> loaded\n", tables_loaded));
> +		acpi_info("%u ACPI AML tables successfully acquired and
> loaded\n",
> +			  tables_loaded);
>  	} else {
>  		ACPI_ERROR((AE_INFO,
>  			    "%u table load failures, %u successful", @@ -333,7
> +334,7 @@ acpi_status acpi_load_table(struct acpi_table_header *table)
> 
>  	/* Install the table and load it into the namespace */
> 
> -	ACPI_INFO(("Host-directed Dynamic ACPI Table Load:"));
> +	acpi_info("Host-directed Dynamic ACPI Table Load:\n");
>  	(void)acpi_ut_acquire_mutex(ACPI_MTX_TABLES);
> 
>  	status = acpi_tb_install_standard_table(ACPI_PTR_TO_PHYSADDR(table),
> diff --git a/drivers/acpi/acpica/uttrack.c b/drivers/acpi/acpica/uttrack.c
> index 60c406a..b1d6f4a 100644
> --- a/drivers/acpi/acpica/uttrack.c
> +++ b/drivers/acpi/acpica/uttrack.c
> @@ -712,7 +712,7 @@ void acpi_ut_dump_allocations(u32 component, const
> char *module)
>  	/* Print summary */
> 
>  	if (!num_outstanding) {
> -		ACPI_INFO(("No outstanding allocations"));
> +		acpi_info("No outstanding allocations\n");
>  	} else {
>  		ACPI_ERROR((AE_INFO, "%u(0x%X) Outstanding allocations",
>  			    num_outstanding, num_outstanding)); diff --git
> a/drivers/acpi/acpica/utxferror.c b/drivers/acpi/acpica/utxferror.c index
> d9f15cb..e9a80c2 100644
> --- a/drivers/acpi/acpica/utxferror.c
> +++ b/drivers/acpi/acpica/utxferror.c
> @@ -161,7 +161,7 @@ ACPI_EXPORT_SYMBOL(acpi_warning)
> 
>  /************************************************************************
> *******
>   *
> - * FUNCTION:    acpi_info
> + * FUNCTION:    _acpi_info
>   *
>   * PARAMETERS:  module_name         - Caller's module name (for error
> output)
>   *              line_number         - Caller's line number (for error
> output) @@ -175,7 +175,7 @@ ACPI_EXPORT_SYMBOL(acpi_warning)
>   * TBD: module_name and line_number args are not needed, should be
> removed.
>   *
>   ************************************************************************
> ******/
> -void ACPI_INTERNAL_VAR_XFACE acpi_info(const char *format, ...)
> +void ACPI_INTERNAL_VAR_XFACE _acpi_info(const char *format, ...)
>  {
>  	va_list arg_list;
> 
> @@ -184,13 +184,12 @@ void ACPI_INTERNAL_VAR_XFACE acpi_info(const char
> *format, ...)
> 
>  	va_start(arg_list, format);
>  	acpi_os_vprintf(format, arg_list);
> -	acpi_os_printf("\n");
>  	va_end(arg_list);
> 
>  	ACPI_MSG_REDIRECT_END;
>  }
> 
> -ACPI_EXPORT_SYMBOL(acpi_info)
> +ACPI_EXPORT_SYMBOL(_acpi_info)
> 
>  /************************************************************************
> *******
>   *
> diff --git a/include/acpi/acoutput.h b/include/acpi/acoutput.h index
> 34f601e..4812992 100644
> --- a/include/acpi/acoutput.h
> +++ b/include/acpi/acoutput.h
> @@ -223,10 +223,9 @@
> 
>  /*
>   * Error reporting. Callers module and line number are inserted by
> AE_INFO,
> - * the plist contains a set of parens to allow variable-length lists.
>   * These macros are used for both the debug and non-debug versions of the
> code.
>   */
> -#define ACPI_INFO(plist)                acpi_info plist
> +#define acpi_info(fmt, ...)		_acpi_info(fmt, ##__VA_ARGS__)
>  #define ACPI_WARNING(plist)             acpi_warning plist
>  #define ACPI_EXCEPTION(plist)           acpi_exception plist
>  #define ACPI_ERROR(plist)               acpi_error plist @@ -238,7 +237,8
> @@
> 
>  /* No error messages */
> 
> -#define ACPI_INFO(plist)
> +#define acpi_info(fmt, ...)					\
> +	do { if (0) _acpi_info(fmt, ##__VA_ARGS__); } while (0)
>  #define ACPI_WARNING(plist)
>  #define ACPI_EXCEPTION(plist)
>  #define ACPI_ERROR(plist)
> diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h index
> 1755697..f5f96ac 100644
> --- a/include/acpi/acpixf.h
> +++ b/include/acpi/acpixf.h
> @@ -899,7 +899,7 @@ ACPI_MSG_DEPENDENT_RETURN_VOID(ACPI_PRINTF_LIKE(3)
>  					     const char *format, ...))
>  ACPI_MSG_DEPENDENT_RETURN_VOID(ACPI_PRINTF_LIKE(1)
>  				void ACPI_INTERNAL_VAR_XFACE
> -				acpi_info(const char *format, ...))
> +				_acpi_info(const char *format, ...))
>  ACPI_MSG_DEPENDENT_RETURN_VOID(ACPI_PRINTF_LIKE(3)
>  				void ACPI_INTERNAL_VAR_XFACE
>  				acpi_bios_error(const char *module_name,

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ