futex: Consistently use fshared as boolean
Since fshared is only conveying true/false values, declare it as bool. In get_futex_key() the usage of fshared can be restricted to the first part of the function. If fshared is false the function is terminated early and the subsequent code can use a constant 'true' instead of the variable. Signed-off-by: André Almeida <andrealmeid@collabora.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lkml.kernel.org/r/20200702202843.520764-5-andrealmeid@collabora.com
This commit is contained in:
parent
d7c5ed73b1
commit
9261308598
|
@ -476,7 +476,7 @@ static u64 get_inode_sequence_number(struct inode *inode)
|
||||||
/**
|
/**
|
||||||
* get_futex_key() - Get parameters which are the keys for a futex
|
* get_futex_key() - Get parameters which are the keys for a futex
|
||||||
* @uaddr: virtual address of the futex
|
* @uaddr: virtual address of the futex
|
||||||
* @fshared: 0 for a PROCESS_PRIVATE futex, 1 for PROCESS_SHARED
|
* @fshared: false for a PROCESS_PRIVATE futex, true for PROCESS_SHARED
|
||||||
* @key: address where result is stored.
|
* @key: address where result is stored.
|
||||||
* @rw: mapping needs to be read/write (values: FUTEX_READ,
|
* @rw: mapping needs to be read/write (values: FUTEX_READ,
|
||||||
* FUTEX_WRITE)
|
* FUTEX_WRITE)
|
||||||
|
@ -500,8 +500,8 @@ static u64 get_inode_sequence_number(struct inode *inode)
|
||||||
*
|
*
|
||||||
* lock_page() might sleep, the caller should not hold a spinlock.
|
* lock_page() might sleep, the caller should not hold a spinlock.
|
||||||
*/
|
*/
|
||||||
static int
|
static int get_futex_key(u32 __user *uaddr, bool fshared, union futex_key *key,
|
||||||
get_futex_key(u32 __user *uaddr, int fshared, union futex_key *key, enum futex_access rw)
|
enum futex_access rw)
|
||||||
{
|
{
|
||||||
unsigned long address = (unsigned long)uaddr;
|
unsigned long address = (unsigned long)uaddr;
|
||||||
struct mm_struct *mm = current->mm;
|
struct mm_struct *mm = current->mm;
|
||||||
|
@ -538,7 +538,7 @@ get_futex_key(u32 __user *uaddr, int fshared, union futex_key *key, enum futex_a
|
||||||
|
|
||||||
again:
|
again:
|
||||||
/* Ignore any VERIFY_READ mapping (futex common case) */
|
/* Ignore any VERIFY_READ mapping (futex common case) */
|
||||||
if (unlikely(should_fail_futex(fshared)))
|
if (unlikely(should_fail_futex(true)))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
|
||||||
err = get_user_pages_fast(address, 1, FOLL_WRITE, &page);
|
err = get_user_pages_fast(address, 1, FOLL_WRITE, &page);
|
||||||
|
@ -626,7 +626,7 @@ again:
|
||||||
* A RO anonymous page will never change and thus doesn't make
|
* A RO anonymous page will never change and thus doesn't make
|
||||||
* sense for futex operations.
|
* sense for futex operations.
|
||||||
*/
|
*/
|
||||||
if (unlikely(should_fail_futex(fshared)) || ro) {
|
if (unlikely(should_fail_futex(true)) || ro) {
|
||||||
err = -EFAULT;
|
err = -EFAULT;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue