SYMBOL INDEX (513 symbols across 42 files) FILE: docs/dist/index.js function e (line 1) | function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{... function a (line 1) | function a(){} function s (line 1) | function s(){return[]} function p (line 1) | function p(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.n... function v (line 1) | function v(t,n,e,r,i,o){for(var u,a=0,c=n.length,s=o.length;an?1:t>=n?0:NaN} function _ (line 1) | function _(t,n){return t.style.getPropertyValue(n)||g(t).getComputedStyl... function w (line 1) | function w(t){return t.trim().split(/^|\s+/)} function x (line 1) | function x(t){return t.classList||new b(t)} function b (line 1) | function b(t){this._node=t,this._names=w(t.getAttribute("class")||"")} function M (line 1) | function M(t,n){for(var e=x(t),r=-1,i=n.length;++r>16&255,t>>8&255,255&t,1)} function j (line 1) | function j(t,n,e,r){return r<=0&&(t=n=e=NaN),new L(t,n,e,r)} function P (line 1) | function P(t){return t instanceof y||(t=S(t)),t?new L((t=t.rgb()).r,t.g,... function T (line 1) | function T(t,n,e,r){return 1===arguments.length?P(t):new L(t,n,e,null==r... function L (line 1) | function L(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r} function q (line 1) | function q(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"... function B (line 1) | function B(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=Na... function I (line 1) | function I(t,n,e,r){return 1===arguments.length?function(t){if(t instanc... function C (line 1) | function C(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r} function D (line 1) | function D(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(2... function G (line 1) | function G(t){if(t instanceof Q)return new Q(t.l,t.a,t.b,t.opacity);if(t... function K (line 1) | function K(t,n,e,r){return 1===arguments.length?G(t):new Q(t,n,e,null==r... function Q (line 1) | function Q(t,n,e,r){this.l=+t,this.a=+n,this.b=+e,this.opacity=+r} function Z (line 1) | function Z(t){return t>$?Math.pow(t,1/3):t/U+W} function J (line 1) | function J(t){return t>F?t*t*t:U*(t-W)} function tt (line 1) | function tt(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.... function nt (line 1) | function nt(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)} function et (line 1) | function et(t){if(t instanceof it)return new it(t.h,t.c,t.l,t.opacity);i... function rt (line 1) | function rt(t,n,e,r){return 1===arguments.length?et(t):new it(t,n,e,null... function it (line 1) | function it(t,n,e,r){this.h=+t,this.c=+n,this.l=+e,this.opacity=+r} function pt (line 1) | function pt(t,n,e,r){return 1===arguments.length?function(t){if(t instan... function dt (line 1) | function dt(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r} function vt (line 1) | function vt(t,n,e,r,i){var o=t*t,u=o*t;return((1-3*t+3*o-u)*n+(4-6*o+3*u... function mt (line 1) | function mt(t,n){return function(e){return t+e*n}} function gt (line 1) | function gt(t,n){var e=n-t;return e?mt(t,e>180||e<-180?e-360*Math.round(... function _t (line 1) | function _t(t){return 1==(t=+t)?wt:function(n,e){return e-n?function(t,n... function wt (line 1) | function wt(t,n){var e=n-t;return e?mt(t,e):yt(isNaN(t)?n:t)} function r (line 1) | function r(t,n){var r=e((t=T(t)).r,(n=T(n)).r),i=e(t.g,n.g),o=e(t.b,n.b)... function bt (line 1) | function bt(t){return function(n){var e,r,i=n.length,o=new Array(i),u=ne... function Lt (line 1) | function Lt(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}return... function Ct (line 1) | function Ct(t){return((t=Math.exp(t))+1/t)/2} function Ht (line 1) | function Ht(t){return function(n,e){var r=t((n=I(n)).h,(e=I(e)).h),i=wt(... function Xt (line 1) | function Xt(t){return function(n,e){var r=t((n=rt(n)).h,(e=rt(e)).h),i=w... function Yt (line 1) | function Yt(t){return function n(e){function r(n,r){var i=t((n=pt(n)).h,... function tn (line 1) | function tn(){return Kt||(Jt(nn),Kt=Zt.now()+Qt)} function nn (line 1) | function nn(){Kt=0} function en (line 1) | function en(){this._call=this._time=this._next=null} function rn (line 1) | function rn(t,n,e){var r=new en;return r.restart(t,n,e),r} function on (line 1) | function on(){Kt=(Gt=Zt.now())+Qt,Wt=Ft=0;try{!function(){tn(),++Wt;for(... function un (line 1) | function un(){var t=Zt.now(),n=t-Gt;n>$t&&(Qt-=n,Gt=t)} function an (line 1) | function an(t){Wt||(Ft&&(Ft=clearTimeout(Ft)),t-Kt>24?(t<1/0&&(Ft=setTim... function o (line 1) | function o(c){var s,l,h,f;if(e.state!==fn)return a();for(s in i)if((f=i[... function u (line 1) | function u(n){for(var i=nhn)throw new Error("too late; ... function wn (line 1) | function wn(t,n){var e=xn(t,n);if(e.state>dn)throw new Error("too late; ... function xn (line 1) | function xn(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("... function Mn (line 1) | function Mn(t,n,e){var r=t._id;return t.each(function(){var t=wn(this,r)... function zn (line 1) | function zn(t){return function(){this.style.removeProperty(t)}} function En (line 1) | function En(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._i... function Sn (line 1) | function Sn(){return++Nn} function i (line 1) | function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&funct... function i (line 1) | function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&funct... function o (line 1) | function o(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&funct... function e (line 1) | function e(t){return Math.pow(t,n)} function e (line 1) | function e(t){return 1-Math.pow(1-t,n)} function e (line 1) | function e(t){return((t*=2)<=1?Math.pow(t,n):2-Math.pow(2-t,n))/2} function e (line 1) | function e(t){return t*t*((n+1)*t-n)} function e (line 1) | function e(t){return--t*t*((n+1)*t+n)+1} function e (line 1) | function e(t){return((t*=2)<1?t*t*((n+1)*t-n):(t-=2)*t*((n+1)*t+n)+2)/2} function i (line 1) | function i(t){return n*Math.pow(2,10*--t)*Math.sin((r-t)/e)} function i (line 1) | function i(t){return 1-n*Math.pow(2,-10*(t=+t))*Math.sin((t+r)/e)} function i (line 1) | function i(t){return((t=2*t-1)<0?n*Math.pow(2,10*t)*Math.sin((r-t)/e):2-... function Tn (line 1) | function Tn(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.pare... function qn (line 1) | function qn(t,n,e){this.target=t,this.type=n,this.transform=e} function Bn (line 1) | function Bn(t,n,e){this.k=t,this.x=n,this.y=e} function Cn (line 1) | function Cn(t){return t.__zoom||In} function Dn (line 1) | function Dn(){s.event.stopImmediatePropagation()} function Xn (line 1) | function Xn(){return!s.event.button} function Yn (line 1) | function Yn(){var t,n,e=this;return e instanceof SVGElement?(t=(e=e.owne... function Rn (line 1) | function Rn(){return this.__zoom||In} function Vn (line 1) | function Vn(){return-s.event.deltaY*(s.event.deltaMode?120:1)/500} function Wn (line 1) | function Wn(){return"ontouchstart"in this} function Fn (line 1) | function Fn(t,n,e){var r=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])... function w (line 1) | function w(t){t.property("__zoom",Rn).on("wheel.zoom",N).on("mousedown.z... function x (line 1) | function x(t,n){return(n=Math.max(a[0],Math.min(a[1],n)))===t.k?t:new Bn... function b (line 1) | function b(t,n,e){var r=n[0]-e[0]*t.k,i=n[1]-e[1]*t.k;return r===t.x&&i=... function M (line 1) | function M(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]} function k (line 1) | function k(t,n,e){t.on("start.zoom",function(){A(this,arguments).start()... function A (line 1) | function A(t,n){for(var e,r=0,i=v.length;r=0;)n+=e[... function c (line 1) | function c(t,n){var e,r,i,o,u,a=new f(t),c=+t.value&&(a.value=t.value),l... function s (line 1) | function s(t){return t.children} function l (line 1) | function l(t){t.data=t.data.data} function h (line 1) | function h(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)} function f (line 1) | function f(t){this.data=t,this.depth=this.height=0,this.parent=null} function v (line 1) | function v(t,n){var e,r;if(g(n,t))return[n];for(e=0;e0&&e*e>r... function g (line 1) | function g(t,n){for(var e=0;e0&&e*e>r... function k (line 1) | function k(t){var n=t._,e=t.next._,r=n.r+e.r,i=(n.x*e.r+e.x*n.r)/r,o=(n.... function A (line 1) | function A(t){this._=t,this.next=null,this.previous=null} function z (line 1) | function z(t){if(!(i=t.length))return 0;var n,e,r,i,o,u,a,c,s,l,h;if((n=... function E (line 1) | function E(t){if("function"!=typeof t)throw new Error;return t} function S (line 1) | function S(){return 0} function j (line 1) | function j(t){return Math.sqrt(t.value)} function i (line 1) | function i(i){return i.x=n/2,i.y=e/2,t?i.eachBefore(T(t)).eachAfter(L(r,... function T (line 1) | function T(t){return function(n){n.children||(n.r=Math.max(0,+t(n)||0))}} function L (line 1) | function L(t,n){return function(e){if(r=e.children){var r,i,o,u=r.length... function q (line 1) | function q(t){return function(n){var e=n.parent;n.r*=t,e&&(n.x=e.x+t*n.x... function i (line 1) | function i(i){var o=i.height+1;return i.x0=i.y0=e,i.x1=t,i.y1=n/o,i.each... function Y (line 1) | function Y(t){return t.id} function R (line 1) | function R(t){return t.parentId} function e (line 1) | function e(e){var r,i,o,u,a,c,s,l=e.length,p=new Array(l),d={};for(i=0;i... function W (line 1) | function W(t,n){return t.parent===n.parent?1:2} function F (line 1) | function F(t){var n=t.children;return n?n[0]:t.t} function U (line 1) | function U(t){var n=t.children;return n?n[n.length-1]:t.t} function $ (line 1) | function $(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e} function G (line 1) | function G(t,n,e){return t.a.parent===n.parent?t.a:e} function K (line 1) | function K(t,n){this._=t,this.parent=null,this.children=null,this.A=null... function i (line 1) | function i(i){var c=function(t){for(var n,e,r,i,o,u=new K(t,0),a=[u];n=a... function o (line 1) | function o(n){var e=n.children,r=n.parent.children,i=n.i?r[n.i-1]:null;i... function u (line 1) | function u(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m} function a (line 1) | function a(t){t.x*=n,t.y=t.depth*e} function tt (line 1) | function tt(t,n,e,r,i,o){for(var u,a,c,s,l,h,f,p,d,v,y,m=[],g=n.children... function e (line 1) | function e(t,e,r,i,o){tt(n,t,e,r,i,o)} function l (line 1) | function l(t){return t.x0=t.y0=0,t.x1=e,t.y1=r,t.eachBefore(h),i=[0],n&&... function h (line 1) | function h(n){var e=i[n.depth],r=n.x0+e,l=n.y0+e,h=n.x1-e,f=n.y1-e;h { FILE: docs/dist/typescript/utils.d.ts type Result (line 8) | type Result = ExtendedHierarchyPointNode & { FILE: docs/js/export.js function getTranslation (line 1) | function getTranslation(obj) { function exportTikz (line 12) | function exportTikz() { function exportSVG (line 56) | function exportSVG() { function exportDOT (line 104) | function exportDOT() { FILE: docs/js/filter.js function buildIndex (line 2) | function buildIndex() { function hasParent (line 12) | function hasParent(node, parent_id) { function hasChild (line 22) | function hasChild(node, child_id) { function toggleMeltdownSpectre (line 27) | function toggleMeltdownSpectre(meltdown, spectre, filterInclude) { function recursiveFlatten (line 60) | function recursiveFlatten(input) { function filter (line 79) | function filter() { FILE: pocs/libcache/cache.c function perf_init (line 4) | void perf_init() { function rdtsc (line 18) | uint64_t rdtsc() { function rdtsc_begin (line 32) | uint64_t rdtsc_begin() { function rdtsc_end (line 48) | uint64_t rdtsc_end() { function flush (line 64) | void flush(void *p) { asm volatile("clflush 0(%0)\n" : : "c"(p) : "rax"); } function maccess (line 67) | void maccess(void *p) { asm volatile("movq (%0), %%rax\n" : : "c"(p) : "... function mfence (line 70) | void mfence() { asm volatile("mfence"); } function nospec (line 73) | void nospec() { asm volatile("lfence"); } function xbegin (line 76) | unsigned int xbegin() { function xend (line 83) | void xend() { function has_tsx (line 88) | int has_tsx() { function maccess_tsx (line 99) | void maccess_tsx(void* ptr) { function rdtsc (line 108) | uint32_t rdtsc() { function flush (line 121) | void flush(void *p) { asm volatile("clflush 0(%0)\n" : : "c"(p)); } function maccess (line 124) | void maccess(void *p) { asm volatile("mov (%0), %%eax\n" : : "c"(p) : "e... function mfence (line 127) | void mfence() { asm volatile("mfence"); } function nospec (line 130) | void nospec() { asm volatile("lfence"); } function has_tsx (line 133) | int has_tsx() { function rdtsc (line 146) | uint64_t rdtsc() { function rdtsc_begin (line 185) | uint64_t rdtsc_begin() { function rdtsc_end (line 223) | uint64_t rdtsc_end() { function flush (line 260) | void flush(void *p) { function maccess (line 267) | void maccess(void *p) { function mfence (line 275) | void mfence() { asm volatile("DSB ISH"); } function nospec (line 278) | void nospec() { asm volatile("DSB SY\nISB"); } function rdtsc (line 281) | uint64_t rdtsc() { function rdtsc_begin (line 290) | uint64_t rdtsc_begin() { function rdtsc_end (line 299) | uint64_t rdtsc_end() { function flush (line 308) | void flush(void *p) { asm volatile( "dcbf 0, %0\n\t" function maccess (line 314) | void maccess(void *p) { asm volatile( "ld %%r0, 0(%0)" ::"r"(p): "r0"); } function mfence (line 317) | void mfence() { asm volatile( "lwsync" ); } function nospec (line 320) | void nospec() { asm volatile( "hwsync" ); } function flush_reload (line 324) | int flush_reload(void *ptr) { function flush_reload_t (line 350) | int flush_reload_t(void *ptr) { function reload_t (line 373) | int reload_t(void *ptr) { function detect_flush_reload_threshold (line 395) | size_t detect_flush_reload_threshold() { function maccess_speculative (line 414) | void maccess_speculative(void* ptr) { function unblock_signal (line 429) | void unblock_signal(int signum __attribute__((__unused__))) { function trycatch_segfault_handler (line 437) | void trycatch_segfault_handler(int signum) { function try_start (line 448) | int try_start() { function try_end (line 470) | void try_end() { function try_abort (line 483) | void try_abort() { function cache_encode (line 495) | void cache_encode(char data) { function cache_decode_pretty (line 500) | void cache_decode_pretty(char *leaked, int index) { function flush_shared_memory (line 515) | void flush_shared_memory() { FILE: pocs/libpte/module/pteditor.c type pgdval_t (line 35) | typedef pgdval_t p4dval_t; function set_swapper_pgd (line 38) | void __attribute__((weak)) set_swapper_pgd(pgd_t* pgdp, pgd_t pgd) {} function pte_t (line 41) | static inline pte_t native_make_pte(pteval_t val) function pgd_t (line 46) | static inline pgd_t native_make_pgd(pgdval_t val) function pmd_t (line 51) | static inline pmd_t native_make_pmd(pmdval_t val) function pud_t (line 56) | static inline pud_t native_make_pud(pudval_t val) function p4d_t (line 62) | static inline p4d_t native_make_p4d(p4dval_t val) function pteval_t (line 68) | static inline pteval_t native_pte_val(pte_t pte) function pud_large (line 73) | static inline int pud_large(pud_t pud) { function pmd_large (line 81) | static inline int pmd_large(pmd_t pmd) { function kallsyms_lookup_name (line 104) | unsigned long kallsyms_lookup_name(const char* name) { type vm_t (line 120) | typedef struct { type mm_struct (line 138) | struct mm_struct type mm_struct (line 139) | struct mm_struct function device_open (line 141) | static int device_open(struct inode *inode, struct file *file) { function device_release (line 152) | static int device_release(struct inode *inode, struct file *file) { function _invalidate_tlb (line 159) | static void function invalidate_tlb_custom (line 206) | static void function invalidate_tlb_kernel (line 211) | static void function _set_pat (line 216) | static void _set_pat(void* _pat) { function set_pat (line 229) | static void set_pat(size_t pat) { type mm_struct (line 233) | struct mm_struct type task_struct (line 234) | struct task_struct type pid (line 235) | struct pid function resolve_vm (line 253) | static int resolve_vm(size_t addr, vm_t* entry, int lock) { function update_vm (line 353) | static int update_vm(ptedit_entry_t* new_entry, int lock) { function vm_to_user (line 411) | static void vm_to_user(ptedit_entry_t* user, vm_t* vm) { function device_ioctl (line 438) | static long device_ioctl(struct file *file, unsigned int ioctl_num, unsi... type file_operations (line 590) | struct file_operations type miscdevice (line 595) | struct miscdevice type proc_ops (line 603) | struct proc_ops type file_operations (line 624) | struct file_operations function open_umem (line 629) | static int open_umem(struct inode *inode, struct file *filp) { return 0; } function devmem_bypass (line 636) | static int devmem_bypass(struct kretprobe_instance *p, struct pt_regs *r... type kretprobe (line 643) | struct kretprobe function init_module (line 646) | int init_module(void) { function cleanup_module (line 691) | void cleanup_module(void) { FILE: pocs/libpte/module/pteditor.h type ptedit_entry_t (line 29) | typedef struct { type ptedit_page_t (line 65) | typedef struct { type ptedit_page_t (line 77) | typedef struct { type ptedit_paging_t (line 88) | typedef struct { FILE: pocs/libpte/ptedit.c type ptedit_paging_definition_t (line 39) | typedef struct { function ptedit_entry_t (line 50) | ptedit_entry_t ptedit_resolve_kernel(void* address, pid_t pid) { function ptedit_phys_read_map (line 68) | static inline size_t ptedit_phys_read_map(size_t address) { function ptedit_phys_write_map (line 73) | static inline void ptedit_phys_write_map(size_t address, size_t value) { function ptedit_phys_read_pread (line 78) | static inline size_t ptedit_phys_read_pread(size_t address) { function ptedit_phys_write_pwrite (line 92) | static inline void ptedit_phys_write_pwrite(size_t address, size_t value) { function ptedit_entry_t (line 207) | static ptedit_entry_t ptedit_resolve_user(void* address, pid_t pid) { function ptedit_entry_t (line 213) | static ptedit_entry_t ptedit_resolve_user_map(void* address, pid_t pid) { function ptedit_update_kernel (line 219) | void ptedit_update_kernel(void* address, pid_t pid, ptedit_entry_t* vm) { function ptedit_update_user_ext (line 230) | void ptedit_update_user_ext(void* address, pid_t pid, ptedit_entry_t* vm... function ptedit_update_user (line 274) | static void ptedit_update_user(void* address, pid_t pid, ptedit_entry_t*... function ptedit_update_user_map (line 281) | static void ptedit_update_user_map(void* address, pid_t pid, ptedit_entr... function ptedit_set_pfn (line 298) | size_t ptedit_set_pfn(size_t pte, size_t pfn) { function ptedit_get_pfn (line 310) | size_t ptedit_get_pfn(size_t pte) { function ptedit_print_entry_line (line 334) | void ptedit_print_entry_line(size_t entry, int line) { function ptedit_print_entry (line 387) | void ptedit_print_entry(size_t entry) { function ptedit_print_entry_t (line 395) | void ptedit_print_entry_t(ptedit_entry_t entry) { function ptedit_init (line 419) | int ptedit_init() { function ptedit_cleanup (line 477) | void ptedit_cleanup() { function ptedit_use_implementation (line 492) | void ptedit_use_implementation(int implementation) { function ptedit_get_pagesize (line 526) | int ptedit_get_pagesize() { function ptedit_read_physical_page (line 538) | void ptedit_read_physical_page(size_t pfn, char* buffer) { function ptedit_write_physical_page (line 560) | void ptedit_write_physical_page(size_t pfn, char* content) { function ptedit_get_paging_root (line 588) | size_t ptedit_get_paging_root(pid_t pid) { function ptedit_set_paging_root (line 606) | void ptedit_set_paging_root(pid_t pid, size_t root) { function ptedit_invalidate_tlb (line 624) | void ptedit_invalidate_tlb(void* address) { function ptedit_switch_tlb_invalidation (line 635) | int ptedit_switch_tlb_invalidation(int implementation) { function ptedit_get_mts (line 645) | size_t ptedit_get_mts() { function ptedit_get_mt (line 658) | char ptedit_get_mt(unsigned char mt) { function ptedit_set_mts (line 717) | void ptedit_set_mts(size_t mts) { function ptedit_set_mt (line 728) | void ptedit_set_mt(unsigned char mt, unsigned char value) { function ptedit_find_mt (line 741) | unsigned char ptedit_find_mt(unsigned char type) { function ptedit_find_first_mt (line 767) | int ptedit_find_first_mt(unsigned char type) { function ptedit_apply_mt (line 783) | size_t ptedit_apply_mt(size_t entry, unsigned char mt) { function ptedit_extract_mt (line 797) | unsigned char ptedit_extract_mt(size_t entry) { function ptedit_full_serializing_barrier (line 806) | void ptedit_full_serializing_barrier() { function ptedit_pte_set_bit (line 834) | void ptedit_pte_set_bit(void* address, pid_t pid, int bit) { function ptedit_pte_clear_bit (line 843) | void ptedit_pte_clear_bit(void* address, pid_t pid, int bit) { function ptedit_pte_get_bit (line 852) | unsigned char ptedit_pte_get_bit(void* address, pid_t pid, int bit) { function ptedit_pte_get_pfn (line 858) | size_t ptedit_pte_get_pfn(void* address, pid_t pid) { function ptedit_pte_set_pfn (line 865) | void ptedit_pte_set_pfn(void* address, pid_t pid, size_t pfn) { FILE: pocs/libpte/ptedit.h type pid_t (line 10) | typedef size_t pid_t; type ptedit_entry_t (line 212) | typedef ptedit_entry_t(*ptedit_resolve_t)(void*, pid_t); type ptedit_pgd_t (line 298) | typedef struct { type ptedit_pgd_t (line 319) | typedef ptedit_pgd_t ptedit_p4d_t; type ptedit_pgd_t (line 325) | typedef ptedit_pgd_t ptedit_pud_t; type ptedit_pgd_t (line 331) | typedef ptedit_pgd_t ptedit_pmd_t; type ptedit_pmd_large_t (line 338) | typedef struct { type ptedit_pte_t (line 362) | typedef struct { type ptedit_pgd_t (line 387) | typedef struct { type ptedit_pgd_t (line 403) | typedef ptedit_pgd_t ptedit_p4d_t; type ptedit_pgd_t (line 409) | typedef ptedit_pgd_t ptedit_pud_t; type ptedit_pgd_t (line 415) | typedef ptedit_pgd_t ptedit_pmd_t; type ptedit_pgd_large_t (line 421) | typedef struct { type ptedit_pmd_large_t (line 443) | typedef struct { type ptedit_pte_t (line 465) | typedef struct { FILE: pocs/libpte/ptedit_header.h type ptedit_entry_t (line 30) | typedef struct { type ptedit_page_t (line 66) | typedef struct { type ptedit_page_t (line 78) | typedef struct { type ptedit_paging_t (line 89) | typedef struct { type pid_t (line 168) | typedef size_t pid_t; type ptedit_entry_t (line 370) | typedef ptedit_entry_t(*ptedit_resolve_t)(void*, pid_t); type ptedit_pgd_t (line 456) | typedef struct { type ptedit_pgd_t (line 477) | typedef ptedit_pgd_t ptedit_p4d_t; type ptedit_pgd_t (line 483) | typedef ptedit_pgd_t ptedit_pud_t; type ptedit_pgd_t (line 489) | typedef ptedit_pgd_t ptedit_pmd_t; type ptedit_pmd_large_t (line 496) | typedef struct { type ptedit_pte_t (line 520) | typedef struct { type ptedit_pgd_t (line 545) | typedef struct { type ptedit_pgd_t (line 561) | typedef ptedit_pgd_t ptedit_p4d_t; type ptedit_pgd_t (line 567) | typedef ptedit_pgd_t ptedit_pud_t; type ptedit_pgd_t (line 573) | typedef ptedit_pgd_t ptedit_pmd_t; type ptedit_pgd_large_t (line 579) | typedef struct { type ptedit_pmd_large_t (line 601) | typedef struct { type ptedit_pte_t (line 623) | typedef struct { type ptedit_paging_definition_t (line 984) | typedef struct { function ptedit_entry_t (line 995) | ptedit_entry_t ptedit_resolve_kernel(void* address, pid_t pid) { function ptedit_phys_read_map (line 1013) | static inline size_t ptedit_phys_read_map(size_t address) { function ptedit_phys_write_map (line 1018) | static inline void ptedit_phys_write_map(size_t address, size_t value) { function ptedit_phys_read_pread (line 1023) | static inline size_t ptedit_phys_read_pread(size_t address) { function ptedit_phys_write_pwrite (line 1037) | static inline void ptedit_phys_write_pwrite(size_t address, size_t value) { function ptedit_entry_t (line 1152) | static ptedit_entry_t ptedit_resolve_user(void* address, pid_t pid) { function ptedit_entry_t (line 1158) | static ptedit_entry_t ptedit_resolve_user_map(void* address, pid_t pid) { function ptedit_update_kernel (line 1164) | void ptedit_update_kernel(void* address, pid_t pid, ptedit_entry_t* vm) { function ptedit_update_user_ext (line 1175) | void ptedit_update_user_ext(void* address, pid_t pid, ptedit_entry_t* vm... function ptedit_update_user (line 1219) | static void ptedit_update_user(void* address, pid_t pid, ptedit_entry_t*... function ptedit_update_user_map (line 1226) | static void ptedit_update_user_map(void* address, pid_t pid, ptedit_entr... function ptedit_set_pfn (line 1243) | size_t ptedit_set_pfn(size_t pte, size_t pfn) { function ptedit_get_pfn (line 1255) | size_t ptedit_get_pfn(size_t pte) { function ptedit_print_entry_line (line 1279) | void ptedit_print_entry_line(size_t entry, int line) { function ptedit_print_entry (line 1332) | void ptedit_print_entry(size_t entry) { function ptedit_print_entry_t (line 1340) | void ptedit_print_entry_t(ptedit_entry_t entry) { function ptedit_init (line 1364) | int ptedit_init() { function ptedit_cleanup (line 1422) | void ptedit_cleanup() { function ptedit_use_implementation (line 1437) | void ptedit_use_implementation(int implementation) { function ptedit_get_pagesize (line 1471) | int ptedit_get_pagesize() { function ptedit_read_physical_page (line 1483) | void ptedit_read_physical_page(size_t pfn, char* buffer) { function ptedit_write_physical_page (line 1505) | void ptedit_write_physical_page(size_t pfn, char* content) { function ptedit_get_paging_root (line 1533) | size_t ptedit_get_paging_root(pid_t pid) { function ptedit_set_paging_root (line 1551) | void ptedit_set_paging_root(pid_t pid, size_t root) { function ptedit_invalidate_tlb (line 1569) | void ptedit_invalidate_tlb(void* address) { function ptedit_switch_tlb_invalidation (line 1580) | int ptedit_switch_tlb_invalidation(int implementation) { function ptedit_get_mts (line 1590) | size_t ptedit_get_mts() { function ptedit_get_mt (line 1603) | char ptedit_get_mt(unsigned char mt) { function ptedit_set_mts (line 1662) | void ptedit_set_mts(size_t mts) { function ptedit_set_mt (line 1673) | void ptedit_set_mt(unsigned char mt, unsigned char value) { function ptedit_find_mt (line 1686) | unsigned char ptedit_find_mt(unsigned char type) { function ptedit_find_first_mt (line 1712) | int ptedit_find_first_mt(unsigned char type) { function ptedit_apply_mt (line 1728) | size_t ptedit_apply_mt(size_t entry, unsigned char mt) { function ptedit_extract_mt (line 1742) | unsigned char ptedit_extract_mt(size_t entry) { function ptedit_full_serializing_barrier (line 1751) | void ptedit_full_serializing_barrier() { function ptedit_pte_set_bit (line 1779) | void ptedit_pte_set_bit(void* address, pid_t pid, int bit) { function ptedit_pte_clear_bit (line 1788) | void ptedit_pte_clear_bit(void* address, pid_t pid, int bit) { function ptedit_pte_get_bit (line 1797) | unsigned char ptedit_pte_get_bit(void* address, pid_t pid, int bit) { function ptedit_pte_get_pfn (line 1803) | size_t ptedit_pte_get_pfn(void* address, pid_t pid) { function ptedit_pte_set_pfn (line 1810) | void ptedit_pte_set_pfn(void* address, pid_t pid, size_t pfn) { FILE: pocs/meltdown/AC/main.c function main (line 26) | int main(void) { FILE: pocs/meltdown/BR/main.c function fault_handler (line 33) | void fault_handler(int no) { function main (line 56) | int main(void) { FILE: pocs/meltdown/DE/main.c function main (line 13) | int main(void) { FILE: pocs/meltdown/GP/main.c function main (line 11) | int main(int argc, char **argv) { FILE: pocs/meltdown/GP/module/kernel_module.c type mm_struct (line 14) | struct mm_struct type task_struct (line 15) | struct task_struct type pid (line 16) | struct pid function pid_to_cr3 (line 36) | unsigned long pid_to_cr3(size_t pid) { function my_proc_show (line 52) | static int my_proc_show(struct seq_file *m, void *v) { function my_proc_write (line 57) | static ssize_t my_proc_write(struct file *file, const char __user *buffer, function my_proc_open (line 67) | static int my_proc_open(struct inode *inode, struct file *file) { type proc_ops (line 72) | struct proc_ops type file_operations (line 78) | struct file_operations function hello_init (line 86) | static int __init hello_init(void) { function hello_exit (line 97) | static void __exit hello_exit(void) { FILE: pocs/meltdown/NM/main.c function main (line 16) | int main(void) { FILE: pocs/meltdown/NM/victim.c function main (line 5) | int main(void) { FILE: pocs/meltdown/P/main.c function main (line 20) | int main(void) { FILE: pocs/meltdown/PK/main.c function main (line 14) | int main(void) { FILE: pocs/meltdown/RW/main.c function function (line 14) | void function() { function main (line 21) | int main(void) { FILE: pocs/meltdown/SS/cacheutils.h function perf_init (line 35) | void perf_init() { function rdtsc (line 52) | uint64_t rdtsc() { function rdtsc_begin (line 70) | uint64_t rdtsc_begin() { function rdtsc_end (line 86) | uint64_t rdtsc_end() { function flush (line 102) | void flush(void *p) { asm volatile("clflush 0(%0)\n" : : "c"(p) : "rax"); } function maccess (line 105) | void maccess(void *p) { asm volatile("mov (%0), %%eax\n" : : "c"(p) : "r... function mfence (line 108) | void mfence() { asm volatile("mfence"); } function nospec (line 111) | void nospec() { asm volatile("lfence"); } function xbegin (line 115) | unsigned int xbegin() { function xend (line 122) | void xend() { function has_tsx (line 127) | int has_tsx() { function maccess_tsx (line 138) | void maccess_tsx(void* ptr) { function rdtsc (line 151) | uint64_t rdtsc() { function rdtsc_begin (line 190) | uint64_t rdtsc_begin() { function rdtsc_end (line 228) | uint64_t rdtsc_end() { function flush (line 265) | void flush(void *p) { function maccess (line 272) | void maccess(void *p) { function mfence (line 280) | void mfence() { asm volatile("DSB ISH"); } function nospec (line 283) | void nospec() { asm volatile("DSB SY\nISB"); } function flush_reload (line 288) | int flush_reload(void *ptr) { function flush_reload_t (line 314) | int flush_reload_t(void *ptr) { function reload_t (line 337) | int reload_t(void *ptr) { function detect_flush_reload_threshold (line 359) | size_t detect_flush_reload_threshold() { function maccess_speculative (line 379) | void maccess_speculative(void* ptr) { function unblock_signal (line 397) | void unblock_signal(int signum __attribute__((__unused__))) { function trycatch_segfault_handler (line 405) | void trycatch_segfault_handler(int signum) { function try_start (line 417) | int try_start() { function try_end (line 439) | void try_end() { function try_abort (line 452) | void try_abort() { FILE: pocs/meltdown/SS/main.c type user_desc (line 21) | struct user_desc type user_desc (line 33) | struct user_desc function seg_ok (line 45) | void inline __attribute__((always_inline)) seg_ok(void) { function seg_fail (line 51) | void inline __attribute__((always_inline)) seg_fail(void) { function main (line 57) | int main(void) { FILE: pocs/meltdown/UD/main.c function main (line 13) | int main(void) { FILE: pocs/meltdown/US/main.c function main (line 20) | int main(void) { FILE: pocs/spectre/BTB/ca_ip/main.cpp class Animal (line 19) | class Animal { method move (line 21) | virtual void move() { class Bird (line 27) | class Bird : public Animal { method Bird (line 31) | Bird() { method move (line 34) | void move() { class Fish (line 40) | class Fish : public Animal { method Fish (line 44) | Fish() { method move (line 47) | void move() { function move_animal (line 55) | void move_animal(Animal* animal) { function main (line 60) | int main(int argc, char **argv) { FILE: pocs/spectre/BTB/ca_oop/cacheutils.h function rdtsc (line 17) | inline __attribute__((always_inline)) uint64_t rdtsc() { function maccess (line 35) | inline __attribute__((always_inline)) void maccess(volatile void* p) function flush (line 43) | inline __attribute__((always_inline)) void flush(void* p) { FILE: pocs/spectre/BTB/ca_oop/main.c function calibration (line 62) | size_t calibration() { function main (line 96) | int main(int argc, char **argv) { FILE: pocs/spectre/BTB/ca_oop/smc_utils.h function call_addr (line 1) | inline __attribute__((always_inline)) void call_addr(size_t addr) function inject_code (line 12) | size_t inject_code(size_t dest, char* hex, size_t length) function inject_jump (line 18) | size_t inject_jump(size_t dest, size_t target) function inject_maccess (line 27) | size_t inject_maccess(size_t dest, size_t target) function inject_nop (line 36) | size_t inject_nop(size_t dest, size_t no) function assemble (line 46) | size_t assemble(char *in, char **out) function inject_asm (line 80) | size_t inject_asm(size_t dest, char* asm_code) FILE: pocs/spectre/BTB/sa_ip/main.cpp class Animal (line 19) | class Animal { method move (line 21) | virtual void move() { class Bird (line 26) | class Bird : public Animal { method Bird (line 30) | Bird() { method move (line 33) | void move() { class Fish (line 39) | class Fish : public Animal { method Fish (line 43) | Fish() { method move (line 46) | void move() { function move_animal (line 54) | void move_animal(Animal* animal) { function main (line 59) | int main(int argc, char **argv) { FILE: pocs/spectre/BTB/sa_oop/main.c function segfault_handler (line 18) | static void segfault_handler(int signum) { function dummy (line 24) | void dummy() { function dump_secret (line 28) | void dump_secret() { function main (line 33) | int main(int argc, const char **argv) { FILE: pocs/spectre/PHT/ca_ip/main.c function access_array (line 19) | char access_array(int x) { function main (line 37) | int main(int argc, const char **argv) { FILE: pocs/spectre/PHT/ca_oop/main.c function access_array (line 23) | char access_array(int x) { function oop (line 54) | void oop() { function main (line 62) | int main(int argc, const char **argv) { FILE: pocs/spectre/PHT/sa_ip/main.c function access_array (line 19) | char access_array(int x) { function main (line 38) | int main(int argc, const char **argv) { FILE: pocs/spectre/PHT/sa_oop/main.c function access_array (line 22) | char access_array(int x) { function oop (line 54) | void oop() { function main (line 66) | int main(int argc, const char **argv) { FILE: pocs/spectre/RSB/ca_ip/main.c function in_place (line 16) | void __attribute__((noinline)) in_place() { function attacker (line 26) | void __attribute__((noinline)) attacker() { function victim (line 36) | void __attribute__((noinline)) victim() { function main (line 58) | int main(int argc, char **argv) { FILE: pocs/spectre/RSB/ca_oop/main.c function wrong_return (line 16) | void __attribute__((noinline)) wrong_return() { function pollute_rsb (line 22) | void __attribute__((noinline)) pollute_rsb() { function main (line 32) | int main(int argc, char **argv) { FILE: pocs/spectre/RSB/sa_ip/main.c function in_place (line 10) | void __attribute__((noinline)) in_place() { function main (line 44) | int main(int argc, char **argv) { FILE: pocs/spectre/RSB/sa_oop/main.c function call_manipulate_stack (line 17) | int __attribute__ ((noinline)) call_manipulate_stack() { function call_leak (line 26) | int __attribute__ ((noinline)) call_leak() { function call_start (line 35) | int __attribute__ ((noinline)) call_start() { function confuse_compiler (line 40) | void confuse_compiler() { function main (line 48) | int main(int argc, const char **argv) { FILE: pocs/spectre/STL/main.c function access_array (line 20) | char access_array(int x) { function main (line 49) | int main(int argc, const char **argv) {