summerofcode2014:intelsmapandkernelpatching

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
summerofcode2014:intelsmapandkernelpatching [2014/08/12 23:40] – added git commits and urls OliverPintersummerofcode2014:intelsmapandkernelpatching [2017/09/18 13:59] (current) – Use local wiki LinkNames (remove absolute wiki urls) KubilayKocak
Line 1: Line 1:
 ====== Implement Intel SMAP and kernel patching framework ====== ====== Implement Intel SMAP and kernel patching framework ======
-  * Student: [[/OliverPinter|OliverPinter]] (op@) +  * Student: [[/OliverPinter|OliverPinter]] 
-  * Mentor: [[/GavinAtkinson|GavinAtkinson]] (gavin@)+  * Mentor: [[/GavinAtkinson|GavinAtkinson]]
  
 ===== Project description ===== ===== Project description =====
Line 38: Line 38:
 | 2.3 | July 7 - July 20 | implement the kernel patching framework | DONE | | 2.3 | July 7 - July 20 | implement the kernel patching framework | DONE |
 | 2.4 | July 21 - July 27 | adapt XSAVE and SMAP instructions to new framework | DONE | | 2.4 | July 21 - July 27 | adapt XSAVE and SMAP instructions to new framework | DONE |
-| 2.5 | July 27 - August 3 | optimize implementation | WIP | +| 2.5 | July 27 - August 3 | optimize implementation | DONE | 
-| 2.6 | August 3 - %%EoC%% August 14 | test, test, fix, test | WIP |+| 2.6 | August 3 - %%EoC%% August 14 | test, test, fix, test | DONE |
  
 ===== Test Plan ===== ===== Test Plan =====
Line 53: Line 53:
 | create a VM image |  | DONE | | create a VM image |  | DONE |
 | boot test in qemu |  | DONE | | boot test in qemu |  | DONE |
-| kernel module test in qemu |  | WIP | +| kernel module test in qemu |  | DONE | 
-| test in qemu with enabled SMAP |  | WIP |+| test in qemu with enabled SMAP |  | DONE |
 | test on real hardware with XSAVE/XSAVEOPT |  | DONE | | test on real hardware with XSAVE/XSAVEOPT |  | DONE |
-| stress test |  | WIP |+| stress test |  | DONE |
  
 ===== The Code ===== ===== The Code =====
Line 69: Line 69:
  
 https://github.com/opntr/opBSD/tree/op/gsoc2014/kpatch https://github.com/opntr/opBSD/tree/op/gsoc2014/kpatch
 +
 +http://www.crysys.hu/~op/freebsd/vm-image/
  
 ===== Useful links ===== ===== Useful links =====
Line 356: Line 358:
 | 20140801 | http://lists.freebsd.org/pipermail/soc-status/2014-August/000863.html | | 20140801 | http://lists.freebsd.org/pipermail/soc-status/2014-August/000863.html |
 | 20140808 | http://lists.freebsd.org/pipermail/soc-status/2014-August/000863.html | | 20140808 | http://lists.freebsd.org/pipermail/soc-status/2014-August/000863.html |
-| 20140815 |  |+| 20140815 | http://lists.freebsd.org/pipermail/soc-status/2014-August/000874.html |
  
 ====== test results and memos ====== ====== test results and memos ======
Line 364: Line 366:
 ==== 1.3 ==== ==== 1.3 ====
  
-  * fast test: +[[SummerOfCode2014/IntelSMAPandKernelPatching/Notes]]
- +
-<code> +
-op@pandora-d tools> ./run_smap_test_vm.csh +
-Triple fault +
-CPU Reset (CPU 0) +
-RAX=00000000f000ff00 RBX=0000000000000001 RCX=0000000000000000 RDX=ffffffff80d0daa0 +
-RSI=ffffffff800c4790 RDI=ffffffff80044100 RBP=ffffffff800440f0 RSP=ffffffff80043ef0 +
-R8 =ffffffff80d0db80 R9 =0000000000000000 R10=0000000000000020 R11=0000000000000000 +
-R12=ffffffff818bc8c8 R13=ffffffff8093beb0 R14=ffffffff80044100 R15=ffffffff818bcd90 +
-RIP=ffffffff80d0d94f RFL=00000297 [--S-APC] CPL=0 II=0 A20=1 SMM=0 HLT=0 +
-ES =0028 0000000000000000 ffffffff 00af9300 DPL=0 DS   [-WA] +
-CS =0020 0000000000000000 ffffffff 00af9b00 DPL=0 CS64 [-RA] +
-SS =0028 0000000000000000 ffffffff 00af9300 DPL=0 DS   [-WA] +
-DS =0028 0000000000000000 ffffffff 00af9300 DPL=0 DS   [-WA] +
-FS =0028 0000000000000000 ffffffff 00af9300 DPL=0 DS   [-WA] +
-GS =0028 ffffffff818d7d80 ffffffff 00af9300 DPL=0 DS   [-WA] +
-LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT +
-TR =0038 0000000000005f98 00002067 00008900 DPL=0 TSS64-avl +
-GDT=     ffffffff818d6350 00000067 +
-IDT=     ffffffff8184b4c0 00000fff +
-CR0=80000011 CR2=0000000000005fbc CR3=0000000000044000 CR4=00000030 +
-DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 +
-DR6=00000000ffff0ff0 DR7=0000000000000400 +
-CCS=0000000000000013 CCD=ffffffffffffffee CCO=SUBL +
-EFER=0000000000000500 +
-FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80 +
-FPR0=0000000000000000 0000 FPR1=0000000000000000 0000 +
-FPR2=0000000000000000 0000 FPR3=0000000000000000 0000 +
-FPR4=0000000000000000 0000 FPR5=0000000000000000 0000 +
-FPR6=0000000000000000 0000 FPR7=0000000000000000 0000 +
-XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000 +
-XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000 +
-XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000 +
-XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000 +
-XMM08=00000000000000000000000000000000 XMM09=00000000000000000000000000000000 +
-XMM10=00000000000000000000000000000000 XMM11=00000000000000000000000000000000 +
-XMM12=00000000000000000000000000000000 XMM13=00000000000000000000000000000000 +
-XMM14=00000000000000000000000000000000 XMM15=00000000000000000000000000000000 +
-CPU Reset (CPU 0) +
-EAX=00000032 EBX=00000000 ECX=00000000 EDX=00000097 +
-ESI=0000000a EDI=00100000 EBP=00000000 ESP=00000fb8 +
-EIP=000f13d3 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0 +
-ES =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA] +
-CS =0008 00000000 ffffffff 00cf9b00 DPL=0 CS32 [-RA] +
-SS =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA] +
-DS =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA] +
-FS =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA] +
-GS =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA] +
-LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT +
-TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy +
-GDT=     000f6688 00000037 +
-IDT=     000f66c6 00000000 +
-CR0=60000011 CR2=00000000 CR3=00000000 CR4=00000000 +
-DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 +
-DR6=00000000ffff0ff0 DR7=0000000000000400 +
-CCS=00000000 CCD=00000001 CCO=LOGICL +
-EFER=0000000000000000 +
-FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80 +
-FPR0=0000000000000000 0000 FPR1=0000000000000000 0000 +
-FPR2=0000000000000000 0000 FPR3=0000000000000000 0000 +
-FPR4=0000000000000000 0000 FPR5=0000000000000000 0000 +
-FPR6=0000000000000000 0000 FPR7=0000000000000000 0000 +
-XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000 +
-XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000 +
-XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000 +
-XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000 +
-</code> +
- +
-<code> +
-op@pandora-d opBSD.git> addr2line --exe=/tmp/kernelbuild/boot/kernel/kernel ffffffff80d0d94f +
-/usr/data/source/git/opBSD/opBSD.git/sys/amd64/amd64/trap.c:219 +
-</code> +
- +
-  * http://en.wikibooks.org/wiki/QEMU/Monitor#logfile +
-  * there is the error +
- +
-<code> +
- +
-Breakpoint 2, getenv_string (name=0xffffffff80f922df "kern.msgbufsize", data=0xffffffff814c8cb0 "",  +
-    size=258) at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_environment.c:455 +
-455             if (dynamic_kenv) { +
-(gdb) c +
-Continuing. +
- +
-Breakpoint 2, getenv_string (name=0xffffffff80f922ef "kern.maxtsiz", data=0xffffffff814c8cb0 "",  +
-    size=258) at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_environment.c:455 +
-455             if (dynamic_kenv) { +
-(gdb) c +
-Continuing. +
- +
-Breakpoint 2, getenv_string (name=0xffffffff80f922fc "kern.dfldsiz", data=0xffffffff814c8cb0 "",  +
-    size=258) at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_environment.c:455 +
-455             if (dynamic_kenv) { +
-(gdb) c +
-Continuing. +
- +
-Breakpoint 2, getenv_string (name=0xffffffff80f92309 "kern.maxdsiz", data=0xffffffff814c8cb0 "",  +
-    size=258) at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_environment.c:455 +
-455             if (dynamic_kenv) { +
-(gdb) c +
-Continuing. +
- +
-Breakpoint 2, getenv_string (name=0xffffffff80f92316 "kern.dflssiz", data=0xffffffff814c8cb0 "",  +
-    size=258) at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_environment.c:455 +
-455             if (dynamic_kenv) { +
-(gdb) c +
-Continuing. +
- +
-Breakpoint 2, getenv_string (name=0xffffffff80f92323 "kern.maxssiz", data=0xffffffff814c8cb0 "",  +
-    size=258) at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_environment.c:455 +
-455             if (dynamic_kenv) { +
-(gdb) c +
-Continuing. +
- +
-Breakpoint 2, getenv_string (name=0xffffffff80f92330 "kern.sgrowsiz", data=0xffffffff814c8cb0 "",  +
-    size=258) at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_environment.c:455 +
-455             if (dynamic_kenv) { +
-(gdb) c +
-Continuing. +
- +
-Breakpoint 2, getenv_string (name=0xffffffff80f9233e "kern.ngroups", data=0xffffffff814c8cb0 "",  +
-    size=258) at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_environment.c:455 +
-455             if (dynamic_kenv) { +
-(gdb) c +
-Continuing. +
- +
-Breakpoint 2, getenv_string (name=0xffffffff80f9234b "kern.pid_max", data=0xffffffff814c8cb0 "",  +
-    size=258) at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_environment.c:455 +
-455             if (dynamic_kenv) { +
-(gdb) c +
-Continuing. +
- +
-Breakpoint 2, getenv_string (name=0xffffffff80f92358 "vfs.unmapped_buf_allowed",  +
-    data=0xffffffff814c8cd0 "", size=258) +
-    at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_environment.c:455 +
-455             if (dynamic_kenv) { +
-(gdb) c +
-Continuing. +
- +
-triple fault itt: +
- +
-hammer_time (modulep=<value optimized out>, physfree=29208576) +
-    at /usr/data/source/git/opBSD/opBSD.git/sys/amd64/amd64/machdep.c:1898 +
-1898            PCPU_SET(prvspace, pc); +
-(gdb)  +
-1899            PCPU_SET(curthread, &thread0); +
-(gdb)  +
-1900            PCPU_SET(tssp, &common_tss[0]); +
-(gdb)  +
-1901            PCPU_SET(commontssp, &common_tss[0]); +
-(gdb)  +
-1902            PCPU_SET(tss, (struct system_segment_descriptor *)&gdt[GPROC0_SEL]); +
-(gdb)  +
-1903            PCPU_SET(ldt, (struct system_segment_descriptor *)&gdt[GUSERLDT_SEL]); +
-(gdb)  +
-1904            PCPU_SET(fs32p, &gdt[GUFS32_SEL]); +
-(gdb)  +
-1905            PCPU_SET(gs32p, &gdt[GUGS32_SEL]); +
-(gdb)  +
-1915            mutex_init(); +
-(gdb)  +
-mutex_init () at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_mutex.c:952 +
-952             init_turnstiles(); +
-(gdb)  +
-init_turnstiles () at /usr/data/source/git/opBSD/opBSD.git/sys/kern/subr_turnstile.c:364 +
-364                     LIST_INIT(&turnstile_chains[i].tc_turnstiles); +
-(gdb)  +
-365                     mtx_init(&turnstile_chains[i].tc_lock, "turnstile chain", +
-(gdb)  +
-_mtx_init (c=0xffffffff8155d160, name=0xffffffff80f94b80 "turnstile chain", type=0x0, opts=1) +
-    at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_mutex.c:871 +
-871             m = mtxlock2mtx(c); +
-(gdb)  +
-875             ASSERT_ATOMIC_LOAD_PTR(m->mtx_lock, +
-(gdb)  +
-885             if (opts & MTX_SPIN) +
-(gdb)  +
-892             if (opts & MTX_RECURSE) +
-(gdb)  +
-894             if ((opts & MTX_NOWITNESS) == 0) +
-(gdb)  +
-896             if (opts & MTX_DUPOK) +
-(gdb)  +
-898             if (opts & MTX_NOPROFILE) +
-(gdb)  +
-902             lock_init(&m->lock_object, class, name, type, flags); +
-(gdb)  +
-lock_init (lock=0xffffffff8155d148, class=0xffffffff81463730,  +
-    name=0xffffffff80f94b80 "turnstile chain", type=0x0, flags=131072) +
-    at /usr/data/source/git/opBSD/opBSD.git/sys/kern/subr_lock.c:78 +
-78              KASSERT(!lock_initialized(lock), ("lock \"%s\" %p already initialized", +
-(gdb)  +
-83                      if (lock_classes[i] == class) { +
-(gdb)  +
-84                              lock->lo_flags = i << LO_CLASSSHIFT; +
-(gdb)  +
-90              lock->lo_name = name; +
-(gdb)  +
-91              lock->lo_flags |= flags | LO_INITIALIZED; +
-(gdb)  +
-93              WITNESS_INIT(lock, (type != NULL) ? type : name); +
-(gdb)  +
-witness_init (lock=0xffffffff8155d148, type=0xffffffff80f94b80 "turnstile chain") +
-    at /usr/data/source/git/opBSD/opBSD.git/sys/kern/subr_witness.c:809 +
-809             class = LOCK_CLASS(lock); +
- +
-ITT A HIBA: +
- +
-0xffffffff809500f0 <witness_init+0>:    push   %rbp +
-0xffffffff809500f1 <witness_init+1>:    mov    %rsp,%rbp +
-0xffffffff809500f4 <witness_init+4>:    push   %r15 +
-0xffffffff809500f6 <witness_init+6>:    push   %r14 +
-0xffffffff809500f8 <witness_init+8>:    push   %rbx +
-0xffffffff809500f9 <witness_init+9>:    push   %rax +
-0xffffffff809500fa <witness_init+10>:   mov    %rsi,%r14 +
-0xffffffff809500fd <witness_init+13>:   mov    %rdi,%rbx +
-0xffffffff80950100 <witness_init+16>:   mov    0x8(%rbx),%eax +
-0xffffffff80950103 <witness_init+19>:   mov    $0x418,%ecx +
->>> 0xffffffff80950108 <witness_init+24>:   (bad)   +
-0xffffffff80950109 <witness_init+25>:   loop   0xffffffff8095017b <witness_init+139> +
->>> 0xffffffff8095010b <witness_init+27>:   (bad)   +
-0xffffffff8095010c <witness_init+28>:   enterq $0x8b4c,$0x3c +
-0xffffffff80950110 <witness_init+32>:   int    $0xd0 +
-0xffffffff80950112 <witness_init+34>:   stos   %al,%es:(%rdi) +
-0xffffffff80950113 <witness_init+35>:   rex.RX subl   $0xf6412574,0x80000(%rcx) +
-0xffffffff8095011e <witness_init+46>:   rex.RXB or     %r9b,(%r8) +
-0xffffffff80950121 <witness_init+49>:   jne    0xffffffff80950141 <witness_init+81> +
-0xffffffff80950123 <witness_init+51>:   mov    (%r15),%rdx +
-0xffffffff80950126 <witness_init+54>:   mov    (%rbx),%rcx +
-0xffffffff80950129 <witness_init+57>:   mov    $0xffffffff80f95af0,%rdi +
-0xffffffff80950130 <witness_init+64>:   mov    $0xffffffff80f95b17,%rsi +
- +
-ffffffff809500f0 <witness_init>: +
-ffffffff809500f0:       55                      push   %rbp +
-ffffffff809500f1:       48 89 e5                mov    %rsp,%rbp +
-ffffffff809500f4:       41 57                   push   %r15 +
-ffffffff809500f6:       41 56                   push   %r14 +
-ffffffff809500f8:       53                      push   %rbx +
-ffffffff809500f9:       50                      push   %rax +
-ffffffff809500fa:       49 89 f6                mov    %rsi,%r14 +
-ffffffff809500fd:       48 89 fb                mov    %rdi,%rbx +
-ffffffff80950100:       8b 43 08                mov    0x8(%rbx),%eax +
-ffffffff80950103:       b9 18 04 00 00          mov    $0x418,%ecx +
-ffffffff80950108:       c4                      (bad)   +
-ffffffff80950109:       e2 70                   loop   ffffffff8095017b <witness_init+0x8b> +
-ffffffff8095010b:       f7                      (bad)   +
-ffffffff8095010c:       c8 4c 8b 3c             enterq $0x8b4c,$0x3c +
-ffffffff80950110:       cd d0                   int    $0xd0 +
-</code> +
- +
-<code> +
-(kgdb) info break +
-Num Type           Disp Enb Address            What +
-5   breakpoint     keep y   0xffffffff80e187c6 in atpic_reset at cpufunc.h:260 +
-6   breakpoint     keep y   0xffffffff808b1d00 in cninit_finish +
-                                               at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_cons.c:162 +
-7   breakpoint     keep y   0xffffffff808b18c0 in cninit +
-                                               at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_cons.c:109   +
-        breakpoint already hit 2 times +
-8   breakpoint     keep y   0xffffffff808b1c74 in cnselect +
-                                               at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_cons.c:236 +
-(kgdb) b cnremove +
-Breakpoint 9 at 0xffffffff808b1a40: file /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_cons.c, line 200. +
-(kgdb) c +
-Continuing. +
- +
-Breakpoint 7, cninit () at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_cons.c:109 +
-109     { +
-(kgdb) c +
-Continuing. +
- +
-Breakpoint 9, cnremove (cn=0xffffffff814048d8) +
-    at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_cons.c:200 +
-200     { +
-(kgdb) bt +
-#0  cnremove (cn=0xffffffff814048d8) at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_cons.c:200 +
-#1  0xffffffff808b191b in cninit () at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_cons.c:129 +
-#2  0xffffffff80cf0196 in hammer_time (modulep=<value optimized out>, physfree=<value optimized out>) +
-    at /usr/data/source/git/opBSD/opBSD.git/sys/amd64/amd64/machdep.c:1961 +
-#3  0xffffffff802da024 in btext () at /usr/data/source/git/opBSD/opBSD.git/sys/amd64/amd64/locore.S:79 +
-#4  0x0000000000000000 in ?? () +
-(kgdb) c +
-Continuing. +
- +
-Breakpoint 7, cninit () at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_cons.c:109 +
-109     { +
-(kgdb) c +
-Continuing. +
- +
-Breakpoint 9, cnremove (cn=0xffffffff814048d8) +
-    at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_cons.c:200 +
-200     { +
-(kgdb) s +
-204             STAILQ_FOREACH(cnd, &cn_devlist, cnd_next) { +
-(kgdb)  +
-229     } +
-(kgdb)  +
-cninit () at /usr/data/source/git/opBSD/opBSD.git/sys/kern/kern_cons.c:131 +
-131                     if (cn->cn_ops == NULL) +
-(kgdb)  +
-133                     cn->cn_ops->cn_probe(cn); +
-(kgdb)  +
-sc_cnprobe (cp=0xffffffff814048d8) +
-    at /usr/data/source/git/opBSD/opBSD.git/sys/dev/syscons/syscons.c:1592 +
-1592        if (getenv("hw.syscons.disable")) { +
-(kgdb) ni +
-0xffffffff80734925      1592        if (getenv("hw.syscons.disable")) { +
-(kgdb)  +
-0xffffffff8073492a      1592        if (getenv("hw.syscons.disable")) { +
-(kgdb)  +
-0xffffffff8073492d      1592        if (getenv("hw.syscons.disable")) { +
-(kgdb)  +
-0xffffffff80734937      1593            cp->cn_pri = CN_DEAD; +
-(kgdb)  +
-0xffffffff8073493b      1593            cp->cn_pri = CN_DEAD; +
-(kgdb)  +
-1597        cp->cn_pri = sc_get_cons_priority(&unit, &flags); +
-(kgdb)  +
-</code> +
- +
-triple fault on 1597        cp->cn_pri = sc_get_cons_priority(&unit, &flags); line +
-**this error caused by compiler error, and occurred when in /etc/make.conf set CPUTYPE to core-avx2**+
  
 ====== commits ====== ====== commits ======
Line 774: Line 454:
 | https://github.com/opntr/opBSD/commit/d3f803968d2ced13156b5b201fed7c1366919d23 | KSP | fixed panic on module unload case, and added stubs for protection changes | | https://github.com/opntr/opBSD/commit/d3f803968d2ced13156b5b201fed7c1366919d23 | KSP | fixed panic on module unload case, and added stubs for protection changes |
 | https://github.com/opntr/opBSD/commit/36ba94f267232d467e56c648f040314636087393 | KSP | added KSP_WxorX_KERNEL guard, and added more code to KSP_WxorX_KERNEL case | | https://github.com/opntr/opBSD/commit/36ba94f267232d467e56c648f040314636087393 | KSP | added KSP_WxorX_KERNEL guard, and added more code to KSP_WxorX_KERNEL case |
 +| https://github.com/opntr/opBSD/commit/5c2b35c2e332e95403a9136f836242b279485674 | KSP | constify ksp_selector_table |
 +| https://github.com/opntr/opBSD/commit/4a7f9f375378ed51b11d072284b67132c8b6b6e0 | KSP | new lines at end of DBG messages |
 +| https://github.com/opntr/opBSD/commit/5be2b1d530d6c1d485658e92244cb4a32fb52b05 | KSP | added critical_{enter,exit} to lf_selfpatch |
 +| https://github.com/opntr/opBSD/commit/b29c2636b7a45bfc123b70afa01d7c95fbc9692d | KSP | added variable sized patch support |
 +| https://github.com/opntr/opBSD/commit/5ae181d2f6a58f87460cb9d465b20c210bd64a26 | KSP | enable variable sized patches |
 +| https://github.com/opntr/opBSD/commit/057196b121a297b4ba8c2e45d499bf1a504fcbc4 | KSP | added more debug output |
 +| https://github.com/opntr/opBSD/commit/6a7086d6b9abc6512e0b12a71b99dd87d25c0a06 | KSP | disable debug log by default |
 +| https://github.com/opntr/opBSD/commit/06f4e2796718d0b385f247d897b977cb58f52c4e | KSP SMAP | added KSP_FRAMEWORK and INTEL_SMAP_SUPPORT knobs |
 +| https://github.com/opntr/opBSD/commit/5522267a7c879507d067f17c40c25b1a2281c708 | KSP | added KSP_FRAMEWORK to GENERIC, required by amd64's fpu code |
 +| https://github.com/opntr/opBSD/commit/acfbd2db231bf040ab8521268f170a4b3a416bd4 | SMAP | added INTEL_SMAP_SUPPORT to GENERIC |
  
  • summerofcode2014/intelsmapandkernelpatching.1407886823.txt.gz
  • Last modified: 2014/08/12 23:40
  • by OliverPinter