stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Patch "s390/perf: fix bug when creating per-thread event" has been added to the 4.13-stable tree
@ 2017-10-02 11:42 gregkh
  0 siblings, 0 replies; only message in thread
From: gregkh @ 2017-10-02 11:42 UTC (permalink / raw)
  To: bjhoupu, adobriyan, gregkh, heiko.carstens, schwidefsky
  Cc: stable, stable-commits


This is a note to let you know that I've just added the patch titled

    s390/perf: fix bug when creating per-thread event

to the 4.13-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     s390-perf-fix-bug-when-creating-per-thread-event.patch
and it can be found in the queue-4.13 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.


>From fc3100d64f0ae383ae8d845989103da06d62763b Mon Sep 17 00:00:00 2001
From: Pu Hou <bjhoupu@linux.vnet.ibm.com>
Date: Tue, 5 Sep 2017 05:17:24 +0200
Subject: s390/perf: fix bug when creating per-thread event

From: Pu Hou <bjhoupu@linux.vnet.ibm.com>

commit fc3100d64f0ae383ae8d845989103da06d62763b upstream.

A per-thread event could not be created correctly like below:

    perf record --per-thread -e rB0000 -- sleep 1
    Error:
    The sys_perf_event_open() syscall returned with 19 (No such device) for event (rB0000).
    /bin/dmesg may provide additional information.
    No CONFIG_PERF_EVENTS=y kernel support configured?

This bug was introduced by:

    commit c311c797998c1e70eade463dd60b843da4f1a203
    Author: Alexey Dobriyan <adobriyan@gmail.com>
    Date:   Mon May 8 15:56:15 2017 -0700

    cpumask: make "nr_cpumask_bits" unsigned

If a per-thread event is not attached to any CPU, the cpu field
in struct perf_event is -1. The above commit converts the CPU number
to unsigned int, which result in an illegal CPU number.

Fixes: c311c797998c ("cpumask: make "nr_cpumask_bits" unsigned")
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Pu Hou <bjhoupu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/s390/kernel/perf_cpum_sf.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

--- a/arch/s390/kernel/perf_cpum_sf.c
+++ b/arch/s390/kernel/perf_cpum_sf.c
@@ -823,9 +823,12 @@ static int cpumsf_pmu_event_init(struct
 	}
 
 	/* Check online status of the CPU to which the event is pinned */
-	if ((unsigned int)event->cpu >= nr_cpumask_bits ||
-	    (event->cpu >= 0 && !cpu_online(event->cpu)))
-		return -ENODEV;
+	if (event->cpu >= 0) {
+		if ((unsigned int)event->cpu >= nr_cpumask_bits)
+			return -ENODEV;
+		if (!cpu_online(event->cpu))
+			return -ENODEV;
+	}
 
 	/* Force reset of idle/hv excludes regardless of what the
 	 * user requested.


Patches currently in stable-queue which might be from bjhoupu@linux.vnet.ibm.com are

queue-4.13/s390-perf-fix-bug-when-creating-per-thread-event.patch

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2017-10-02 11:43 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-02 11:42 Patch "s390/perf: fix bug when creating per-thread event" has been added to the 4.13-stable tree gregkh

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).