Re: What kind of code might generate amd64 addressses like 0xFFFFF80000000007 or be based on 0xFFFFF80000000000 ?

Daniel O'Connor <[email protected]> Mon, 16 Dec 2024 14:43:45 +1030
Newsgroups gmane.os.freebsd.devel.hackers,gmane.os.freebsd.current,gmane.os.freebsd.stable,gmane.os.freebsd.devel.amd64
Message-ID <[email protected]>
Hi Mark,

> On 16 Dec 2024, at 10:33, Mark Millard <[email protected]> wrote:
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D267028 is for a =
crash problem
> someone has been having over more than 2 years. There are boot time =
crashes
> involved.
>=20
> It appears that 0xFFFFF80000000007 is showing up in use and stored in =
data
> structures as a pointer value in fields/arguments that are pointers, =
where such
> a special value would not be expected. Later defrerencing does not go =
well, at
> least when the dererefenced data is then in-turn put to use.
>=20
> The small offset from 0xFFFFF80000000000 suggests to me that the =
special value likely
> is inappropriately left around and somehow picked up and used. =
0xFFFFF80000000000 (or
> near it) might be odd enough to have only a few known likely possible =
usages. Such
> notes in the bugzilla report would be good if such is the case. Thus =
my question.

That value (0xffffffff80000000) is kernbase (see sysctl =
kern.base_address).

However it is hard to think of why that value (or a small offset to it) =
is getting put in places it shouldn't be..

--
Daniel O'Connor
"The nice thing about standards is that there
are so many of them to choose from."
-- Andrew Tanenbaum