x86 sets up a per-cpu GDT entry so that vgetcpu can use LSL on it to determine the CPU number and node.
This series, in little baby steps, cleans up that code and sets the accessed and 32-bit flags on the segment. The accessed bit prevents user code from setting the accessed bit on its own, and making the segment 32-bit prevents concerns about shenanigans involving CPU oddities with 16-bit data segments. The latter isn't a real problem -- if it were a 16-bit read/write segment, it could be used to bypass espfix64, but fortunately RO segments can't be loaded into SS. Changes from v1: - Fix patch 2's changelog. - Learn to spell "Not a system segment". Andy Lutomirski (3): x86,vdso: Change the PER_CPU segment to use struct desc_struct x86,vdso: Make the PER_CPU segment start out accessed x86,vdso: Make the PER_CPU segment 32 bits arch/x86/kernel/vsyscall_64.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) -- 1.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/