[haiku-bugs] Re: [Haiku] #15211: KDL in MultiLocker::ReadLock()

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Tue, 30 Jul 2019 16:19:24 -0000

#15211: KDL in MultiLocker::ReadLock()
-----------------------------+----------------------------
   Reporter:  3dEyes         |      Owner:  waddlesplash
       Type:  bug            |     Status:  assigned
   Priority:  normal         |  Milestone:  Unscheduled
  Component:  System/Kernel  |    Version:  R1/Development
 Resolution:                 |   Keywords:
 Blocked By:                 |   Blocking:
Has a Patch:  0              |   Platform:  All
-----------------------------+----------------------------

Comment (by korli):

 0xcccccccc00000001 is in the non-canonical address hole on x86_64,
 accessing it triggers a GPE.

 From https://software.intel.com/sites/default/files/managed/39/c5/325462
 -sdm-vol-1-2abcd-3abcd.pdf :
 {{{
 3.3.7.1 Canonical Addressing
 In 64-bit mode, an address is considered to be in canonical form if
 address bits 63 through to the most-significant
 implemented bit by the microarchitecture are set to either all ones or all
 zeros.
 Intel 64 architecture defines a 64-bit linear address. Implementations can
 support less. The first implementation of
 IA-32 processors with Intel 64 architecture supports a 48-bit linear
 address. This means a canonical address must
 have bits 63 through 48 set to zeros or ones (depending on whether bit 47
 is a zero or one).
 Although implementations may not use all 64 bits of the linear address,
 they should check bits 63 through the
 most-significant implemented bit to see if the address is in canonical
 form. If a linear-memory reference is not in
 canonical form, the implementation should generate an exception. In most
 cases, a general-protection exception
 (#GP) is generated. However, in the case of explicit or implied stack
 references, a stack fault (#SS) is generated.
 }}}

-- 
Ticket URL: <https://dev.haiku-os.org/ticket/15211#comment:5>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: