2008-07-17 07:03:34

by Mathieu Desnoyers

[permalink] [raw]
Subject: [PATCH] Fix markers duplicate modpost entry

When a kernel was rebuilt, the previous Module.markers was not cleared. It
caused markers with different format strings to appear as duplicates when a
markers was changed.

I merely merged the patches from Roland and Wenji here. It applies to
mainline (and is not intrusive, so will also apply to linux-next).

Signed-off-by: Mathieu Desnoyers <[email protected]>
From: Roland McGrath <roland@redhat dot com>
From: Wenji Huang <[email protected]>
CC: [email protected]
---
scripts/Makefile.modpost | 1 +
scripts/mod/modpost.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)

Index: linux-2.6-lttng/scripts/Makefile.modpost
===================================================================
--- linux-2.6-lttng.orig/scripts/Makefile.modpost 2008-07-17 02:47:44.000000000 -0400
+++ linux-2.6-lttng/scripts/Makefile.modpost 2008-07-17 02:48:17.000000000 -0400
@@ -101,6 +101,7 @@ quiet_cmd_kernel-mod = MODPOST $@
cmd_kernel-mod = $(modpost) $@

vmlinux.o: FORCE
+ @rm -fr $(kernelmarkersfile)
$(call cmd,kernel-mod)

# Declare generated files as targets for modpost
Index: linux-2.6-lttng/scripts/mod/modpost.c
===================================================================
--- linux-2.6-lttng.orig/scripts/mod/modpost.c 2008-07-17 02:49:33.000000000 -0400
+++ linux-2.6-lttng/scripts/mod/modpost.c 2008-07-17 02:50:10.000000000 -0400
@@ -1992,7 +1992,8 @@ static void read_markers(const char *fna
mod->skip = 1;
}

- add_marker(mod, marker, fmt);
+ if (!mod->skip)
+ add_marker(mod, marker, fmt);
}
return;
fail:

--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68


2008-07-17 07:17:41

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] Fix markers duplicate modpost entry

On Thu, 17 Jul 2008 03:03:21 -0400 Mathieu Desnoyers <[email protected]> wrote:

> When a kernel was rebuilt, the previous Module.markers was not cleared. It
> caused markers with different format strings to appear as duplicates when a
> markers was changed.
>
> I merely merged the patches from Roland and Wenji here. It applies to
> mainline (and is not intrusive, so will also apply to linux-next).

Is this fix needed in 2.6.26.x? 2.6.25.x?

> Signed-off-by: Mathieu Desnoyers <[email protected]>
> From: Roland McGrath <roland@redhat dot com>
> From: Wenji Huang <[email protected]>
> CC: [email protected]

whoa, what's all that about?

Patches can only have one Author: in git, and we indicate that in
emails by putting a From: line right at the top of the changelog.
(Additional credits can and should be mentioned in the changelog text
of course). When that From: line is missing we take the authorship
info from the email headers.

So according to the above, this patch has three authors. Geeze, even I
can type faster than that!

Who wrote it?

> ---
> scripts/Makefile.modpost | 1 +
> scripts/mod/modpost.c | 3 ++-
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> Index: linux-2.6-lttng/scripts/Makefile.modpost
> ===================================================================
> --- linux-2.6-lttng.orig/scripts/Makefile.modpost 2008-07-17 02:47:44.000000000 -0400
> +++ linux-2.6-lttng/scripts/Makefile.modpost 2008-07-17 02:48:17.000000000 -0400
> @@ -101,6 +101,7 @@ quiet_cmd_kernel-mod = MODPOST $@
> cmd_kernel-mod = $(modpost) $@
>
> vmlinux.o: FORCE
> + @rm -fr $(kernelmarkersfile)
> $(call cmd,kernel-mod)
>
> # Declare generated files as targets for modpost
> Index: linux-2.6-lttng/scripts/mod/modpost.c
> ===================================================================
> --- linux-2.6-lttng.orig/scripts/mod/modpost.c 2008-07-17 02:49:33.000000000 -0400
> +++ linux-2.6-lttng/scripts/mod/modpost.c 2008-07-17 02:50:10.000000000 -0400
> @@ -1992,7 +1992,8 @@ static void read_markers(const char *fna
> mod->skip = 1;
> }
>
> - add_marker(mod, marker, fmt);
> + if (!mod->skip)
> + add_marker(mod, marker, fmt);
> }
> return;
> fail:

2008-07-17 14:14:19

by Mathieu Desnoyers

[permalink] [raw]
Subject: Re: [PATCH] Fix markers duplicate modpost entry

* Andrew Morton ([email protected]) wrote:
> On Thu, 17 Jul 2008 03:03:21 -0400 Mathieu Desnoyers <[email protected]> wrote:
>
> > When a kernel was rebuilt, the previous Module.markers was not cleared. It
> > caused markers with different format strings to appear as duplicates when a
> > markers was changed.
> >
> > I merely merged the patches from Roland and Wenji here. It applies to
> > mainline (and is not intrusive, so will also apply to linux-next).
>
> Is this fix needed in 2.6.26.x? 2.6.25.x?
>

Yes, it's needed in 2.6.26.x and 2.6.25, but I doubt it is critical :
only needed for systemtap users which use markers and rebuild their
kernel after having changed a marker format string.

> > Signed-off-by: Mathieu Desnoyers <[email protected]>
> > From: Roland McGrath <roland@redhat dot com>
> > From: Wenji Huang <[email protected]>
> > CC: [email protected]
>
> whoa, what's all that about?
>
> Patches can only have one Author: in git, and we indicate that in
> emails by putting a From: line right at the top of the changelog.
> (Additional credits can and should be mentioned in the changelog text
> of course). When that From: line is missing we take the authorship
> info from the email headers.
>
> So according to the above, this patch has three authors. Geeze, even I
> can type faster than that!
>

hehehe :)

> Who wrote it?
>

I took the diffs Roland and Wenji sent in separate emails and created
this patch. They are the ones who actually identified the solution. So I
guess I should be the author, with credits to them, if they are ok with
that.

Mathieu


> > ---
> > scripts/Makefile.modpost | 1 +
> > scripts/mod/modpost.c | 3 ++-
> > 2 files changed, 3 insertions(+), 1 deletion(-)
> >
> > Index: linux-2.6-lttng/scripts/Makefile.modpost
> > ===================================================================
> > --- linux-2.6-lttng.orig/scripts/Makefile.modpost 2008-07-17 02:47:44.000000000 -0400
> > +++ linux-2.6-lttng/scripts/Makefile.modpost 2008-07-17 02:48:17.000000000 -0400
> > @@ -101,6 +101,7 @@ quiet_cmd_kernel-mod = MODPOST $@
> > cmd_kernel-mod = $(modpost) $@
> >
> > vmlinux.o: FORCE
> > + @rm -fr $(kernelmarkersfile)
> > $(call cmd,kernel-mod)
> >
> > # Declare generated files as targets for modpost
> > Index: linux-2.6-lttng/scripts/mod/modpost.c
> > ===================================================================
> > --- linux-2.6-lttng.orig/scripts/mod/modpost.c 2008-07-17 02:49:33.000000000 -0400
> > +++ linux-2.6-lttng/scripts/mod/modpost.c 2008-07-17 02:50:10.000000000 -0400
> > @@ -1992,7 +1992,8 @@ static void read_markers(const char *fna
> > mod->skip = 1;
> > }
> >
> > - add_marker(mod, marker, fmt);
> > + if (!mod->skip)
> > + add_marker(mod, marker, fmt);
> > }
> > return;
> > fail:
>

--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68

2008-07-17 14:52:29

by Mathieu Desnoyers

[permalink] [raw]
Subject: Re: [PATCH] Fix markers duplicate modpost entry (update)

When a kernel was rebuilt, the previous Module.markers was not cleared. It
caused markers with different format strings to appear as duplicates when a
markers was changed. This problem is present since scripts/mod/modpost.c started
to generate Module.markers,
commit b2e3e658b344c6bcfb8fb694100ab2f2b5b2edb0

It therefore applies to 2.6.25, 2.6.26 and linux-next.

I merely merged the patches from Roland, Wenji and Takashi here.

Credits to
Roland McGrath <[email protected]>
Wenji Huang <[email protected]>
and
Takashi Nishiie <[email protected]>

for providing the individual fixes.

- Changelog :
- Integrated Takashi's Makefile modification to clear Module.markers upon
make clean.

Signed-off-by: Mathieu Desnoyers <[email protected]>
CC: Roland McGrath <[email protected]>
CC: Wenji Huang <[email protected]>
CC: Takashi Nishiie <[email protected]>
CC: [email protected]
---
Makefile | 3 ++-
scripts/Makefile.modpost | 1 +
scripts/mod/modpost.c | 3 ++-
3 files changed, 5 insertions(+), 2 deletions(-)

Index: linux-2.6-lttng/scripts/Makefile.modpost
===================================================================
--- linux-2.6-lttng.orig/scripts/Makefile.modpost 2008-07-17 02:47:44.000000000 -0400
+++ linux-2.6-lttng/scripts/Makefile.modpost 2008-07-17 02:48:17.000000000 -0400
@@ -101,6 +101,7 @@ quiet_cmd_kernel-mod = MODPOST $@
cmd_kernel-mod = $(modpost) $@

vmlinux.o: FORCE
+ @rm -fr $(kernelmarkersfile)
$(call cmd,kernel-mod)

# Declare generated files as targets for modpost
Index: linux-2.6-lttng/scripts/mod/modpost.c
===================================================================
--- linux-2.6-lttng.orig/scripts/mod/modpost.c 2008-07-17 02:49:33.000000000 -0400
+++ linux-2.6-lttng/scripts/mod/modpost.c 2008-07-17 02:50:10.000000000 -0400
@@ -1992,7 +1992,8 @@ static void read_markers(const char *fna
mod->skip = 1;
}

- add_marker(mod, marker, fmt);
+ if (!mod->skip)
+ add_marker(mod, marker, fmt);
}
return;
fail:
Index: linux-2.6-lttng/Makefile
===================================================================
--- linux-2.6-lttng.orig/Makefile 2008-07-17 10:37:44.000000000 -0400
+++ linux-2.6-lttng/Makefile 2008-07-17 10:38:34.000000000 -0400
@@ -1133,7 +1133,8 @@ clean: archclean $(clean-dirs)
@find . $(RCS_FIND_IGNORE) \
\( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \
-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
- -o -name '*.symtypes' -o -name 'modules.order' \) \
+ -o -name '*.symtypes' -o -name 'modules.order' \
+ -o -name 'Module.markers' \) \
-type f -print | xargs rm -f

# mrproper - Delete all generated files, including .config
--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68

2008-07-17 22:30:14

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] Fix markers duplicate modpost entry (update)

On Thu, 17 Jul 2008 10:52:17 -0400
Mathieu Desnoyers <[email protected]> wrote:

> Subject: Re: [PATCH] Fix markers duplicate modpost entry (update)

Please prepare the patch titles along the lines of

[patch] subsystem-identifer: what i did to it

so this one would have been

[patch] markers: fix markers duplicate modpost entry


It's for consistency, and for ease of reading commits mailing lists and
gitk titles and git-shortlog output, etc.

Thanks.

2008-07-17 22:42:57

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] Fix markers duplicate modpost entry (update)

On Thu, 17 Jul 2008 15:28:37 -0700 Andrew Morton wrote:

> On Thu, 17 Jul 2008 10:52:17 -0400
> Mathieu Desnoyers <[email protected]> wrote:
>
> > Subject: Re: [PATCH] Fix markers duplicate modpost entry (update)
>
> Please prepare the patch titles along the lines of
>
> [patch] subsystem-identifer: what i did to it
>
> so this one would have been
>
> [patch] markers: fix markers duplicate modpost entry
>
>
> It's for consistency, and for ease of reading commits mailing lists and
> gitk titles and git-shortlog output, etc.

Agreed, although I would have used

[PATCH] modpost: fix duplicate markers entries


---
~Randy
Linux Plumbers Conference, 17-19 September 2008, Portland, Oregon USA
http://linuxplumbersconf.org/