From: Dawson Engler <engler@csl.Stanford.EDU>
To: viro@math.psu.edu (Alexander Viro)
Cc: ak@muc.de (Andi Kleen), linux-kernel@vger.kernel.org
Subject: Re: [CHECKER] 37 stack variables >= 1K in 2.4.17
Date: Thu, 13 Jun 2002 14:50:28 -0700 (PDT) [thread overview]
Message-ID: <200206132150.OAA14200@csl.Stanford.EDU> (raw)
In-Reply-To: <Pine.GSO.4.21.0206131420010.20315-100000@weyl.math.psu.edu> from "Alexander Viro" at Jun 13, 2002 02:26:54 PM
> On 13 Jun 2002, Andi Kleen wrote:
>
> > Alexander Viro <viro@math.psu.edu> writes:
> > >
> > > I mean that due to the loop (link_path_walk->do_follow_link->foofs_follow_link
> > > ->vfs_follow_link->link_path_walk) you will get infinite maximal depth
> > > for everything that can be called by any of these functions. And that's
> > > a _lot_ of stuff.
> >
> > Surely an analysis pass can detect recursive function chains and flag them
> > (e.g. the global IPA alias analysis pass in open64 does this)
>
> Ugh... OK, let me try again:
>
> One bit of apriory information needed to get anything interesting from
> this analysis: there is a set of mutually recursive functions (see above)
> and there is a limit (5) on the depth of recursion in that loop.
>
> It has to be known to checker. Explicitly, since
> a) automatically deducing it is not realistic
> b) cutting off the stuff behind that loop will cut off a _lot_ of
> things - both in filesystems and in VFS (and in block layer, while we are
> at it).
We're all about jamming system specific information into the checking
extensions. It's usually just a few if statements. So to be clear: we
can simply assume that the loop
link_path_walk
->do_follow_link
->foofs_follow_link
->vfs_follow_link
->link_path_walk
can happen exactly 5 times?
In general such restrictions are interesting, since they concretely
show how having a way to include system-specific knowlege into checking
is useful. Are there any other such relationships? The other example
I know of is the do_page_fault (sp?) routine that can potentially be
invoked at very copy_*_user site that page faults. You need to know
this to detect certain classes of deadlock, but there's no way to
discern this path from the code without a priori knowlege.
next prev parent reply other threads:[~2002-06-13 21:50 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-06-10 3:56 Dawson Engler
2002-06-12 8:43 ` Pavel Machek
2002-06-12 19:11 ` Nikita Danilov
2002-06-12 21:51 ` Benjamin LaHaise
2002-06-12 22:26 ` Alexander Viro
2002-06-12 22:38 ` Benjamin LaHaise
2002-06-12 22:44 ` Robert Love
2002-06-12 22:55 ` procfs documentation Tom Bradley
2002-06-13 11:17 ` John Levon
2002-06-13 0:20 ` [CHECKER] 37 stack variables >= 1K in 2.4.17 Alexander Viro
2002-06-13 8:30 ` Helge Hafting
2002-06-13 13:24 ` Roger Larsson
2002-06-14 10:06 ` Helge Hafting
2002-06-13 6:38 ` Dawson Engler
2002-06-13 6:59 ` Alexander Viro
2002-06-13 17:41 ` Daniel Phillips
2002-06-13 17:53 ` Alexander Viro
2002-06-13 18:45 ` Daniel Phillips
2002-06-13 17:56 ` Andi Kleen
2002-06-13 18:26 ` Alexander Viro
2002-06-13 19:01 ` Andi Kleen
2002-06-14 0:05 ` William Lee Irwin III
2002-06-13 21:50 ` Dawson Engler [this message]
2002-06-13 22:43 ` Oliver Xymoron
2002-06-14 0:25 ` Alexander Viro
2002-06-13 6:36 ` Dawson Engler
2002-06-16 0:48 Andries.Brouwer
2002-06-16 1:08 ` Alexander Viro
2002-06-16 7:47 Andries.Brouwer
2002-06-16 8:36 ` Alexander Viro
2002-06-16 9:59 Andries.Brouwer
2002-06-16 10:33 ` Alexander Viro
2002-06-16 10:56 Andries.Brouwer
2002-06-16 11:38 ` Alexander Viro
2002-06-16 13:13 Andries.Brouwer
2002-06-16 18:51 ` Alexander Viro
2002-06-16 20:41 Andries.Brouwer
2002-06-16 21:33 ` Andreas Dilger
2002-06-16 21:34 ` Alexander Viro
2002-06-17 10:09 ` David Woodhouse
2002-06-16 22:05 Andries.Brouwer
2002-06-16 23:57 ` Alexander Viro
2002-06-17 11:07 Andries.Brouwer
2002-06-17 12:00 ` David Woodhouse
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200206132150.OAA14200@csl.Stanford.EDU \
--to=engler@csl.stanford.edu \
--cc=ak@muc.de \
--cc=linux-kernel@vger.kernel.org \
--cc=viro@math.psu.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®