Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1452225 > unrolled thread
| Started by | Kees Cook <keescook@chromium.org> |
|---|---|
| First post | 2016-07-29 04:40 +0200 |
| Last post | 2016-08-02 17:30 +0200 |
| Articles | 5 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] lkdtm: Fix targets for objcopy usage Kees Cook <keescook@chromium.org> - 2016-07-29 04:40 +0200
Re: [PATCH] lkdtm: Fix targets for objcopy usage Mark Rutland <mark.rutland@arm.com> - 2016-07-29 11:40 +0200
Re: [PATCH] lkdtm: Fix targets for objcopy usage Kees Cook <keescook@chromium.org> - 2016-08-01 23:50 +0200
Re: [PATCH] lkdtm: Fix targets for objcopy usage Mark Rutland <mark.rutland@arm.com> - 2016-08-02 12:50 +0200
Re: [PATCH] lkdtm: Fix targets for objcopy usage Kees Cook <keescook@chromium.org> - 2016-08-02 17:30 +0200
| From | Kees Cook <keescook@chromium.org> |
|---|---|
| Date | 2016-07-29 04:40 +0200 |
| Subject | [PATCH] lkdtm: Fix targets for objcopy usage |
| Message-ID | <s05Sp-6R6-7@gated-at.bofh.it> |
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
[toc] | [next] | [standalone]
| From | Mark Rutland <mark.rutland@arm.com> |
|---|---|
| Date | 2016-07-29 11:40 +0200 |
| Message-ID | <s0cqR-2Ol-7@gated-at.bofh.it> |
| In reply to | #1452225 |
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
>
[toc] | [prev] | [next] | [standalone]
| From | Kees Cook <keescook@chromium.org> |
|---|---|
| Date | 2016-08-01 23:50 +0200 |
| Message-ID | <s1tfY-3At-33@gated-at.bofh.it> |
| In reply to | #1452351 |
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
[toc] | [prev] | [next] | [standalone]
| From | Mark Rutland <mark.rutland@arm.com> |
|---|---|
| Date | 2016-08-02 12:50 +0200 |
| Message-ID | <s1FqO-3dN-25@gated-at.bofh.it> |
| In reply to | #1453493 |
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
[toc] | [prev] | [next] | [standalone]
| From | Kees Cook <keescook@chromium.org> |
|---|---|
| Date | 2016-08-02 17:30 +0200 |
| Message-ID | <s1JNM-6gj-5@gated-at.bofh.it> |
| In reply to | #1453738 |
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
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web