Messages in this thread | | | From | (David Wagner) | Subject | Re: BKL removal | Date | 18 Jul 2002 00:30:47 GMT |
| |
Dave Hansen wrote: >The Stanford Checker or something resembling it would be invaluable >here. It would be a hell of a lot better than my litle patch!
Hmm. There's a chance we might be able to help. Our group is building a tool called MOPS that is similar in spirit to the Stanford Checker. MOPS is work-in-progress and will be open source. I haven't tried it yet on the Linux kernel, but this seems like a reasonable thing to try.
What would you want to check? Track lock_kernel() and unlock_kernel() and make sure that the BKL is never held when you return from a function? Something else?
MOPS can handle nested and recursive functions nicely. However, it has some important limitations: * Useability hasn't been a focus yet; the input language is not terribly elegant, and the output language is not exceptionally friendly. (yet) * It currently ignores function pointers. (yet) * #ifdefs are trouble; we only analyzed pre-processed C code. * It can't reason about data, variables, or values on the heap. We're working hard on useability. We may fix the second limitation in future months. However, the latter two are unlikely to go away in the foreseeable future. Would it still be worth investigating MOPS, despite these limitations?
The MOPS web page is at http://www.cs.berkeley.edu/~daw/mops/ There is an initial release there, though it has some known problems. We're working hard to making it more usable, and I hope to be able to report more progress in upcoming months. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |