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
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:
* 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
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
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.
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/