Re: [PATCH 1/1] kasan: Support for r/w instrumentation control

From: Dmitry Vyukov
Date: Mon Dec 12 2016 - 05:06:04 EST


On Mon, Dec 12, 2016 at 10:32 AM, Maninder Singh
<maninder1.s@xxxxxxxxxxx> wrote:
> This provide option to control sanity of read and write operations
> Both read and write instrumentation increase size of uImage, So using
> this option read or write instrumentation can be avoided if not required.
> Useful in case of module sanity, using this uImage sanity can be avoided.
>
> Also user space ASAN provides this support for read/write instrumentation
> control.

Hi,

Do you actually hit an issue with image size? In what context?
Do you use inline/outline instrumentation? Does switching to the other
option help?
Does it make sense to ever disable writes? I assume that you are
disabling reads, right?
Disabling both certainly does not make sense.


> Signed-off-by: Vaneet narang <v.narang@xxxxxxxxxxx>
> Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx>
> Reviewed-by: Ajeet Yadav <ajeet.y@xxxxxxxxxxx>
> ---
> lib/Kconfig.kasan | 16 ++++++++++++++++
> scripts/Makefile.kasan | 4 ++++
> 2 files changed, 20 insertions(+)
>
> diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan
> index bd38aab..6f0f774 100644
> --- a/lib/Kconfig.kasan
> +++ b/lib/Kconfig.kasan
> @@ -45,6 +45,22 @@ config KASAN_INLINE
>
> endchoice
>
> +config KASAN_READS
> + prompt "Read instrumentation"
> + bool
> + default y
> + depends on KASAN
> + help
> + This configuration controls the sanity of memory read.

/\/\/\

double space in "of memory"

> +
> +config KASAN_WRITES
> + prompt "Write instrumentation"
> + bool
> + default y
> + depends on KASAN
> + help
> + This configuration controls the sanity of memory write.
> +
> config TEST_KASAN
> tristate "Module for testing kasan for bug detection"
> depends on m && KASAN
> diff --git a/scripts/Makefile.kasan b/scripts/Makefile.kasan
> index 37323b0..a61b18e 100644
> --- a/scripts/Makefile.kasan
> +++ b/scripts/Makefile.kasan
> @@ -29,3 +29,7 @@ else
> endif
> endif
> endif
> +
> +CFLAGS_KASAN += $(call cc-option, \
> + $(if $(CONFIG_KASAN_READS),, --param asan-instrument-reads=0) \
> + $(if $(CONFIG_KASAN_WRITES),, --param asan-instrument-writes=0))
> --
> 1.9.1
>