* [PATCH] lkdtm: Fix targets for objcopy usage
@ 2016-07-29 2:30 Kees Cook
2016-07-29 9:37 ` Mark Rutland
0 siblings, 1 reply; 5+ messages in thread
From: Kees Cook @ 2016-07-29 2:30 UTC (permalink / raw)
To: Linus Torvalds
Cc: Arnd Bergmann, Mark Rutland, Greg Kroah-Hartman, linux-kernel
The targets for lkdtm's objcopy were missing which caused them to always
be rebuilt. This corrects the problem.
Additionally, commit f8fa70f392fa ("arm64: localise Image objcopy flags")
has landed now, so this removes the work-around for the global OBJCOPY
flag setting.
Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
---
drivers/misc/Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index 4387ccb79e64..132f4e3462ba 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -65,9 +65,9 @@ lkdtm-$(CONFIG_LKDTM) += lkdtm_perms.o
lkdtm-$(CONFIG_LKDTM) += lkdtm_rodata_objcopy.o
lkdtm-$(CONFIG_LKDTM) += lkdtm_usercopy.o
-OBJCOPYFLAGS :=
OBJCOPYFLAGS_lkdtm_rodata_objcopy.o := \
--set-section-flags .text=alloc,readonly \
--rename-section .text=.rodata
-$(obj)/lkdtm_rodata_objcopy.o: $(obj)/lkdtm_rodata.o
+targets += lkdtm_rodata.o lkdtm_rodata_objcopy.o
+$(obj)/lkdtm_rodata_objcopy.o: $(obj)/lkdtm_rodata.o FORCE
$(call if_changed,objcopy)
--
2.7.4
--
Kees Cook
Brillo & Chrome OS Security
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH] lkdtm: Fix targets for objcopy usage 2016-07-29 2:30 [PATCH] lkdtm: Fix targets for objcopy usage Kees Cook @ 2016-07-29 9:37 ` Mark Rutland 2016-08-01 21:25 ` Kees Cook 0 siblings, 1 reply; 5+ messages in thread From: Mark Rutland @ 2016-07-29 9:37 UTC (permalink / raw) To: Kees Cook; +Cc: Linus Torvalds, Arnd Bergmann, Greg Kroah-Hartman, linux-kernel Hi, On Thu, Jul 28, 2016 at 07:30:39PM -0700, Kees Cook wrote: > The targets for lkdtm's objcopy were missing which caused them to always > be rebuilt. This corrects the problem. > > Additionally, commit f8fa70f392fa ("arm64: localise Image objcopy flags") > has landed now, so this removes the work-around for the global OBJCOPY > flag setting. > > Reported-by: Linus Torvalds <torvalds@linux-foundation.org> > Signed-off-by: Kees Cook <keescook@chromium.org> With this applied, LKDTM builds fine for me on arm64, the redundant rebuilds are gone, and the result appears to work. So FWIW: Tested-by: Mark Rutland <mark.rutland@arm.com> Thanks, Mark. > --- > drivers/misc/Makefile | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile > index 4387ccb79e64..132f4e3462ba 100644 > --- a/drivers/misc/Makefile > +++ b/drivers/misc/Makefile > @@ -65,9 +65,9 @@ lkdtm-$(CONFIG_LKDTM) += lkdtm_perms.o > lkdtm-$(CONFIG_LKDTM) += lkdtm_rodata_objcopy.o > lkdtm-$(CONFIG_LKDTM) += lkdtm_usercopy.o > > -OBJCOPYFLAGS := > OBJCOPYFLAGS_lkdtm_rodata_objcopy.o := \ > --set-section-flags .text=alloc,readonly \ > --rename-section .text=.rodata > -$(obj)/lkdtm_rodata_objcopy.o: $(obj)/lkdtm_rodata.o > +targets += lkdtm_rodata.o lkdtm_rodata_objcopy.o > +$(obj)/lkdtm_rodata_objcopy.o: $(obj)/lkdtm_rodata.o FORCE > $(call if_changed,objcopy) > -- > 2.7.4 > > > -- > Kees Cook > Brillo & Chrome OS Security > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] lkdtm: Fix targets for objcopy usage 2016-07-29 9:37 ` Mark Rutland @ 2016-08-01 21:25 ` Kees Cook 2016-08-02 9:50 ` Mark Rutland 0 siblings, 1 reply; 5+ messages in thread From: Kees Cook @ 2016-08-01 21:25 UTC (permalink / raw) To: Mark Rutland; +Cc: Linus Torvalds, Arnd Bergmann, Greg Kroah-Hartman, LKML On Fri, Jul 29, 2016 at 2:37 AM, Mark Rutland <mark.rutland@arm.com> wrote: > Hi, > > On Thu, Jul 28, 2016 at 07:30:39PM -0700, Kees Cook wrote: >> The targets for lkdtm's objcopy were missing which caused them to always >> be rebuilt. This corrects the problem. >> >> Additionally, commit f8fa70f392fa ("arm64: localise Image objcopy flags") >> has landed now, so this removes the work-around for the global OBJCOPY >> flag setting. >> >> Reported-by: Linus Torvalds <torvalds@linux-foundation.org> >> Signed-off-by: Kees Cook <keescook@chromium.org> > > With this applied, LKDTM builds fine for me on arm64, the redundant > rebuilds are gone, and the result appears to work. So FWIW: > > Tested-by: Mark Rutland <mark.rutland@arm.com> Argh, it looks like ARM suffers the same global OBJCOPY problem, so I'm going to leave that change out. :( -Kees > > Thanks, > Mark. > >> --- >> drivers/misc/Makefile | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile >> index 4387ccb79e64..132f4e3462ba 100644 >> --- a/drivers/misc/Makefile >> +++ b/drivers/misc/Makefile >> @@ -65,9 +65,9 @@ lkdtm-$(CONFIG_LKDTM) += lkdtm_perms.o >> lkdtm-$(CONFIG_LKDTM) += lkdtm_rodata_objcopy.o >> lkdtm-$(CONFIG_LKDTM) += lkdtm_usercopy.o >> >> -OBJCOPYFLAGS := >> OBJCOPYFLAGS_lkdtm_rodata_objcopy.o := \ >> --set-section-flags .text=alloc,readonly \ >> --rename-section .text=.rodata >> -$(obj)/lkdtm_rodata_objcopy.o: $(obj)/lkdtm_rodata.o >> +targets += lkdtm_rodata.o lkdtm_rodata_objcopy.o >> +$(obj)/lkdtm_rodata_objcopy.o: $(obj)/lkdtm_rodata.o FORCE >> $(call if_changed,objcopy) >> -- >> 2.7.4 >> >> >> -- >> Kees Cook >> Brillo & Chrome OS Security >> -- Kees Cook Chrome OS & Brillo Security ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] lkdtm: Fix targets for objcopy usage 2016-08-01 21:25 ` Kees Cook @ 2016-08-02 9:50 ` Mark Rutland 2016-08-02 15:18 ` Kees Cook 0 siblings, 1 reply; 5+ messages in thread From: Mark Rutland @ 2016-08-02 9:50 UTC (permalink / raw) To: Kees Cook; +Cc: Linus Torvalds, Arnd Bergmann, Greg Kroah-Hartman, LKML On Mon, Aug 01, 2016 at 02:25:48PM -0700, Kees Cook wrote: > On Fri, Jul 29, 2016 at 2:37 AM, Mark Rutland <mark.rutland@arm.com> wrote: > > Hi, > > > > On Thu, Jul 28, 2016 at 07:30:39PM -0700, Kees Cook wrote: > >> The targets for lkdtm's objcopy were missing which caused them to always > >> be rebuilt. This corrects the problem. > >> > >> Additionally, commit f8fa70f392fa ("arm64: localise Image objcopy flags") > >> has landed now, so this removes the work-around for the global OBJCOPY > >> flag setting. > >> > >> Reported-by: Linus Torvalds <torvalds@linux-foundation.org> > >> Signed-off-by: Kees Cook <keescook@chromium.org> > > > > With this applied, LKDTM builds fine for me on arm64, the redundant > > rebuilds are gone, and the result appears to work. So FWIW: > > > > Tested-by: Mark Rutland <mark.rutland@arm.com> > > Argh, it looks like ARM suffers the same global OBJCOPY problem, so > I'm going to leave that change out. :( :( FWIW, I dropped a patch for ARM [1] in Russell's patch system [2]. Hopefully that will be picked up during the v4.9 merge window. Looking again, it appears a number of other arches might be affected: [mark@leverpostej:~/src/linux]% git grep 'OBJCOPYFLAGS\s\+:=' -- arch/*/Makefile arch/arm/Makefile:OBJCOPYFLAGS :=-O binary -R .comment -S arch/blackfin/Makefile:OBJCOPYFLAGS := -O binary -R .note -R .comment -S arch/cris/Makefile:OBJCOPYFLAGS := -O binary -R .note -R .comment -S arch/ia64/Makefile:OBJCOPYFLAGS := --strip-all arch/m32r/Makefile:OBJCOPYFLAGS := -O binary -R .note -R .comment -S arch/metag/Makefile:OBJCOPYFLAGS := -O binary -R .note -R .comment -S arch/mn10300/Makefile:OBJCOPYFLAGS := -O binary -R .note -R .comment -R .GCC-command-line -R .note.gnu.build-id -S arch/openrisc/Makefile:OBJCOPYFLAGS := -O binary -R .note -R .comment -S arch/s390/Makefile:OBJCOPYFLAGS := -O binary arch/sh/Makefile:OBJCOPYFLAGS := -O binary -R .note -R .note.gnu.build-id -R .comment \ arch/unicore32/Makefile:OBJCOPYFLAGS := -O binary -R .note -R .note.gnu.build-id -R .comment -S ... so we probably need to fix up these first, regardless. In the mean time, can we add the targets dependency, but leave the flags work-around intact? Thanks, Mark. [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2016-July/442974.html [2] http://www.armlinux.org.uk/developer/patches/viewpatch.php?id=8588/1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] lkdtm: Fix targets for objcopy usage 2016-08-02 9:50 ` Mark Rutland @ 2016-08-02 15:18 ` Kees Cook 0 siblings, 0 replies; 5+ messages in thread From: Kees Cook @ 2016-08-02 15:18 UTC (permalink / raw) To: Mark Rutland; +Cc: Linus Torvalds, Arnd Bergmann, Greg Kroah-Hartman, LKML On Tue, Aug 2, 2016 at 2:50 AM, Mark Rutland <mark.rutland@arm.com> wrote: > On Mon, Aug 01, 2016 at 02:25:48PM -0700, Kees Cook wrote: >> On Fri, Jul 29, 2016 at 2:37 AM, Mark Rutland <mark.rutland@arm.com> wrote: >> > Hi, >> > >> > On Thu, Jul 28, 2016 at 07:30:39PM -0700, Kees Cook wrote: >> >> The targets for lkdtm's objcopy were missing which caused them to always >> >> be rebuilt. This corrects the problem. >> >> >> >> Additionally, commit f8fa70f392fa ("arm64: localise Image objcopy flags") >> >> has landed now, so this removes the work-around for the global OBJCOPY >> >> flag setting. >> >> >> >> Reported-by: Linus Torvalds <torvalds@linux-foundation.org> >> >> Signed-off-by: Kees Cook <keescook@chromium.org> >> > >> > With this applied, LKDTM builds fine for me on arm64, the redundant >> > rebuilds are gone, and the result appears to work. So FWIW: >> > >> > Tested-by: Mark Rutland <mark.rutland@arm.com> >> >> Argh, it looks like ARM suffers the same global OBJCOPY problem, so >> I'm going to leave that change out. :( > > :( > > FWIW, I dropped a patch for ARM [1] in Russell's patch system [2]. Hopefully > that will be picked up during the v4.9 merge window. > > Looking again, it appears a number of other arches might be affected: > > [mark@leverpostej:~/src/linux]% git grep 'OBJCOPYFLAGS\s\+:=' -- arch/*/Makefile > arch/arm/Makefile:OBJCOPYFLAGS :=-O binary -R .comment -S > arch/blackfin/Makefile:OBJCOPYFLAGS := -O binary -R .note -R .comment -S > arch/cris/Makefile:OBJCOPYFLAGS := -O binary -R .note -R .comment -S > arch/ia64/Makefile:OBJCOPYFLAGS := --strip-all > arch/m32r/Makefile:OBJCOPYFLAGS := -O binary -R .note -R .comment -S > arch/metag/Makefile:OBJCOPYFLAGS := -O binary -R .note -R .comment -S > arch/mn10300/Makefile:OBJCOPYFLAGS := -O binary -R .note -R .comment -R .GCC-command-line -R .note.gnu.build-id -S > arch/openrisc/Makefile:OBJCOPYFLAGS := -O binary -R .note -R .comment -S > arch/s390/Makefile:OBJCOPYFLAGS := -O binary > arch/sh/Makefile:OBJCOPYFLAGS := -O binary -R .note -R .note.gnu.build-id -R .comment \ > arch/unicore32/Makefile:OBJCOPYFLAGS := -O binary -R .note -R .note.gnu.build-id -R .comment -S > > ... so we probably need to fix up these first, regardless. Oof, yeah. I'll add this to the "weird little things to fix" TODO list. :) > > In the mean time, can we add the targets dependency, but leave the flags > work-around intact? Yeah, done. I've sent a pull request to Greg for that now. -Kees > > Thanks, > Mark. > > [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2016-July/442974.html > [2] http://www.armlinux.org.uk/developer/patches/viewpatch.php?id=8588/1 -- Kees Cook Chrome OS & Brillo Security ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-08-02 15:20 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-07-29 2:30 [PATCH] lkdtm: Fix targets for objcopy usage Kees Cook 2016-07-29 9:37 ` Mark Rutland 2016-08-01 21:25 ` Kees Cook 2016-08-02 9:50 ` Mark Rutland 2016-08-02 15:18 ` Kees Cook
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox