From: Nathan Chancellor <natechancellor@gmail.com>
To: Sasha Levin <sashal@kernel.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>,
gregkh@linuxfoundation.org, clang-built-linux@googlegroups.com,
stable@vger.kernel.org
Subject: Re: [PATCH v3] lkdtm: support llvm-objcopy
Date: Thu, 16 May 2019 21:09:05 -0700 [thread overview]
Message-ID: <20190517040905.GA14524@archlinux-epyc> (raw)
In-Reply-To: <20190517040613.GA13981@archlinux-epyc>
[-- Attachment #1: Type: text/plain, Size: 1223 bytes --]
On Thu, May 16, 2019 at 09:06:13PM -0700, Nathan Chancellor wrote:
> On Fri, May 17, 2019 at 12:10:02AM +0000, Sasha Levin wrote:
> > Hi,
> >
> > [This is an automated email]
> >
> > This commit has been processed because it contains a -stable tag.
> > The stable tag indicates that it's relevant for the following trees: all
>
> Nick, the stable tag should probably specify 4.8+ since the commit it
> fixes came in during 4.8-rc1.
>
> Cc: stable@vger.kernel.org # 4.8+
>
> Might also help to add:
>
> Fixes: 9a49a528dcf3 ("lkdtm: add function for testing .rodata section")
>
> >
> > The bot has tested the following trees: v5.1.2, v5.0.16, v4.19.43, v4.14.119, v4.9.176, v4.4.179, v3.18.140.
> >
> > v5.1.2: Build OK!
> > v5.0.16: Build OK!
> > v4.19.43: Build OK!
> > v4.14.119: Failed to apply! Possible dependencies:
> > 039a1c42058d ("lkdtm: Relocate code to subdirectory")
>
> However, it will still need a manual backport because of the lack of
> this commit. I've attached the current patch backported for reference,
Would help if I actually did this... :^)
> the git am flags '-3 -p4 --directory=drivers/misc' help get it proper
> then the conflict is rather easy to resolve.
>
> Thanks,
> Nathan
[-- Attachment #2: 0001-lkdtm-support-llvm-objcopy.patch --]
[-- Type: text/plain, Size: 2363 bytes --]
From 10c0a74a8d92669b91b66efe6b72550fc24e8e7d Mon Sep 17 00:00:00 2001
From: Nick Desaulniers <ndesaulniers@google.com>
Date: Wed, 15 May 2019 11:24:41 -0700
Subject: [PATCH] lkdtm: support llvm-objcopy
With CONFIG_LKDTM=y and make OBJCOPY=llvm-objcopy, llvm-objcopy errors:
llvm-objcopy: error: --set-section-flags=.text conflicts with
--rename-section=.text=.rodata
Rather than support setting flags then renaming sections vs renaming
then setting flags, it's simpler to just change both at the same time
via --rename-section. Adding the load flag is required for GNU objcopy
to mark .rodata Type as PROGBITS after the rename.
This can be verified with:
$ readelf -S drivers/misc/lkdtm/rodata_objcopy.o
...
Section Headers:
[Nr] Name Type Address Offset
Size EntSize Flags Link Info Align
...
[ 1] .rodata PROGBITS 0000000000000000 00000040
0000000000000004 0000000000000000 A 0 0 4
...
Which shows that .text is now renamed .rodata, the alloc flag A is set,
the type is PROGBITS, and the section is not flagged as writeable W.
Cc: stable@vger.kernel.org
Link: https://sourceware.org/bugzilla/show_bug.cgi?id=24554
Link: https://github.com/ClangBuiltLinux/linux/issues/448
Reported-by: Nathan Chancellor <natechancellor@gmail.com>
Suggested-by: Alan Modra <amodra@gmail.com>
Suggested-by: Jordan Rupprect <rupprecht@google.com>
Suggested-by: Kees Cook <keescook@chromium.org>
Acked-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
drivers/misc/Makefile | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index c3c8624f4d95..805835c2b99b 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -70,8 +70,7 @@ KCOV_INSTRUMENT_lkdtm_rodata.o := n
OBJCOPYFLAGS :=
OBJCOPYFLAGS_lkdtm_rodata_objcopy.o := \
- --set-section-flags .text=alloc,readonly \
- --rename-section .text=.rodata
+ --rename-section .text=.rodata,alloc,readonly,load
targets += lkdtm_rodata.o lkdtm_rodata_objcopy.o
$(obj)/lkdtm_rodata_objcopy.o: $(obj)/lkdtm_rodata.o FORCE
$(call if_changed,objcopy)
--
2.22.0.rc0
prev parent reply other threads:[~2019-05-17 4:09 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-13 22:21 [PATCH] lkdtm: support llvm-objcopy Nick Desaulniers
2019-05-13 22:26 ` Nick Desaulniers
2019-05-13 23:04 ` Kees Cook
2019-05-13 23:29 ` Nathan Chancellor
2019-05-13 23:38 ` Jordan Rupprecht
2019-05-13 23:47 ` Nathan Chancellor
2019-05-13 23:50 ` Nick Desaulniers
2019-05-14 18:10 ` Kees Cook
2019-05-14 20:24 ` Nick Desaulniers
2019-05-15 16:42 ` Kees Cook
2019-05-15 17:37 ` Nick Desaulniers
2019-05-15 18:12 ` [PATCH v2] " Nick Desaulniers
2019-05-15 18:19 ` Nathan Chancellor
2019-05-15 18:24 ` [PATCH v3] " Nick Desaulniers
[not found] ` <20190517001002.D1A262084A@mail.kernel.org>
2019-05-17 4:06 ` Nathan Chancellor
2019-05-17 4:09 ` Nathan Chancellor [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190517040905.GA14524@archlinux-epyc \
--to=natechancellor@gmail.com \
--cc=clang-built-linux@googlegroups.com \
--cc=gregkh@linuxfoundation.org \
--cc=ndesaulniers@google.com \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.