[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Sat, 6 Jun 2020 09:30:36 +0200
From: Markus Elfring <Markus.Elfring@....de>
To: Denis Efremov <efremov@...ux.com>,
Coccinelle <cocci@...teme.lip6.fr>,
Gilles Muller <Gilles.Muller@...6.fr>,
Julia Lawall <Julia.Lawall@...6.fr>,
Masahiro Yamada <yamada.masahiro@...ionext.com>,
Michal Marek <michal.lkml@...kovi.net>,
Nicolas Palix <nicolas.palix@...g.fr>
Cc: kernel-janitors@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] coccinelle: api: add kvfree script
> Check that alloc and free types of functions match each other.
Further software development challenges are interesting also for such an use case.
> +/// Check that kvmalloc'ed memory is freed by kfree functions,
> +/// vmalloc'ed by vfree functions and kvmalloc'ed by kvfree
> +/// functions.
* How do you think about to offer a wording suggestion for subjects of
generated patches?
* Will the presented case distinction trigger further improvements for
the desired matching?
* Would you like to generalise the safe handling of allocations
and corresponding release of system resources?
> +// Confidence: High
I suggest to reconsider this information once more.
> +virtual patch
> +virtual report
> +virtual org
> +virtual context
+virtual patch, report, org, context
Is such a SmPL code variant more succinct?
> +@...ice@
* Can it be that this SmPL rule is not relevant for all operation modes?
* Will additional dependencies matter?
> + E = \(kmalloc@kok\|kzalloc@kok\|krealloc@kok\|kcalloc@kok\|kmalloc_node@kok\|kzalloc_node@kok\|kmalloc_array@kok\|kmalloc_array_node@kok\|kcalloc_node@kok\)(...)
I would prefer an other coding style here.
* Items for such SmPL disjunctions can be specified also on multiple lines.
* The semantic patch language supports further means to handle function name lists
in more convenient ways.
Would you like to work with customised constraints?
> +msg = "WARNING: kmalloc is used to allocate this memory at line %s" % (k[0].line)
> +coccilib.report.print_report(p[0], msg)
* I propose once more omit the extra variable “msg” at similar places.
The desired message object can be directly passed as a function parameter.
* I find the diagnostic text insufficient.
* Can the corresponding function category be dynamically determined?
Are you looking for opportunities to avoid unwanted code duplication?
Regards,
Markus
Powered by blists - more mailing lists