Skip to content

Commit

Permalink
s390/uaccess: add default cases for __put_user_fn()/__get_user_fn()
Browse files Browse the repository at this point in the history
Add default cases for __put_user_fn()/__get_user_fn(). This doesn't
fix anything since the functions are only called with sane values.

However we get rid of smatch warnings:
./arch/s390/include/asm/uaccess.h:143 __get_user_fn() error: uninitialized symbol 'rc'.

Signed-off-by: Heiko Carstens <[email protected]>
Signed-off-by: Vasily Gorbik <[email protected]>
hcahca authored and Vasily Gorbik committed Oct 9, 2020
1 parent 4366dd7 commit db52739
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions arch/s390/include/asm/uaccess.h
Original file line number Diff line number Diff line change
@@ -60,6 +60,9 @@ raw_copy_to_user(void __user *to, const void *from, unsigned long n);
#define INLINE_COPY_TO_USER
#endif

int __put_user_bad(void) __attribute__((noreturn));
int __get_user_bad(void) __attribute__((noreturn));

#ifdef CONFIG_HAVE_MARCH_Z10_FEATURES

#define __put_get_user_asm(to, from, size, spec) \
@@ -109,6 +112,9 @@ static __always_inline int __put_user_fn(void *x, void __user *ptr, unsigned lon
(unsigned long *)x,
size, spec);
break;
default:
__put_user_bad();
break;
}
return rc;
}
@@ -139,6 +145,9 @@ static __always_inline int __get_user_fn(void *x, const void __user *ptr, unsign
(unsigned long __user *)ptr,
size, spec);
break;
default:
__get_user_bad();
break;
}
return rc;
}
@@ -190,8 +199,6 @@ static inline int __get_user_fn(void *x, const void __user *ptr, unsigned long s
})


int __put_user_bad(void) __attribute__((noreturn));

#define __get_user(x, ptr) \
({ \
int __gu_err = -EFAULT; \
@@ -238,8 +245,6 @@ int __put_user_bad(void) __attribute__((noreturn));
__get_user(x, ptr); \
})

int __get_user_bad(void) __attribute__((noreturn));

unsigned long __must_check
raw_copy_in_user(void __user *to, const void __user *from, unsigned long n);

0 comments on commit db52739

Please sign in to comment.