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: <20201106064929.GC697514@kroah.com>
Date:   Fri, 6 Nov 2020 07:49:29 +0100
From:   Greg KH <gregkh@...uxfoundation.org>
To:     Prasad Sodagudi <psodagud@...eaurora.org>
Cc:     rostedt@...dmis.org, mingo@...hat.com, keescook@...omium.org,
        catalin.marinas@....com, saiprakash.ranjan@...eaurora.org,
        will@...nel.org, linux-arm-kernel@...ts.infradead.org,
        linux-kernel@...r.kernel.org, linux-arm-msm@...r.kernel.org,
        anton@...msg.org, arnd@...db.de, ccross@...roid.com,
        jbaron@...mai.com, jim.cromie@...il.com, joe@...ches.com,
        joel@...lfernandes.org
Subject: Re: [PATCH v2] tracing: Add register read and write tracing support

On Thu, Nov 05, 2020 at 06:56:26PM -0800, Prasad Sodagudi wrote:
> Add register read/write operations tracing support.
> ftrace events helps to trace register read and write
> location details of memory mapped IO registers.

This sentance does not parse for me, can you please rework it?

> These trace logs helps to debug un clocked access
> of peripherals.

"un clocked"?  What does that mean?

And you do have 72 columns to fill, please use it :)

> 
> Signed-off-by: Prasad Sodagudi <psodagud@...eaurora.org>
> ---
>  arch/arm64/include/asm/io.h    |  9 ++++++++
>  arch/arm64/kernel/image-vars.h |  8 +++++++

You are only adding it for arm64, why not add the generic support first,
and then add it for all "major" arches afterwards?


>  include/linux/iorw.h           | 38 +++++++++++++++++++++++++++++++
>  include/trace/events/rwio.h    | 51 ++++++++++++++++++++++++++++++++++++++++++
>  kernel/trace/Kconfig           | 11 +++++++++
>  kernel/trace/Makefile          |  1 +
>  kernel/trace/trace_readwrite.c | 31 +++++++++++++++++++++++++
>  7 files changed, 149 insertions(+)
>  create mode 100644 include/linux/iorw.h
>  create mode 100644 include/trace/events/rwio.h
>  create mode 100644 kernel/trace/trace_readwrite.c
> 
> diff --git a/arch/arm64/include/asm/io.h b/arch/arm64/include/asm/io.h
> index fd172c4..bcfc65c 100644
> --- a/arch/arm64/include/asm/io.h
> +++ b/arch/arm64/include/asm/io.h
> @@ -9,6 +9,7 @@
>  #define __ASM_IO_H
>  
>  #include <linux/types.h>
> +#include <linux/iorw.h>
>  #include <linux/pgtable.h>
>  
>  #include <asm/byteorder.h>
> @@ -24,24 +25,28 @@
>  #define __raw_writeb __raw_writeb
>  static inline void __raw_writeb(u8 val, volatile void __iomem *addr)
>  {
> +	log_write_io(addr);
>  	asm volatile("strb %w0, [%1]" : : "rZ" (val), "r" (addr));

Why are you not logging the value here, and everywhere else?  You need
to document why that is somewhere, as it's the most obvious question you
will get.

thanks,

greg k-h

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ