Re: [PATCH 09/19] x86, mpx: trace entry to bounds exception paths

Dave Hansen
2015-05-18T23:06:51Z

On 05/18/2015 01:58 PM, Thomas Gleixner wrote:
> On Fri, 8 May 2015, Dave Hansen wrote:
>> > This patch adds a trace point for the case where we are
>> > passing the exception up to userspace with a signal.
>> >
>> > We are also explicit that we're printing out the inverse of
>> > the 'upper' that we encounter. If you want to filter, for
>> > instance, you need to ~ the value first.
> Confused. What is the point of printing the complement of upper?

If a pointer's range is

0x1000 -> 0x2000

it is stored in the bounds table as (32-bits here for brevity):

lower: 0x00001000
upper: 0xffffdfff

That is so that an all 0's entry:

lower: 0x00000000
upper: 0x00000000

corresponds to the "init" bounds which store a *range* of:

0x00000000 -> 0xffffffff

The 'upper' stored in the table is gibberish to print by itself, so we
print ~upper to get the *actual*, logical value.