tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.core/stacktrace head: ee23ee068fe24272f77ff014181286db32179754 commit: 6f6b2fc2fbf712e39df84edc62265273259f8aa1 [28/32] livepatch: Simplify stack trace retrieval config: x86_64-randconfig-s5-04161121 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: git checkout 6f6b2fc2fbf712e39df84edc62265273259f8aa1 # save the attached .config to linux build tree make ARCH=x86_64
All errors (new ones prefixed by >>): kernel/livepatch/transition.o: In function `klp_check_stack': >> kernel/livepatch/transition.c:261: undefined reference to >> `stack_trace_save_tsk_reliable' vim +261 kernel/livepatch/transition.c 249 250 /* 251 * Determine whether it's safe to transition the task to the target patch state 252 * by looking for any to-be-patched or to-be-unpatched functions on its stack. 253 */ 254 static int klp_check_stack(struct task_struct *task, char *err_buf) 255 { 256 static unsigned long entries[MAX_STACK_ENTRIES]; 257 struct klp_object *obj; 258 struct klp_func *func; 259 int ret, nr_entries; 260 > 261 ret = stack_trace_save_tsk_reliable(task, entries, > ARRAY_SIZE(entries)); 262 WARN_ON_ONCE(ret == -ENOSYS); 263 if (ret < 0) { 264 snprintf(err_buf, STACK_ERR_BUF_SIZE, 265 "%s: %s:%d has an unreliable stack\n", 266 __func__, task->comm, task->pid); 267 return ret; 268 } 269 nr_entries = ret; 270 271 klp_for_each_object(klp_transition_patch, obj) { 272 if (!obj->patched) 273 continue; 274 klp_for_each_func(obj, func) { 275 ret = klp_check_stack_func(func, entries, nr_entries); 276 if (ret) { 277 snprintf(err_buf, STACK_ERR_BUF_SIZE, 278 "%s: %s:%d is sleeping on function %s\n", 279 __func__, task->comm, task->pid, 280 func->old_name); 281 return ret; 282 } 283 } 284 } 285 286 return 0; 287 } 288 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip