* [PATCH 0/3] AVR32: Fine-tuning for two function implementations
@ 2017-01-18 13:45 SF Markus Elfring
2017-01-18 13:46 ` [PATCH 1/3] AVR32: Return directly after a failed access_ok() in setup_rt_frame() SF Markus Elfring
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: SF Markus Elfring @ 2017-01-18 13:45 UTC (permalink / raw)
To: Haavard Skinnemoen, Hans-Christian Egtvedt; +Cc: LKML, kernel-janitors
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Wed, 18 Jan 2017 14:40:04 +0100
A few update suggestions were taken into account
from static source code analysis.
Markus Elfring (3):
Return directly after a failed access_ok() in setup_rt_frame()
Delete an unnecessary variable initialisation in setup_rt_frame()
Return an error code only as a constant in sys_cacheflush()
arch/avr32/kernel/signal.c | 5 ++---
arch/avr32/mm/cache.c | 21 +++++----------------
2 files changed, 7 insertions(+), 19 deletions(-)
--
2.11.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/3] AVR32: Return directly after a failed access_ok() in setup_rt_frame()
2017-01-18 13:45 [PATCH 0/3] AVR32: Fine-tuning for two function implementations SF Markus Elfring
@ 2017-01-18 13:46 ` SF Markus Elfring
2017-01-18 13:48 ` [PATCH 2/3] AVR32: Delete an unnecessary variable initialisation " SF Markus Elfring
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: SF Markus Elfring @ 2017-01-18 13:46 UTC (permalink / raw)
To: Haavard Skinnemoen, Hans-Christian Egtvedt; +Cc: LKML, kernel-janitors
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Wed, 18 Jan 2017 13:50:38 +0100
Return directly after a call of the function "access_ok" failed
at the beginning.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
arch/avr32/kernel/signal.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/avr32/kernel/signal.c b/arch/avr32/kernel/signal.c
index 8f1c63b9b983..13c31a7b9ae4 100644
--- a/arch/avr32/kernel/signal.c
+++ b/arch/avr32/kernel/signal.c
@@ -141,9 +141,8 @@ setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs)
int err = 0;
frame = get_sigframe(ksig, regs, sizeof(*frame));
- err = -EFAULT;
if (!access_ok(VERIFY_WRITE, frame, sizeof (*frame)))
- goto out;
+ return -EFAULT;
/*
* Set up the return code:
--
2.11.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/3] AVR32: Delete an unnecessary variable initialisation in setup_rt_frame()
2017-01-18 13:45 [PATCH 0/3] AVR32: Fine-tuning for two function implementations SF Markus Elfring
2017-01-18 13:46 ` [PATCH 1/3] AVR32: Return directly after a failed access_ok() in setup_rt_frame() SF Markus Elfring
@ 2017-01-18 13:48 ` SF Markus Elfring
2017-01-18 13:50 ` [PATCH 3/3] AVR32: Return an error code only as a constant in sys_cacheflush() SF Markus Elfring
2017-01-18 15:12 ` [PATCH 0/3] AVR32: Fine-tuning for two function implementations Hans-Christian Noren Egtvedt
3 siblings, 0 replies; 5+ messages in thread
From: SF Markus Elfring @ 2017-01-18 13:48 UTC (permalink / raw)
To: Haavard Skinnemoen, Hans-Christian Egtvedt; +Cc: LKML, kernel-janitors
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Wed, 18 Jan 2017 14:03:10 +0100
The local variable "err" will be set to an appropriate value a bit later.
Thus omit the explicit initialisation at the beginning.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
arch/avr32/kernel/signal.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/avr32/kernel/signal.c b/arch/avr32/kernel/signal.c
index 13c31a7b9ae4..0c46d3618694 100644
--- a/arch/avr32/kernel/signal.c
+++ b/arch/avr32/kernel/signal.c
@@ -138,7 +138,7 @@ static int
setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs)
{
struct rt_sigframe __user *frame;
- int err = 0;
+ int err;
frame = get_sigframe(ksig, regs, sizeof(*frame));
if (!access_ok(VERIFY_WRITE, frame, sizeof (*frame)))
--
2.11.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] AVR32: Return an error code only as a constant in sys_cacheflush()
2017-01-18 13:45 [PATCH 0/3] AVR32: Fine-tuning for two function implementations SF Markus Elfring
2017-01-18 13:46 ` [PATCH 1/3] AVR32: Return directly after a failed access_ok() in setup_rt_frame() SF Markus Elfring
2017-01-18 13:48 ` [PATCH 2/3] AVR32: Delete an unnecessary variable initialisation " SF Markus Elfring
@ 2017-01-18 13:50 ` SF Markus Elfring
2017-01-18 15:12 ` [PATCH 0/3] AVR32: Fine-tuning for two function implementations Hans-Christian Noren Egtvedt
3 siblings, 0 replies; 5+ messages in thread
From: SF Markus Elfring @ 2017-01-18 13:50 UTC (permalink / raw)
To: Haavard Skinnemoen, Hans-Christian Egtvedt; +Cc: LKML, kernel-janitors
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Wed, 18 Jan 2017 14:30:11 +0100
* Return an error code without storing it in an intermediate variable.
* Delete the local variable "ret" which became unnecessary with
this refactoring.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
arch/avr32/mm/cache.c | 21 +++++----------------
1 file changed, 5 insertions(+), 16 deletions(-)
diff --git a/arch/avr32/mm/cache.c b/arch/avr32/mm/cache.c
index 85d635cd7b28..c893e5944390 100644
--- a/arch/avr32/mm/cache.c
+++ b/arch/avr32/mm/cache.c
@@ -126,30 +126,19 @@ void flush_icache_page(struct vm_area_struct *vma, struct page *page)
asmlinkage int sys_cacheflush(int operation, void __user *addr, size_t len)
{
- int ret;
-
- if (len > CACHEFLUSH_MAX_LEN) {
- ret = -EPERM;
- if (!capable(CAP_SYS_ADMIN))
- goto out;
- }
-
- ret = -EFAULT;
+ if (len > CACHEFLUSH_MAX_LEN && !capable(CAP_SYS_ADMIN))
+ return -EPERM;
if (!access_ok(VERIFY_WRITE, addr, len))
- goto out;
+ return -EFAULT;
switch (operation) {
case CACHE_IFLUSH:
flush_icache_range((unsigned long)addr,
(unsigned long)addr + len);
- ret = 0;
- break;
+ return 0;
default:
- ret = -EINVAL;
+ return -EINVAL;
}
-
-out:
- return ret;
}
void copy_to_user_page(struct vm_area_struct *vma, struct page *page,
--
2.11.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 0/3] AVR32: Fine-tuning for two function implementations
2017-01-18 13:45 [PATCH 0/3] AVR32: Fine-tuning for two function implementations SF Markus Elfring
` (2 preceding siblings ...)
2017-01-18 13:50 ` [PATCH 3/3] AVR32: Return an error code only as a constant in sys_cacheflush() SF Markus Elfring
@ 2017-01-18 15:12 ` Hans-Christian Noren Egtvedt
3 siblings, 0 replies; 5+ messages in thread
From: Hans-Christian Noren Egtvedt @ 2017-01-18 15:12 UTC (permalink / raw)
To: SF Markus Elfring; +Cc: Haavard Skinnemoen, LKML, kernel-janitors
Around Wed 18 Jan 2017 14:45:07 +0100 or thereabout, SF Markus Elfring wrote:
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Wed, 18 Jan 2017 14:40:04 +0100
>
> A few update suggestions were taken into account
> from static source code analysis.
>
> Markus Elfring (3):
> Return directly after a failed access_ok() in setup_rt_frame()
> Delete an unnecessary variable initialisation in setup_rt_frame()
> Return an error code only as a constant in sys_cacheflush()
>
> arch/avr32/kernel/signal.c | 5 ++---
> arch/avr32/mm/cache.c | 21 +++++----------------
> 2 files changed, 7 insertions(+), 19 deletions(-)
Ack, I guess it slightly simplifies reading. Will add to linux-avr32 git
tree.
--
mvh
Hans-Christian Noren Egtvedt
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-01-18 16:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-18 13:45 [PATCH 0/3] AVR32: Fine-tuning for two function implementations SF Markus Elfring
2017-01-18 13:46 ` [PATCH 1/3] AVR32: Return directly after a failed access_ok() in setup_rt_frame() SF Markus Elfring
2017-01-18 13:48 ` [PATCH 2/3] AVR32: Delete an unnecessary variable initialisation " SF Markus Elfring
2017-01-18 13:50 ` [PATCH 3/3] AVR32: Return an error code only as a constant in sys_cacheflush() SF Markus Elfring
2017-01-18 15:12 ` [PATCH 0/3] AVR32: Fine-tuning for two function implementations Hans-Christian Noren Egtvedt
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).