| @@ -7460,7 +7460,7 @@ static void perf_sample_regs_user(struct perf_regs *regs_user, · 7459 unmodified lines |
| 7460 | if (user_mode(regs)) { | 7460 | if (user_mode(regs)) { |
| 7461 | regs_user->abi = perf_reg_abi(current); | 7461 | regs_user->abi = perf_reg_abi(current); |
| 7462 | regs_user->regs = regs; | 7462 | regs_user->regs = regs; |
| 7463 | } else if (!(current->flags & (PF_KTHREAD | PF_USER_WORKER))) { | 7463 | } else if (is_user_task(current)) { |
| 7464 | perf_get_regs_user(regs_user, regs); | 7464 | perf_get_regs_user(regs_user, regs); |
| 7465 | } else { | 7465 | } else { |
| 7466 | regs_user->abi = PERF_SAMPLE_REGS_ABI_NONE; | 7466 | regs_user->abi = PERF_SAMPLE_REGS_ABI_NONE; |
| @@ -8100,7 +8100,7 @@ static u64 perf_virt_to_phys(u64 virt) · 633 unmodified lines |
| 8100 | * Try IRQ-safe get_user_page_fast_only first. | 8100 | * Try IRQ-safe get_user_page_fast_only first. |
| 8101 | * If failed, leave phys_addr as 0. | 8101 | * If failed, leave phys_addr as 0. |
| 8102 | */ | 8102 | */ |
| 8103 | if (!(current->flags & (PF_KTHREAD | PF_USER_WORKER))) { | 8103 | if (is_user_task(current)) { |
| 8104 | struct page *p; | 8104 | struct page *p; |
| 8105 | | 8105 | |
| 8106 | pagefault_disable(); | 8106 | pagefault_disable(); |
| @@ -8215,7 +8215,7 @@ perf_callchain(struct perf_event *event, struct pt_regs *regs) · 108 unmodified lines |
| 8215 | { | 8215 | { |
| 8216 | bool kernel = !event->attr.exclude_callchain_kernel; | 8216 | bool kernel = !event->attr.exclude_callchain_kernel; |
| 8217 | bool user = !event->attr.exclude_callchain_user && | 8217 | bool user = !event->attr.exclude_callchain_user && |
| 8218 | !(current->flags & (PF_KTHREAD | PF_USER_WORKER)); | 8218 | is_user_task(current); |
| 8219 | /* Disallow cross-task user callchains. */ | 8219 | /* Disallow cross-task user callchains. */ |
| 8220 | bool crosstask = event->ctx->task && event->ctx->task != current; | 8220 | bool crosstask = event->ctx->task && event->ctx->task != current; |
| 8221 | bool defer_user = IS_ENABLED(CONFIG_UNWIND_USER) && user && | 8221 | bool defer_user = IS_ENABLED(CONFIG_UNWIND_USER) && user && |