Rusty Russell wrote:
That can't happen, since 0xc100000 is not in the kernel address space. 0xc1000000 is though, perhaps that's what you meant?
Yes, it is. Though it doesn't actually make any material difference to my argument.
0x4bccef00 is positive. The correct number is 0xc1000000-0xc0431100 = 0xbcef00So, in this case the %gs base will be loaded with 0xc100000-0xc0431100 = 0x4bccef00A negative offset, exactly, which can't happen, as I said.
The %gs:per_cpu__foo addressing mode still calculates 0xbcef00+0xc0433800, which is still a subtraction. My essential point is that *all* kernel addresses (=kernel symbols) are negative, so using them as an offset from a segment base (any segment base) is a subtraction, which requires a 4G limit.
J - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: [PATCH 5/7] Use %gs for per-cpu sections in kernel
- From: Rusty Russell <[email protected]>
- Re: [PATCH 5/7] Use %gs for per-cpu sections in kernel
- References:
- [PATCH 0/7] Using %gs for per-cpu areas on x86
- From: Rusty Russell <[email protected]>
- [PATCH 1/7] Use per-cpu GDT tables from early in boot
- From: Rusty Russell <[email protected]>
- [PATCH 2/7]
- From: Rusty Russell <[email protected]>
- [PATCH 3/7] Update sys_vm86 to cope with changed pt_regs and %gs usage.
- From: Rusty Russell <[email protected]>
- [PATCH 4/7] Fix places where using %gs changes the usermode ABI.
- From: Rusty Russell <[email protected]>
- [PATCH 5/7] Use %gs for per-cpu sections in kernel
- From: Rusty Russell <[email protected]>
- Re: [PATCH 5/7] Use %gs for per-cpu sections in kernel
- From: Jeremy Fitzhardinge <[email protected]>
- Re: [PATCH 5/7] Use %gs for per-cpu sections in kernel
- From: Rusty Russell <[email protected]>
- Re: [PATCH 5/7] Use %gs for per-cpu sections in kernel
- From: Jeremy Fitzhardinge <[email protected]>
- Re: [PATCH 5/7] Use %gs for per-cpu sections in kernel
- From: Rusty Russell <[email protected]>
- Re: [PATCH 5/7] Use %gs for per-cpu sections in kernel
- From: Jeremy Fitzhardinge <[email protected]>
- Re: [PATCH 5/7] Use %gs for per-cpu sections in kernel
- From: Rusty Russell <[email protected]>
- [PATCH 0/7] Using %gs for per-cpu areas on x86
- Prev by Date: Re: An Ode to GPLv2 (was Re: GPLv3 Position Statement)
- Next by Date: Re: [PATCH 5/7] Use %gs for per-cpu sections in kernel
- Previous by thread: Re: [PATCH 5/7] Use %gs for per-cpu sections in kernel
- Next by thread: Re: [PATCH 5/7] Use %gs for per-cpu sections in kernel
- Index(es):