retval =perf_event_init_task(p);if(retval)gotobad_fork_cleanup_policy;if((retval = audit_alloc(p)))gotobad_fork_cleanup_policy;/* copy all the process information */if((retval = copy_semundo(clone_flags, p)))gotobad_fork_cleanup_audit;if((retval = copy_files(clone_flags, p)))got...
Linux Kernel是美国Linux基金会发布的开放源码操作系统Linux所使用的内核。 Linux kernel 3.8.9之前的版本中的kernel/events/core.c中的‘perf_swevent_init’函数中存在漏洞,该漏洞源于程序使用不正确的整数数据类型。本地攻击者可通过特制的perf_event_open系统调用利用该漏洞获得权限。 目前厂商已经发布了升级补丁以...
uint64_t addr; } __attribute__((packed));staticint_fd;staticintperf_open(uint64_t off) {structperf_event_attr attr;intrc;//printf("perf open %lx [%d]\n", off, (int) off);memset(&attr,0,sizeof(attr)); attr.type=PERF_TYPE_SOFTWARE; attr.size=sizeof(attr); attr.config=off;...
retval =perf_event_init_task(p);if(retval)gotobad_fork_cleanup_policy;if((retval = audit_alloc(p)))gotobad_fork_cleanup_policy;/* copy all the process information */if((retval = copy_semundo(clone_flags, p)))gotobad_fork_cleanup_audit;if((retval = copy_files(clone_flags, p)))got...