Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9a7783d0 authored by Borislav Petkov's avatar Borislav Petkov Committed by Ingo Molnar
Browse files

x86/mce: Rename rcu_dereference_check_mce() to mce_log_get_idx_check()



The "rcu_" prefix misleads for it being a proper RCU interface
which is not. It basically checks whether we're preemptible or
holding the chrdev_read mutex.

Rename it accordingly.

Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Acked-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tony Luck <tony.luck@intel.com>
Link: http://lkml.kernel.org/r/1439396985-12812-12-git-send-email-bp@alien8.de


Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent 9b45ef44
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -52,11 +52,11 @@


static DEFINE_MUTEX(mce_chrdev_read_mutex);
static DEFINE_MUTEX(mce_chrdev_read_mutex);


#define rcu_dereference_check_mce(p) \
#define mce_log_get_idx_check(p) \
({ \
({ \
	rcu_lockdep_assert(rcu_read_lock_sched_held() || \
	rcu_lockdep_assert(rcu_read_lock_sched_held() || \
			   lockdep_is_held(&mce_chrdev_read_mutex), \
			   lockdep_is_held(&mce_chrdev_read_mutex), \
			   "suspicious rcu_dereference_check_mce() usage"); \
			   "suspicious mce_log_get_idx_check() usage"); \
	smp_load_acquire(&(p)); \
	smp_load_acquire(&(p)); \
})
})


@@ -165,7 +165,7 @@ void mce_log(struct mce *mce)
	mce->finished = 0;
	mce->finished = 0;
	wmb();
	wmb();
	for (;;) {
	for (;;) {
		entry = rcu_dereference_check_mce(mcelog.next);
		entry = mce_log_get_idx_check(mcelog.next);
		for (;;) {
		for (;;) {


			/*
			/*
@@ -1812,7 +1812,7 @@ static ssize_t mce_chrdev_read(struct file *filp, char __user *ubuf,
			goto out;
			goto out;
	}
	}


	next = rcu_dereference_check_mce(mcelog.next);
	next = mce_log_get_idx_check(mcelog.next);


	/* Only supports full reads right now */
	/* Only supports full reads right now */
	err = -EINVAL;
	err = -EINVAL;