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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 24 May 2016 10:39:01 +0200 (CEST)
From:	Julia Lawall <julia.lawall@...6.fr>
To:	Vaishali Thakkar <vaishali.thakkar@...cle.com>
cc:	Gilles Muller <Gilles.Muller@...6.fr>, nicolas.palix@...g.fr,
	mmarek@...e.com, cocci@...teme.lip6.fr,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3] Coccinelle: noderef: Add new rules and correct the
 old rule

Acked-by: Julia Lawall <julia.lawall@...6.fr>

On Tue, 24 May 2016, Vaishali Thakkar wrote:

> Add new rules to detect the cases where sizeof is used in
> function calls as a argument.
>
> Also, for the patch mode third rule should behave same as
> second rule with arguments reversed. So, change that as well.
>
> Signed-off-by: Vaishali Thakkar <vaishali.thakkar@...cle.com>
> ---
> Changes since v2:
> 	- Add rules for function calls. This will behave as
>           more general rules and covers cases which were
>           covered by the rule in previous versions of the patch
> 	- Change subject and commit log accordingly.
> Changes since v1:
> 	- Declare i as an expression instead of identifier to
> 	  cover more cases
> ---
>  scripts/coccinelle/misc/noderef.cocci | 18 +++++++++++++++++-
>  1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/coccinelle/misc/noderef.cocci b/scripts/coccinelle/misc/noderef.cocci
> index 80a831c..007f0de 100644
> --- a/scripts/coccinelle/misc/noderef.cocci
> +++ b/scripts/coccinelle/misc/noderef.cocci
> @@ -16,6 +16,7 @@ virtual patch
>  @depends on patch@
>  expression *x;
>  expression f;
> +expression i;
>  type T;
>  @@
>
> @@ -30,15 +31,26 @@ f(...,(T)(x),...,sizeof(
>  + *x
>     ),...)
>  |
> -f(...,sizeof(x),...,(T)(
> +f(...,sizeof(
> +- x
> ++ *x
> +   ),...,(T)(x),...)
> +|
> +f(...,(T)(x),...,i*sizeof(
>  - x
>  + *x
>     ),...)
> +|
> +f(...,i*sizeof(
> +- x
> ++ *x
> +   ),...,(T)(x),...)
>  )
>
>  @r depends on !patch@
>  expression *x;
>  expression f;
> +expression i;
>  position p;
>  type T;
>  @@
> @@ -49,6 +61,10 @@ type T;
>  *f(...,(T)(x),...,sizeof@p(x),...)
>  |
>  *f(...,sizeof@p(x),...,(T)(x),...)
> +|
> +*f(...,(T)(x),...,i*sizeof@p(x),...)
> +|
> +*f(...,i*sizeof@p(x),...,(T)(x),...)
>  )
>
>  @script:python depends on org@
> --
> 2.1.4
>
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ