From: Alexander Potapenko <glider@google.com> To: Sven Schnelle <svens@linux.ibm.com> Cc: Heiko Carstens <hca@linux.ibm.com>, Marco Elver <elver@google.com>, Vasily Gorbik <gor@linux.ibm.com>, Christian Borntraeger <borntraeger@de.ibm.com>, kasan-dev <kasan-dev@googlegroups.com>, Linux Memory Management List <linux-mm@kvack.org>, LKML <linux-kernel@vger.kernel.org>, linux-s390 <linux-s390@vger.kernel.org> Subject: Re: [PATCH 2/4] kfence: add function to mask address bits Date: Thu, 29 Jul 2021 15:59:21 +0200 [thread overview] Message-ID: <CAG_fn=XHr2j+xVaxjxqSUKU7ddDoekvxVoac9sSJ+Yk3voRUnA@mail.gmail.com> (raw) In-Reply-To: <yt9dtukdteoj.fsf@linux.ibm.com> On Thu, Jul 29, 2021 at 3:47 PM Sven Schnelle <svens@linux.ibm.com> wrote: > > Alexander Potapenko <glider@google.com> writes: > > > On Wed, Jul 28, 2021 at 9:03 PM Heiko Carstens <hca@linux.ibm.com> wrote: > >> > >> From: Sven Schnelle <svens@linux.ibm.com> > >> > >> s390 only reports the page address during a translation fault. > >> To make the kfence unit tests pass, add a function that might > >> be implemented by architectures to mask out address bits. > >> > >> Signed-off-by: Sven Schnelle <svens@linux.ibm.com> > >> Signed-off-by: Heiko Carstens <hca@linux.ibm.com> > >> --- > >> mm/kfence/kfence_test.c | 13 ++++++++++++- > >> 1 file changed, 12 insertions(+), 1 deletion(-) > >> > >> diff --git a/mm/kfence/kfence_test.c b/mm/kfence/kfence_test.c > >> index 942cbc16ad26..eb6307c199ea 100644 > >> --- a/mm/kfence/kfence_test.c > >> +++ b/mm/kfence/kfence_test.c > >> @@ -23,8 +23,15 @@ > >> #include <linux/tracepoint.h> > >> #include <trace/events/printk.h> > >> > >> +#include <asm/kfence.h> > >> + > >> #include "kfence.h" > >> > >> +/* May be overridden by <asm/kfence.h>. */ > >> +#ifndef arch_kfence_test_address > >> +#define arch_kfence_test_address(addr) (addr) > >> +#endif > >> + > >> /* Report as observed from console. */ > >> static struct { > >> spinlock_t lock; > >> @@ -82,6 +89,7 @@ static const char *get_access_type(const struct expect_report *r) > >> /* Check observed report matches information in @r. */ > >> static bool report_matches(const struct expect_report *r) > >> { > >> + unsigned long addr = (unsigned long)r->addr; > >> bool ret = false; > >> unsigned long flags; > >> typeof(observed.lines) expect; > >> @@ -131,22 +139,25 @@ static bool report_matches(const struct expect_report *r) > >> switch (r->type) { > >> case KFENCE_ERROR_OOB: > >> cur += scnprintf(cur, end - cur, "Out-of-bounds %s at", get_access_type(r)); > >> + addr = arch_kfence_test_address(addr); > > > > Can we normalize addr once before (or after) this switch? > > > > I don't think so. When reporing corrupted memory or an invalid free the > address is not generated by hardware but kfence itself, and therefore we > would strip valid bits. Ah, sorry, I missed that.
next prev parent reply other threads:[~2021-07-29 14:11 UTC|newest] Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-07-28 19:02 [PATCH 0/4] s390: add kfence support Heiko Carstens 2021-07-28 19:02 ` [PATCH 1/4] s390/mm: implement set_memory_4k() Heiko Carstens 2021-07-28 19:02 ` [PATCH 2/4] kfence: add function to mask address bits Heiko Carstens 2021-07-28 19:28 ` Christian Borntraeger 2021-07-29 7:48 ` Marco Elver 2021-07-29 12:25 ` Heiko Carstens 2021-07-29 12:27 ` Marco Elver 2021-07-29 12:27 ` Marco Elver 2021-07-29 12:43 ` Alexander Potapenko 2021-07-29 12:43 ` Alexander Potapenko 2021-07-29 13:47 ` Sven Schnelle 2021-07-29 13:59 ` Alexander Potapenko [this message] 2021-07-29 13:59 ` Alexander Potapenko 2021-07-28 19:02 ` [PATCH 3/4] s390: add support for KFENCE Heiko Carstens 2021-07-28 19:02 ` [PATCH 4/4] s390: add kfence region to pagetable dumper Heiko Carstens
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='CAG_fn=XHr2j+xVaxjxqSUKU7ddDoekvxVoac9sSJ+Yk3voRUnA@mail.gmail.com' \ --to=glider@google.com \ --cc=borntraeger@de.ibm.com \ --cc=elver@google.com \ --cc=gor@linux.ibm.com \ --cc=hca@linux.ibm.com \ --cc=kasan-dev@googlegroups.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=linux-s390@vger.kernel.org \ --cc=svens@linux.ibm.com \ --subject='Re: [PATCH 2/4] kfence: add function to mask address bits' \ /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
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.