Muli Ben-Yehuda's journal

September 24, 2003

syscalltrack: using the build system to catch violators

Filed under: Uncategorized — Muli Ben-Yehuda @ 1:39 PM

We have several cases in syscalltrack, where due to bad design or circumstances, when you change one file (e.g. the syscall stub code template files) you have to change accordingly another file (e.g. the “special syscalls” files). I’m reading an interview with Rusty Russell on kerneltrap, where Rusty describes how he implemented a MODULE_VERSION macro:

“JA: What will the MODULE_VERSION macro do?

Rusty Russell: Oh, that reminds me, I have to test that. Thanks.

OK, it’s sent. The patch allows a module author to add a version tag to their module, which the modern modinfo can extract. This is a one-liner. But I wanted to catch the (common) case where a change has been made to a driver by someone else, and the version number not modified. So I added a step to the build where every module with a version would have a checksum of the source file contents appended. It’s not perfect, but it gives *some* simple protection, and driver authors can always ignore it.

Patch can be found in my patch collection, or once it’s applied, in you will be able to find it here.”

I wonder if we can use something similar in syscalltrack. Even better would be to remove those nasty dependencies.

3 Comments »

  1. Re: Happy Birthday!!
    Darn, why are you so quick?

    Comment by ideawerkz — September 24, 2003 @ 4:22 AM | Reply

    • quick?
      I’m as slow as a dim witted snail. What did you mean?

      Comment by mulix — September 24, 2003 @ 4:41 AM | Reply

      • I am confused. I forgot why I wrote that 😀
        –amnesia

        Comment by ideawerkz — September 24, 2003 @ 4:44 AM


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: