lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 29 Apr 2019 11:34:03 -0700 From: tip-bot for Thomas Gleixner <tipbot@...or.com> To: linux-tip-commits@...r.kernel.org Cc: tglx@...utronix.de, tom.zanussi@...ux.intel.com, robin.murphy@....com, mingo@...nel.org, snitzer@...hat.com, clm@...com, luto@...nel.org, jthumshirn@...e.de, hpa@...or.com, josef@...icpanda.com, aryabinin@...tuozzo.com, hch@....de, linux-kernel@...r.kernel.org, rodrigo.vivi@...el.com, rientjes@...gle.com, catalin.marinas@....com, rostedt@...dmis.org, dsterba@...e.com, penberg@...nel.org, mbenes@...e.cz, akpm@...ux-foundation.org, joonas.lahtinen@...ux.intel.com, daniel@...ll.ch, jpoimboe@...hat.com, agk@...hat.com, rppt@...ux.vnet.ibm.com, cl@...ux.com, airlied@...ux.ie, akinobu.mita@...il.com, adobriyan@...il.com, jani.nikula@...ux.intel.com, glider@...gle.com, maarten.lankhorst@...ux.intel.com, m.szyprowski@...sung.com, dvyukov@...gle.com Subject: [tip:core/stacktrace] proc: Simplify task stack retrieval Commit-ID: e988e5ec18d6081efbef645fc2690298ee23a8db Gitweb: https://git.kernel.org/tip/e988e5ec18d6081efbef645fc2690298ee23a8db Author: Thomas Gleixner <tglx@...utronix.de> AuthorDate: Thu, 25 Apr 2019 11:44:58 +0200 Committer: Thomas Gleixner <tglx@...utronix.de> CommitDate: Mon, 29 Apr 2019 12:37:48 +0200 proc: Simplify task stack retrieval Replace the indirection through struct stack_trace with an invocation of the storage array based interface. Signed-off-by: Thomas Gleixner <tglx@...utronix.de> Reviewed-by: Alexey Dobriyan <adobriyan@...il.com> Reviewed-by: Josh Poimboeuf <jpoimboe@...hat.com> Cc: Andy Lutomirski <luto@...nel.org> Cc: Andrew Morton <akpm@...ux-foundation.org> Cc: Steven Rostedt <rostedt@...dmis.org> Cc: Alexander Potapenko <glider@...gle.com> Cc: Christoph Lameter <cl@...ux.com> Cc: Pekka Enberg <penberg@...nel.org> Cc: linux-mm@...ck.org Cc: David Rientjes <rientjes@...gle.com> Cc: Catalin Marinas <catalin.marinas@....com> Cc: Dmitry Vyukov <dvyukov@...gle.com> Cc: Andrey Ryabinin <aryabinin@...tuozzo.com> Cc: kasan-dev@...glegroups.com Cc: Mike Rapoport <rppt@...ux.vnet.ibm.com> Cc: Akinobu Mita <akinobu.mita@...il.com> Cc: Christoph Hellwig <hch@....de> Cc: iommu@...ts.linux-foundation.org Cc: Robin Murphy <robin.murphy@....com> Cc: Marek Szyprowski <m.szyprowski@...sung.com> Cc: Johannes Thumshirn <jthumshirn@...e.de> Cc: David Sterba <dsterba@...e.com> Cc: Chris Mason <clm@...com> Cc: Josef Bacik <josef@...icpanda.com> Cc: linux-btrfs@...r.kernel.org Cc: dm-devel@...hat.com Cc: Mike Snitzer <snitzer@...hat.com> Cc: Alasdair Kergon <agk@...hat.com> Cc: Daniel Vetter <daniel@...ll.ch> Cc: intel-gfx@...ts.freedesktop.org Cc: Joonas Lahtinen <joonas.lahtinen@...ux.intel.com> Cc: Maarten Lankhorst <maarten.lankhorst@...ux.intel.com> Cc: dri-devel@...ts.freedesktop.org Cc: David Airlie <airlied@...ux.ie> Cc: Jani Nikula <jani.nikula@...ux.intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@...el.com> Cc: Tom Zanussi <tom.zanussi@...ux.intel.com> Cc: Miroslav Benes <mbenes@...e.cz> Cc: linux-arch@...r.kernel.org Link: https://lkml.kernel.org/r/20190425094801.589304463@linutronix.de --- fs/proc/base.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/fs/proc/base.c b/fs/proc/base.c index 5569f215fc54..f179568b4c76 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c @@ -407,7 +407,6 @@ static void unlock_trace(struct task_struct *task) static int proc_pid_stack(struct seq_file *m, struct pid_namespace *ns, struct pid *pid, struct task_struct *task) { - struct stack_trace trace; unsigned long *entries; int err; @@ -430,20 +429,17 @@ static int proc_pid_stack(struct seq_file *m, struct pid_namespace *ns, if (!entries) return -ENOMEM; - trace.nr_entries = 0; - trace.max_entries = MAX_STACK_TRACE_DEPTH; - trace.entries = entries; - trace.skip = 0; - err = lock_trace(task); if (!err) { - unsigned int i; + unsigned int i, nr_entries; - save_stack_trace_tsk(task, &trace); + nr_entries = stack_trace_save_tsk(task, entries, + MAX_STACK_TRACE_DEPTH, 0); - for (i = 0; i < trace.nr_entries; i++) { + for (i = 0; i < nr_entries; i++) { seq_printf(m, "[<0>] %pB\n", (void *)entries[i]); } + unlock_trace(task); } kfree(entries);
Powered by blists - more mailing lists