{ "results": [ { "index": 0, "function": "__debug_object_init", "module": "vmlinux", "function_type": "normal", "address_computed": "0xffffffff84bc2d2f", "address_formatted": "0xffffffff84bc2d2f (0xffffffff84bc2a20 + 0x30f)", "addr2line_address": "0xffffffff84bc2d2f", "source": { "primary": { "function": "debug_print_object", "file": "lib/debugobjects.c", "line": 0 }, "inlined_frames": [ { "function": "__debug_object_init", "file": "lib/debugobjects.c", "line": 0 } ] }, "function_source": null, "note": "addr2line returned line 0 for lib/debugobjects.c \u2014 DWARF may be incomplete at this address", "disasm": "ffffffff84bc2cf3:\tcall ffffffff82310c20 <__asan_report_load8_noabort>\nffffffff84bc2cf8:\tmov (%r12),%r12\nffffffff84bc2cfc:\tmov %r13,%rax\nffffffff84bc2cff:\tshr $0x3,%rax\nffffffff84bc2d03:\tcmpb $0x0,(%rax,%r15,1)\nffffffff84bc2d08:\tje ffffffff84bc2d12 <__debug_object_init+0x2f2>\nffffffff84bc2d0a:\tmov %r13,%rdi\nffffffff84bc2d0d:\tcall ffffffff82310c20 <__asan_report_load8_noabort>\nffffffff84bc2d12:\tmov 0x0(%r13),%r9\nffffffff84bc2d16:\tmov %r14,%rdi\nffffffff84bc2d19:\tmov $0xffffffff8c28a720,%rsi\nffffffff84bc2d20:\tmov %r12,%rdx\nffffffff84bc2d23:\tmov 0x8(%rsp),%ecx\nffffffff84bc2d27:\tmov (%rsp),%r8\nffffffff84bc2d2b:\tpush 0x10(%rsp)\nffffffff84bc2d2f:\tcall ffffffff8bbbde98 <__SCT__WARN_trap> <<< crash\nffffffff84bc2d34:\tadd $0x8,%rsp\nffffffff84bc2d38:\tincl 0xb778c8e(%rip) # ffffffff9033b9cc \nffffffff84bc2d3e:\tcmp $0x3,%ebp\nffffffff84bc2d41:\tjne ffffffff84bc2d82 <__debug_object_init+0x362>\nffffffff84bc2d43:\tmov 0x18(%rsp),%r14" }, { "index": 1, "function": "timer_init_key", "module": "vmlinux", "function_type": "normal", "address_computed": "0xffffffff81b1ce61", "address_formatted": "0xffffffff81b1ce61 (0xffffffff81b1ce20 + 0x41)", "addr2line_correction": "-1 (return address)", "addr2line_address": "0xffffffff81b1ce60", "source": { "primary": { "function": "debug_timer_init", "file": "kernel/time/timer.c", "line": 788 }, "inlined_frames": [ { "function": "debug_init", "file": "kernel/time/timer.c", "line": 836 }, { "function": "timer_init_key", "file": "kernel/time/timer.c", "line": 880 } ] }, "function_source": { "file": "kernel/time/timer.c", "start_line": 785, "end_line": 789, "code": "\nstatic inline void debug_timer_init(struct timer_list *timer)\n{\n debug_object_init(timer, &timer_debug_descr);\n}\n" }, "git_blame_hashes": [ "c6f3a97f86a5c97be0ca255976110bb9c3cfe669" ], "blame_details": [ { "hash": "c6f3a97f86a5c97be0ca255976110bb9c3cfe669", "subject": "debugobjects: add timer specific object debugging code" } ], "recent_commits": [ { "hash": "c6f3a97f86a5", "subject": "debugobjects: add timer specific object debugging code" }, { "hash": "7ad5b3a505e6", "subject": "kernel: remove fastcall in kernel/*" }, { "hash": "55c888d6d09a", "subject": "[PATCH] timers fixes/improvements" } ] }, { "index": 2, "function": "lane_ioctl", "module": "vmlinux", "function_type": "normal", "address_computed": "0xffffffff8ae1a809", "address_formatted": "0xffffffff8ae1a809 (0xffffffff8ae19290 + 0x1579)", "addr2line_correction": "-1 (return address)", "addr2line_address": "0xffffffff8ae1a808", "source": { "primary": { "function": "lec_arp_init", "file": "net/atm/lec.c", "line": 0 }, "inlined_frames": [ { "function": "lecd_attach", "file": "net/atm/lec.c", "line": 0 }, { "function": "lane_ioctl", "file": "net/atm/lec.c", "line": 0 } ] }, "function_source": null, "note": "addr2line returned line 0 for net/atm/lec.c \u2014 DWARF may be incomplete at this address" }, { "index": 3, "function": "do_vcc_ioctl", "module": "vmlinux", "function_type": "normal", "address_computed": "0xffffffff8ae003dd", "address_formatted": "0xffffffff8ae003dd (0xffffffff8ae00070 + 0x36d)", "addr2line_correction": "-1 (return address)", "addr2line_address": "0xffffffff8ae003dc", "source": { "primary": { "function": "do_vcc_ioctl", "file": "net/atm/ioctl.c", "line": 0 }, "inlined_frames": [] }, "function_source": null, "note": "addr2line returned line 0 for net/atm/ioctl.c \u2014 DWARF may be incomplete at this address" }, { "index": 4, "function": "svc_ioctl", "module": "vmlinux", "function_type": "normal", "address_computed": "0xffffffff8adfe8c6", "address_formatted": "0xffffffff8adfe8c6 (0xffffffff8adfe6d0 + 0x1f6)", "addr2line_correction": "-1 (return address)", "addr2line_address": "0xffffffff8adfe8c5", "source": { "primary": { "function": "svc_ioctl", "file": "net/atm/svc.c", "line": 611 }, "inlined_frames": [] }, "function_source": { "file": "net/atm/svc.c", "start_line": 587, "end_line": 615, "code": "\nstatic int svc_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)\n{\n int error, ep_ref;\n struct sockaddr_atmsvc sa;\n struct atm_vcc *vcc = ATM_SD(sock);\n\n switch (cmd) {\n case ATM_ADDPARTY:\n if (!test_bit(ATM_VF_SESSION, &vcc->flags))\n return -EINVAL;\n if (copy_from_user(&sa, (void __user *) arg, sizeof(sa)))\n return -EFAULT;\n error = svc_addparty(sock, (struct sockaddr *)&sa, sizeof(sa),\n 0);\n break;\n case ATM_DROPPARTY:\n if (!test_bit(ATM_VF_SESSION, &vcc->flags))\n return -EINVAL;\n if (copy_from_user(&ep_ref, (void __user *) arg, sizeof(int)))\n return -EFAULT;\n error = svc_dropparty(sock, ep_ref);\n break;\n default:\n error = vcc_ioctl(sock, cmd, arg);\n }\n\n return error;\n}\n" }, "git_blame_hashes": [ "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2", "b7d9371befd6fa3eb0ad9d574860095642bf70ed", "f7d57453d20e27de69ecafd121005e9d13a0f427" ], "recent_commits": [ { "hash": "b7d9371befd6", "subject": "net/atm/svc.c: checkpatch cleanups" }, { "hash": "f7d57453d20e", "subject": "[NET] ATM: Fix whitespace errors." }, { "hash": "1da177e4c3f4", "subject": "Linux-2.6.12-rc2" } ] }, { "index": 5, "function": "sock_do_ioctl", "module": "vmlinux", "function_type": "normal", "address_computed": "0xffffffff897a71a1", "address_formatted": "0xffffffff897a71a1 (0xffffffff897a70a0 + 0x101)", "addr2line_correction": "-1 (return address)", "addr2line_address": "0xffffffff897a71a0", "source": { "primary": { "function": "sock_do_ioctl", "file": "net/socket.c", "line": 0 }, "inlined_frames": [] }, "function_source": null, "note": "addr2line returned line 0 for net/socket.c \u2014 DWARF may be incomplete at this address" }, { "index": 6, "function": "sock_ioctl", "module": "vmlinux", "function_type": "normal", "address_computed": "0xffffffff897a5b06", "address_formatted": "0xffffffff897a5b06 (0xffffffff897a5540 + 0x5c6)", "addr2line_correction": "-1 (return address)", "addr2line_address": "0xffffffff897a5b05", "source": { "primary": { "function": "sock_ioctl", "file": "net/socket.c", "line": 1434 }, "inlined_frames": [] }, "function_source": { "file": "net/socket.c", "start_line": 1334, "end_line": 1438, "code": "\n/*\n * With an ioctl, arg may well be a user mode pointer, but we don't know\n * what to do with it - that's up to the protocol still.\n */\n\nstatic long sock_ioctl(struct file *file, unsigned cmd, unsigned long arg)\n{\n const struct proto_ops *ops;\n struct socket *sock;\n struct sock *sk;\n void __user *argp = (void __user *)arg;\n int pid, err;\n struct net *net;\n\n sock = file->private_data;\n ops = READ_ONCE(sock->ops);\n sk = sock->sk;\n net = sock_net(sk);\n if (unlikely(cmd >= SIOCDEVPRIVATE && cmd <= (SIOCDEVPRIVATE + 15))) {\n struct ifreq ifr;\n void __user *data;\n bool need_copyout;\n if (get_user_ifreq(&ifr, &data, argp))\n return -EFAULT;\n err = dev_ioctl(net, cmd, &ifr, data, &need_copyout);\n if (!err && need_copyout)\n if (put_user_ifreq(&ifr, argp))\n return -EFAULT;\n } else\n#ifdef CONFIG_WEXT_CORE\n if (cmd >= SIOCIWFIRST && cmd <= SIOCIWLAST) {\n err = wext_handle_ioctl(net, cmd, argp);\n } else\n#endif\n switch (cmd) {\n case FIOSETOWN:\n case SIOCSPGRP:\n err = -EFAULT;\n if (get_user(pid, (int __user *)argp))\n break;\n err = f_setown(sock->file, pid, 1);\n break;\n case FIOGETOWN:\n case SIOCGPGRP:\n err = put_user(f_getown(sock->file),\n (int __user *)argp);\n break;\n case SIOCGIFBR:\n case SIOCSIFBR:\n case SIOCBRADDBR:\n case SIOCBRDELBR:\n case SIOCBRADDIF:\n case SIOCBRDELIF:\n err = br_ioctl_call(net, cmd, argp);\n break;\n case SIOCGIFVLAN:\n case SIOCSIFVLAN:\n err = -ENOPKG;\n if (!vlan_ioctl_hook)\n request_module(\"8021q\");\n\n mutex_lock(&vlan_ioctl_mutex);\n if (vlan_ioctl_hook)\n err = vlan_ioctl_hook(net, argp);\n mutex_unlock(&vlan_ioctl_mutex);\n break;\n case SIOCGSKNS:\n err = -EPERM;\n if (!ns_capable(net->user_ns, CAP_NET_ADMIN))\n break;\n\n err = open_related_ns(&net->ns, get_net_ns);\n break;\n case SIOCGSTAMP_OLD:\n case SIOCGSTAMPNS_OLD:\n if (!ops->gettstamp) {\n err = -ENOIOCTLCMD;\n break;\n }\n err = ops->gettstamp(sock, argp,\n cmd == SIOCGSTAMP_OLD,\n !IS_ENABLED(CONFIG_64BIT));\n break;\n case SIOCGSTAMP_NEW:\n case SIOCGSTAMPNS_NEW:\n if (!ops->gettstamp) {\n err = -ENOIOCTLCMD;\n break;\n }\n err = ops->gettstamp(sock, argp,\n cmd == SIOCGSTAMP_NEW,\n false);\n break;\n\n case SIOCGIFCONF:\n err = dev_ifconf(net, argp);\n break;\n\n default:\n err = sock_do_ioctl(net, sock, cmd, arg);\n break;\n }\n return err;\n}\n" }, "git_blame_hashes": [ "0768e17073dc527ccd18ed5f96ce85f9985e9115", "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2", "1ded5e5a5931bb8b31e15b63b655fe232e3416b2", "393cc3f51135ea2520521f776ef3afdf3395c797", "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9", "3d23e349d807177eaf519d444677cee86b1a04cf", "44c02a2c3dc55835e9f0d8ef73966406cd805001", "4a3e2f711a00a1feb72ae12fdc749da10179d185", "60747828eac28836b49bed214399b0c972f19df3", "609d7fa9565c754428d2520cac2accc9052e1245", "63ff03ab786ab1bc6cca01d48eacd22c95b9b3eb", "6b96018b28bd93274b4b2a4c633a5d373fda0441", "876f0bf9d0d5189dca9341c8e8e8686b09db8398", "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2", "89bddce58e85bb18b13f5077e8349ba9a3ee2597", "a554bf96b49db4c208e305ae92546422e9489380", "b1b0c245067268043e0e832432f3d537a5cae33b", "b69aee04fbfc027fc4ddaddc809ea8711cef9511", "c62cce2caee558e18aa05c01c2fd3b40f07174f2", "c7cbdbf29f488a19982cd9f4a109887f18028bbb", "ed3ba9b6e280e14cc3148c1b226ba453f02fa76c" ], "recent_commits": [ { "hash": "ed3ba9b6e280", "subject": "net: Remove RTNL dance for SIOCBRADDIF and SIOCBRDELIF." }, { "hash": "1ded5e5a5931", "subject": "net: annotate data-races around sock->ops" }, { "hash": "ad2f99aedf8f", "subject": "net: bridge: move bridge ioctls out of .ndo_do_ioctl" }, { "hash": "a554bf96b49d", "subject": "dev_ioctl: pass SIOCDEVPRIVATE data separately" }, { "hash": "876f0bf9d0d5", "subject": "net: socket: simplify dev_ifconf handling" }, { "hash": "ea6932d70e22", "subject": "net: make get_net_ns return error if NET_NS is disabled" }, { "hash": "f73659192b0b", "subject": "net: wan: Delete the DLCI / SDLA drivers" }, { "hash": "60747828eac2", "subject": "net: socket: Fix missing break in switch statement" }, { "hash": "0768e17073dc", "subject": "net: socket: implement 64-bit timestamps" }, { "hash": "c7cbdbf29f48", "subject": "net: rework SIOCGSTAMP ioctl handling" } ] }, { "index": 7, "function": "__se_sys_ioctl", "module": "vmlinux", "function_type": "normal", "address_computed": "0xffffffff824860cc", "address_formatted": "0xffffffff824860cc (0xffffffff82485fd0 + 0xfc)", "addr2line_correction": "-1 (return address)", "addr2line_address": "0xffffffff824860cb", "source": { "primary": { "function": "vfs_ioctl", "file": "fs/ioctl.c", "line": 51 }, "inlined_frames": [ { "function": "__do_sys_ioctl", "file": "fs/ioctl.c", "line": 597 }, { "function": "__se_sys_ioctl", "file": "fs/ioctl.c", "line": 583 } ] }, "function_source": { "file": "fs/ioctl.c", "start_line": 35, "end_line": 56, "code": " * @filp: open file to invoke ioctl method on\n * @cmd: ioctl command to execute\n * @arg: command-specific argument for ioctl\n *\n * Invokes filesystem specific ->unlocked_ioctl, if one exists; otherwise\n * returns -ENOTTY.\n *\n * Returns 0 on success, -errno on error.\n */\nstatic int vfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)\n{\n int error = -ENOTTY;\n\n if (!filp->f_op->unlocked_ioctl)\n goto out;\n\n error = filp->f_op->unlocked_ioctl(filp, cmd, arg);\n if (error == -ENOIOCTLCMD)\n error = -ENOTTY;\n out:\n return error;\n}\n" }, "git_blame_hashes": [ "07d106d0a33d6063d2061305903deb02489eba20", "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2", "72c2d53192004845cbc19cd8a30b3212a9288140", "b19dd42faf413b4705d4adb38521e82d73fa4249", "deb21db7788b97a2bccdefe605433ef97f482689", "e5bca063c150877c45b88ff134b6ef7a5eae8e7a", "f6a4c8bdb30370991905941ddf85d28dde7370b1" ], "recent_commits": [ { "hash": "e5bca063c150", "subject": "fs: remove vfs_ioctl export" }, { "hash": "f326565c4441", "subject": "ioctl: Fix return type of several functions from long to int" }, { "hash": "66cf191f3eae", "subject": "compat_ioctl: don't pass fd around when not needed" }, { "hash": "72c2d5319200", "subject": "file->f_op is never NULL..." }, { "hash": "07d106d0a33d", "subject": "vfs: fix up ENOIOCTLCMD error handling" }, { "hash": "b19dd42faf41", "subject": "bkl: Remove locked .ioctl file operation" }, { "hash": "67cde595374d", "subject": "make vfs_ioctl() static" }, { "hash": "f6a4c8bdb303", "subject": "fix up kerneldoc in fs/ioctl.c a little bit" }, { "hash": "deb21db7788b", "subject": "VFS: swap do_ioctl and vfs_ioctl names" }, { "hash": "64d67d21773f", "subject": "revert \"vanishing ioctl handler debugging\"" } ] }, { "index": 8, "function": "do_syscall_64", "module": "vmlinux", "function_type": "normal", "address_computed": "0xffffffff8bb861df", "address_formatted": "0xffffffff8bb861df (0xffffffff8bb86080 + 0x15f)", "addr2line_correction": "-1 (return address)", "addr2line_address": "0xffffffff8bb861de", "source": { "primary": { "function": "do_syscall_x64", "file": "arch/x86/entry/syscall_64.c", "line": 63 }, "inlined_frames": [ { "function": "do_syscall_64", "file": "arch/x86/entry/syscall_64.c", "line": 94 } ] }, "function_source": { "file": "arch/x86/entry/syscall_64.c", "start_line": 51, "end_line": 67, "code": "#endif\n\nstatic __always_inline bool do_syscall_x64(struct pt_regs *regs, int nr)\n{\n /*\n * Convert negative numbers to very high and thus out of range\n * numbers for comparisons.\n */\n unsigned int unr = nr;\n\n if (likely(unr < NR_syscalls)) {\n unr = array_index_nospec(unr, NR_syscalls);\n regs->ax = x64_sys_call(regs, unr);\n return true;\n }\n return false;\n}\n" }, "git_blame_hashes": [ "01dfb4805420291966b75b208d66c88c62579649", "21832247f2df4f636b0f2ae6939819e8dd2ed35f" ], "recent_commits": [ { "hash": "21832247f2df", "subject": "x86/syscall/x32: Move x32 syscall table" }, { "hash": "01dfb4805420", "subject": "x86/syscall/64: Move 64-bit syscall dispatch code" } ] }, { "index": 9, "function": "entry_SYSCALL_64_after_hwframe", "module": "vmlinux", "function_type": "normal", "address_computed": "0xffffffff81000130", "address_formatted": "0xffffffff81000130 (0xffffffff810000b9 + 0x77)", "addr2line_correction": "-1 (return address)", "addr2line_address": "0xffffffff8100012f", "source": { "primary": { "function": "entry_SYSCALL_64_after_hwframe", "file": "arch/x86/entry/entry_64.S", "line": 121 }, "inlined_frames": [] }, "function_source": { "file": "arch/x86/entry/entry_64.S", "start_line": 81, "end_line": 181, "code": " *\n * When user can change pt_regs->foo always force IRET. That is because\n * it deals with uncanonical addresses better. SYSRET has trouble\n * with them due to bugs in both AMD and Intel CPUs.\n */\n\nSYM_CODE_START(entry_SYSCALL_64)\n UNWIND_HINT_ENTRY\n ENDBR\n\n swapgs\n /* tss.sp2 is scratch space. */\n movq %rsp, PER_CPU_VAR(cpu_tss_rw + TSS_sp2)\n SWITCH_TO_KERNEL_CR3 scratch_reg=%rsp\n movq PER_CPU_VAR(cpu_current_top_of_stack), %rsp\n\nSYM_INNER_LABEL(entry_SYSCALL_64_safe_stack, SYM_L_GLOBAL)\n ANNOTATE_NOENDBR\n\n /* Construct struct pt_regs on stack */\n pushq $__USER_DS /* pt_regs->ss */\n pushq PER_CPU_VAR(cpu_tss_rw + TSS_sp2) /* pt_regs->sp */\n pushq %r11 /* pt_regs->flags */\n pushq $__USER_CS /* pt_regs->cs */\n pushq %rcx /* pt_regs->ip */\nSYM_INNER_LABEL(entry_SYSCALL_64_after_hwframe, SYM_L_GLOBAL)\n pushq %rax /* pt_regs->orig_ax */\n\n PUSH_AND_CLEAR_REGS rax=$-ENOSYS\n\n /* IRQs are off. */\n movq %rsp, %rdi\n /* Sign extend the lower 32bit as syscall numbers are treated as int */\n movslq %eax, %rsi\n\n /* clobbers %rax, make sure it is after saving the syscall nr */\n IBRS_ENTER\n UNTRAIN_RET\n CLEAR_BRANCH_HISTORY\n\n call do_syscall_64 /* returns with IRQs disabled */\n\n /*\n * Try to use SYSRET instead of IRET if we're returning to\n * a completely clean 64-bit userspace context. If we're not,\n * go to the slow exit path.\n * In the Xen PV case we must use iret anyway.\n */\n\n ALTERNATIVE \"testb %al, %al; jz swapgs_restore_regs_and_return_to_usermode\", \\\n \"jmp swapgs_restore_regs_and_return_to_usermode\", X86_FEATURE_XENPV\n\n /*\n * We win! This label is here just for ease of understanding\n * perf profiles. Nothing jumps here.\n */\nsyscall_return_via_sysret:\n IBRS_EXIT\n POP_REGS pop_rdi=0\n\n /*\n * Now all regs are restored except RSP and RDI.\n * Save old stack pointer and switch to trampoline stack.\n */\n movq %rsp, %rdi\n movq PER_CPU_VAR(cpu_tss_rw + TSS_sp0), %rsp\n UNWIND_HINT_END_OF_STACK\n\n pushq RSP-RDI(%rdi) /* RSP */\n pushq (%rdi) /* RDI */\n\n /*\n * We are on the trampoline stack. All regs except RDI are live.\n * We can do future final exit work right here.\n */\n STACKLEAK_ERASE_NOCLOBBER\n\n SWITCH_TO_USER_CR3_STACK scratch_reg=%rdi\n\n popq %rdi\n popq %rsp\nSYM_INNER_LABEL(entry_SYSRETQ_unsafe_stack, SYM_L_GLOBAL)\n ANNOTATE_NOENDBR\n swapgs\n CLEAR_CPU_BUFFERS\n sysretq\nSYM_INNER_LABEL(entry_SYSRETQ_end, SYM_L_GLOBAL)\n ANNOTATE_NOENDBR\n int3\nSYM_CODE_END(entry_SYSCALL_64)\n\n/*\n * %rdi: prev task\n * %rsi: next task\n */\n.pushsection .text, \"ax\"\nSYM_FUNC_START(__switch_to_asm)\n ANNOTATE_NOENDBR\n /*\n * Save callee-saved registers\n * This must match the order in inactive_task_frame\n" }, "git_blame_hashes": [ "0100301bfdf56a2a370c7157b5ab0fbf9313e1cd", "0595494891723a1dcca5eaa8eeca8ab54ad953b9", "0bd7b79851d0f74b24a9ce87d088f2e7c718f668", "1b331eeea7b8676fc5dbdf80d0a07e41be226177", "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2", "1e423bff959e48166f5b7efca01fdb0dbdf05846", "26ba4e5738a544aa17c462bfbe580e74071c810b", "2dbb887e875b1de3ca8f40ddf26bcfe55798c609", "30907fd13bb593202574bb20af58d67c70a1ee14", "385f72c83eb609652f02dc9ee415520c23bda629", "3c7501722e6b31a6e56edd23cea5e77dbb9ffd1a", "3e3b9293d392c577b62e24e4bc9982320438e749", "3e5e7f7736b05d5fdf2cc4e0ba4f2d8bc42c630d", "47f33de4aafb2f5e43d480d590a939d0f1d566a9", "4d7321381e5c7102a3d3faf0a0a0035a09619612", "4fbb39108f972437c44e5ffa781b56635d496826", "582077c94052bd69a544b3f9d7619c9c6a67c34b", "6fd166aae78c0ab738d49bda653cbd9e3b1491cf", "72fe4858544292ad64600765cb78bc02298c6b1c", "7390db8aea0d64e9deb28b8e1ce716f5020c7ee5", "7bf36bbc5e0c09271f9efe22162f8cc3f8ebd3d2", "7fcb3bc361c724a75bc642dbdd9d9bf0bdf07260", "8a055d7f411d41755ce30db5bb65b154777c4b78", "8a9949bc71a71b3dd633255ebe8f8869b1f73474", "8f93402b92d443573d310250efa0b7f352fec992", "96c64806b4bf35f5edb465cafa6cec490e424a30", "98f05b5138f0a9b56022295cc1387e635b25635d", "9ed8e7d86061e7c3fb3855358d51ba4abb19ceb1", "a09a6e2399ba0595c3042b3164f3ca68a3cff33e", "a13644f3a53de4e95a7bce6459f834e832ea44c5", "afaef01c001537fa97a25092d7f54d764dc7d8c1", "afd30525a659ac0ae0904f0cb4a2ca75522c3123", "b9f6976bfb949121bb6e1e6f4fd9909735729148", "bc7b11c04ee9c9b0451ebf85bf64e0de69fdbb17", "bf904d2762ee6fc1e4acfcb0772bbfb4a27ad8a6", "c482feefe1aeb150156248ba0fd3e029bc886605", "ca282b486a570a0bfda5c1a4595ace7fa14243bf", "ce6565282b3b16fd850c6a676f78c6bc76d0c235", "e8d61bdf0fdfaeaf35fb5a63d6e67e60038b88e0", "fb799447ae2974a07907906dff5bd4b9e47b7123", "fffbb5dcfd29f8831e41b4dd2ab938bd36d35283" ], "recent_commits": [ { "hash": "385f72c83eb6", "subject": "x86/percpu: Move top_of_stack to percpu hot section" }, { "hash": "582077c94052", "subject": "x86/cfi: Clean up linkage" }, { "hash": "7390db8aea0d", "subject": "x86/bhi: Add support for clearing branch history at syscall entry" }, { "hash": "3c7501722e6b", "subject": "x86/entry_64: Add VERW just before userspace transition" }, { "hash": "ca282b486a57", "subject": "x86/entry/64: Convert SYSRET validation tests to C" }, { "hash": "eb43c9b1517b", "subject": "x86/entry/64: Remove obsolete comment on tracing vs. SYSRET" }, { "hash": "fb799447ae29", "subject": "x86,objtool: Split UNWIND_HINT_EMPTY in two" }, { "hash": "c063a217bc07", "subject": "x86/percpu: Move current_top_of_stack next to current_task" }, { "hash": "a09a6e2399ba", "subject": "objtool: Add entry UNRET validation" }, { "hash": "2dbb887e875b", "subject": "x86/entry: Add kernel IBRS implementation" } ] } ] }