On Sat, Apr 13, 2024 at 10:04:57PM -0400, Theodore Ts'o wrote:
> On Sat, Apr 13, 2024 at 07:46:03PM -0600, Andreas Dilger wrote:
> > This looks like a straight-forward mathematical substitution of "dlimit"
> > with "search_buf + buf_size" and rearranging of the terms to make the
> > while loop offset "zero based" rather than "address based" and would
> > avoid overflow if "search_buf" was within one 4kB block of overflow:
> >
> > dlimit = search_buf + buf_size = 0xfffff000 + 0x1000 = 0x00000000
>
> Umm... maybe, but does riscv32 actually have a memory map where a
> kernel page would actually have an address in high memory like that?
> That seems.... unusual.
Would instanty break IS_ERR() and friends. And those are arch-independent.