[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+fCnZfwcV40i_78qY1WTdJc5PgRfvu-_7LERfJyPt6Xf8Ln9Q@mail.gmail.com>
Date: Tue, 18 Mar 2025 16:31:40 +0100
From: Andrey Konovalov <andreyknvl@...il.com>
To: Maciej Wieczor-Retman <maciej.wieczor-retman@...el.com>
Cc: Vitaly Buka <vitalybuka@...gle.com>, kees@...nel.org,
julian.stecklina@...erus-technology.de, kevinloughlin@...gle.com,
peterz@...radead.org, tglx@...utronix.de, justinstitt@...gle.com,
catalin.marinas@....com, wangkefeng.wang@...wei.com, bhe@...hat.com,
ryabinin.a.a@...il.com, kirill.shutemov@...ux.intel.com, will@...nel.org,
ardb@...nel.org, jason.andryuk@....com, dave.hansen@...ux.intel.com,
pasha.tatashin@...een.com, guoweikang.kernel@...il.com, dwmw@...zon.co.uk,
mark.rutland@....com, broonie@...nel.org, apopple@...dia.com, bp@...en8.de,
rppt@...nel.org, kaleshsingh@...gle.com, richard.weiyang@...il.com,
luto@...nel.org, glider@...gle.com, pankaj.gupta@....com,
pawan.kumar.gupta@...ux.intel.com, kuan-ying.lee@...onical.com,
tony.luck@...el.com, tj@...nel.org, jgross@...e.com, dvyukov@...gle.com,
baohua@...nel.org, samuel.holland@...ive.com, dennis@...nel.org,
akpm@...ux-foundation.org, thomas.weissschuh@...utronix.de, surenb@...gle.com,
kbingham@...nel.org, ankita@...dia.com, nathan@...nel.org, ziy@...dia.com,
xin@...or.com, rafael.j.wysocki@...el.com, andriy.shevchenko@...ux.intel.com,
cl@...ux.com, jhubbard@...dia.com, hpa@...or.com,
scott@...amperecomputing.com, david@...hat.com, jan.kiszka@...mens.com,
vincenzo.frascino@....com, corbet@....net, maz@...nel.org, mingo@...hat.com,
arnd@...db.de, ytcoode@...il.com, xur@...gle.com, morbo@...gle.com,
thiago.bauermann@...aro.org, linux-doc@...r.kernel.org,
kasan-dev@...glegroups.com, linux-kernel@...r.kernel.org,
llvm@...ts.linux.dev, linux-mm@...ck.org,
linux-arm-kernel@...ts.infradead.org, x86@...nel.org
Subject: Re: [PATCH v2 01/14] kasan: sw_tags: Use arithmetic shift for shadow computation
On Thu, Mar 13, 2025 at 3:58 PM Maciej Wieczor-Retman
<maciej.wieczor-retman@...el.com> wrote:
>
> >So this was my brain converting things to assembly. Feel free to
> >reword/clarify the comments.
>
> Right, I focused too much on the signed aspect. Treating everything as
> overflowing sounds better, more unified.
Alright!
> >It could be that your checks are equivalent to mine. What I did was to
> >check that the address lies outside of both contiguous regions, which
> >makes the checks symmetrical and IMO easier to follow.
>
> I drew this out and yeah, it looks like it's the same, just grouping the logical
> expressions differently. What do you think about incorporating something like
> the following into your comment about the x86 part? :
>
> Given the KASAN_SHADOW_OFFSET equal 0xffeffc0000000000
> the following ranges are valid mem-to-shadow mappings:
>
> 0xFFFFFFFFFFFFFFFF
> INVALID
> 0xFFEFFBFFFFFFFFFF - kasan_mem_to_shadow(~0UL)
> VALID - kasan shadow mem
> VALID - non-canonical kernel virtual address
> 0xFFCFFC0000000000 - kasan_mem_to_shadow(0xFEUL << 56)
> INVALID
> 0x07EFFBFFFFFFFFFF - kasan_mem_to_shadow(~0UL >> 1)
> VALID - non-canonical user virtual addresses
> VALID - user addresses
> 0x07CFFC0000000000 - kasan_mem_to_shadow(0x7EUL << 56)
> INVALID
> 0x0000000000000000
Sounds good - I like this visual representation a lot! Thanks!
Powered by blists - more mailing lists