[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.21.2004092242450.2403@hadrien>
Date: Thu, 9 Apr 2020 22:45:59 +0200 (CEST)
From: Julia Lawall <julia.lawall@...ia.fr>
To: Alexander Popov <alex.popov@...ux.com>
cc: Gilles Muller <Gilles.Muller@...6.fr>,
Nicolas Palix <nicolas.palix@...g.fr>,
Michal Marek <michal.lkml@...kovi.net>, cocci@...teme.lip6.fr,
"kernel-hardening@...ts.openwall.com"
<kernel-hardening@...ts.openwall.com>,
Jann Horn <jannh@...gle.com>,
Kees Cook <keescook@...omium.org>,
Hans Verkuil <hverkuil@...all.nl>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Linux Media Mailing List <linux-media@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Markus Elfring <Markus.Elfring@....de>
Subject: Re: [Cocci] Coccinelle rule for CVE-2019-18683
> >> kthread_stop@...p_p(...)
> >> ...
> >> mutex_lock@...k_p(E)
> >>
> >> @script:python@
> >> stop_p << race.stop_p;
> >> unlock_p << race.unlock_p;
> >> lock_p << race.lock_p;
> >> E << race.E;
> >> @@
> >>
> >> coccilib.report.print_report(unlock_p[0], 'mutex_unlock(' + E + ') here')
> >> coccilib.report.print_report(stop_p[0], 'kthread_stop here')
> >> coccilib.report.print_report(lock_p[0], 'mutex_lock(' + E + ') here\n')
>
> ...
>
> > Based on Jann's suggestion, it seem like it could be interesting to find
> > these locking pauses, and then collect functions that are used in locks
> > and in lock pauses. If a function is mostly used with locks held, then
> > using it in a lock pause could be a sign of a bug. I will see if it turns
> > up anything interesting.
>
> Do you mean collecting the behaviour that happens between unlocking and locking
> and then analysing it somehow?
Yes. I have tried doing what I described, but I'm not sure that the
results are very reliable at the moment.
julia
Powered by blists - more mailing lists