From: Daniel Axtens <dja@axtens.net>
To: wei.guo.simon@gmail.com, linuxppc-dev@lists.ozlabs.org,
linux-kernel@vger.kernel.org
Cc: Michael Ellerman <mpe@ellerman.id.au>,
Shuah Khan <shuahkh@osg.samsung.com>,
Anton Blanchard <anton@samba.org>, Cyril Bur <cyrilbur@gmail.com>,
Anshuman Khandual <khandual@linux.vnet.ibm.com>,
Simon Guo <wei.guo.simon@gmail.com>,
Ulrich Weigand <ulrich.weigand@de.ibm.com>,
Michael Neuling <mikey@neuling.org>,
Andrew Morton <akpm@linux-foundation.org>,
Kees Cook <keescook@chromium.org>,
Rashmica Gupta <rashmicy@gmail.com>,
Khem Raj <raj.khem@gmail.com>, Jessica Yu <jeyu@redhat.com>,
Jiri Kosina <jkosina@suse.cz>, Miroslav Benes <mbenes@suse.cz>,
Suraj Jitindar Singh <sjitindarsingh@gmail.com>,
Chris Smart <chris@distroguy.com>,
linux-kselftest@vger.kernel.org
Subject: Re: [PATCH v13 06/30] powerpc/ptrace: Adapt gpr32_get, gpr32_set functions for transaction
Date: Thu, 04 Aug 2016 16:36:22 +1000 [thread overview]
Message-ID: <877fbxqbvd.fsf@possimpible.ozlabs.ibm.com> (raw)
In-Reply-To: <1469674679-8580-7-git-send-email-wei.guo.simon@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2187 bytes --]
Hi all,
This is causing cppcheck warnings (having just landed in next):
[arch/powerpc/kernel/ptrace.c:2062]: (error) Uninitialized variable: ckpt_regs
[arch/powerpc/kernel/ptrace.c:2130]: (error) Uninitialized variable: ckpt_regs
This is from...
> -static int gpr32_get(struct task_struct *target,
> +static int gpr32_get_common(struct task_struct *target,
> const struct user_regset *regset,
> unsigned int pos, unsigned int count,
> - void *kbuf, void __user *ubuf)
> + void *kbuf, void __user *ubuf, bool tm_active)
> {
> const unsigned long *regs = &target->thread.regs->gpr[0];
> + const unsigned long *ckpt_regs;
> compat_ulong_t *k = kbuf;
> compat_ulong_t __user *u = ubuf;
> compat_ulong_t reg;
> int i;
>
> - if (target->thread.regs == NULL)
> - return -EIO;
> +#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
> + ckpt_regs = &target->thread.ckpt_regs.gpr[0];
> +#endif
> + if (tm_active) {
> + regs = ckpt_regs;
... this bit here. If the ifdef doesn't trigger, cppcheck can't find an
initialisation for ckpt_regs, so it complains.
Techinically it's a false positive as (I assume!) tm_active cannot ever
be true in the absense of CONFIG_PPC_TRANSACTIONAL_MEM.
Is there a nice simple fix we could deploy to squash this warning, or
will we just live with it?
> -static int gpr32_set(struct task_struct *target,
> +static int gpr32_set_common(struct task_struct *target,
> const struct user_regset *regset,
> unsigned int pos, unsigned int count,
> - const void *kbuf, const void __user *ubuf)
> + const void *kbuf, const void __user *ubuf, bool tm_active)
> {
> unsigned long *regs = &target->thread.regs->gpr[0];
> + unsigned long *ckpt_regs;
> const compat_ulong_t *k = kbuf;
> const compat_ulong_t __user *u = ubuf;
> compat_ulong_t reg;
>
> - if (target->thread.regs == NULL)
> - return -EIO;
> +#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
> + ckpt_regs = &target->thread.ckpt_regs.gpr[0];
> +#endif
>
> - CHECK_FULL_REGS(target->thread.regs);
> + if (tm_active) {
> + regs = ckpt_regs;
FWIW it happens again here.
Regards,
Daniel Axtens
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 859 bytes --]
next prev parent reply other threads:[~2016-08-04 6:36 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-28 2:57 [PATCH v13 00/30] Add new powerpc specific ELF core notes wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 01/30] elf: Add powerpc specific core note sections wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 02/30] powerpc/process: Add the function flush_tmregs_to_thread wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 03/30] powerpc/ptrace: Enable in transaction NT_PRFPREG ptrace requests wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 04/30] powerpc/ptrace: Enable in transaction NT_PPC_VMX " wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 05/30] powerpc/ptrace: Enable in transaction NT_PPC_VSX " wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 06/30] powerpc/ptrace: Adapt gpr32_get, gpr32_set functions for transaction wei.guo.simon
2016-08-04 6:36 ` Daniel Axtens [this message]
2016-08-04 8:28 ` Michael Ellerman
2016-08-05 0:30 ` Daniel Axtens
2016-07-28 2:57 ` [PATCH v13 07/30] powerpc/ptrace: Enable support for NT_PPC_CGPR wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 08/30] powerpc/ptrace: Enable support for NT_PPC_CFPR wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 09/30] powerpc/ptrace: Enable support for NT_PPC_CVMX wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 10/30] powerpc/ptrace: Enable support for NT_PPC_CVSX wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 11/30] powerpc/ptrace: Enable support for TM SPR state wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 12/30] powerpc/ptrace: Enable NT_PPC_TM_CTAR, NT_PPC_TM_CPPR, NT_PPC_TM_CDSCR wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 13/30] powerpc/ptrace: Enable support for NT_PPPC_TAR, NT_PPC_PPR, NT_PPC_DSCR wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 14/30] powerpc/ptrace: Enable support for EBB registers wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 15/30] powerpc/ptrace: Enable support for Performance Monitor registers wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 16/30] selftests/powerpc: Add more SPR numbers, TM & VMX instructions to 'reg.h' wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 17/30] selftests/powerpc: Use the new SPRN_DSCR_PRIV definiton wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 18/30] selftests/powerpc: Add ptrace tests for EBB wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 19/30] selftests/powerpc: Add ptrace tests for GPR/FPR registers wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 20/30] selftests/powerpc: Add ptrace tests for GPR/FPR registers in TM wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 21/30] selftests/powerpc: Add ptrace tests for GPR/FPR registers in suspended TM wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 22/30] selftests/powerpc: Add ptrace tests for TAR, PPR, DSCR registers wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 23/30] selftests/powerpc: Add ptrace tests for TAR, PPR, DSCR in TM wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 24/30] selftests/powerpc: Add ptrace tests for TAR, PPR, DSCR in suspended TM wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 25/30] selftests/powerpc: Add ptrace tests for VSX, VMX registers wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 26/30] selftests/powerpc: Add ptrace tests for VSX, VMX registers in TM wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 27/30] selftests/powerpc: Add ptrace tests for VSX, VMX registers in suspended TM wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 28/30] selftests/powerpc: Add ptrace tests for TM SPR registers wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 29/30] selftests/powerpc: Add .gitignore file for ptrace executables wei.guo.simon
2016-07-28 2:57 ` [PATCH v13 30/30] selftests/powerpc: Fix a build issue wei.guo.simon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=877fbxqbvd.fsf@possimpible.ozlabs.ibm.com \
--to=dja@axtens.net \
--cc=akpm@linux-foundation.org \
--cc=anton@samba.org \
--cc=chris@distroguy.com \
--cc=cyrilbur@gmail.com \
--cc=jeyu@redhat.com \
--cc=jkosina@suse.cz \
--cc=keescook@chromium.org \
--cc=khandual@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mbenes@suse.cz \
--cc=mikey@neuling.org \
--cc=mpe@ellerman.id.au \
--cc=raj.khem@gmail.com \
--cc=rashmicy@gmail.com \
--cc=shuahkh@osg.samsung.com \
--cc=sjitindarsingh@gmail.com \
--cc=ulrich.weigand@de.ibm.com \
--cc=wei.guo.simon@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).