Re: [PATCH] powerpc/ptrace: Fix cppcheck issue in gpr32_set_common/gpr32_get_common.
flat view
From: Daniel Axtens <hidden>
Date: 2016-08-24 02:21:38
Hi Simon,
The ckpt_regs usage in gpr32_set_common/gpr32_get_common() will lead to cppcheck error. [arch/powerpc/kernel/ptrace.c:2062]: (error) Uninitialized variable: ckpt_regs [arch/powerpc/kernel/ptrace.c:2130]: (error) Uninitialized variable: ckpt_regs A straightforward fix to clean it.
I'm always happy to see cppcheck warnings fixed :)
quoted hunk ↗ jump to hunk
static int gpr32_get_common(struct task_struct *target, const struct user_regset *regset, unsigned int pos, unsigned int count, +#ifdef CONFIG_PPC_TRANSACTIONAL_MEM void *kbuf, void __user *ubuf, bool tm_active) +#else + void *kbuf, void __user *ubuf) +#endif
I wonder if it might be possible to avoid some of the ifdefs and general churn by making the tm_active argument __maybe_unused rather than ifdefing around it? In particular, it would mean the two hunks in the function definitions and these these two hunks at the call site would be unnecessary:
quoted hunk ↗ jump to hunk
@@ -2218,7 +2225,11 @@ static int gpr32_get(struct task_struct *target, unsigned int pos, unsigned int count, void *kbuf, void __user *ubuf) { +#ifdef CONFIG_PPC_TRANSACTIONAL_MEM return gpr32_get_common(target, regset, pos, count, kbuf, ubuf, 0); +#else + return gpr32_get_common(target, regset, pos, count, kbuf, ubuf); +#endif } static int gpr32_set(struct task_struct *target,@@ -2226,7 +2237,11 @@ static int gpr32_set(struct task_struct *target, unsigned int pos, unsigned int count, const void *kbuf, const void __user *ubuf) { +#ifdef CONFIG_PPC_TRANSACTIONAL_MEM return gpr32_set_common(target, regset, pos, count, kbuf, ubuf, 0); +#else + return gpr32_set_common(target, regset, pos, count, kbuf, ubuf); +#endif }
Apart from that, thanks for fixing this up! Regards, Daniel
/* -- 1.8.3.1
Attachments
- signature.asc [application/pgp-signature] 859 bytes