[PATCH 3/3] AVR32: Return an error code only as a constant in sys_cacheflush()

From: SF Markus Elfring
Date: Wed Jan 18 2017 - 08:50:26 EST


From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxxxxxxxxx>
---
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