powerpc/perf: Reject EBB events which specify a sample_type
authorMichael Ellerman <mpe@ellerman.id.au>
Fri, 14 Mar 2014 05:00:30 +0000 (16:00 +1100)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Sun, 23 Mar 2014 22:48:25 +0000 (09:48 +1100)
Although we already block EBB events which request sampling using
sample_period, technically it's possible for an event to set sample_type
but not sample_period.

Nothing terrible will happen if an EBB event does specify sample_type,
but it signals a major confusion on the part of userspace, and so we do
them the favor of rejecting it.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/perf/core-book3s.c

index 53ac1b20e14dbaf401c9159228d1cc2af2e10abd..1e095fd68b6ca78ed3bf6f5edd2edd521e16e7f1 100644 (file)
@@ -503,8 +503,11 @@ static int ebb_event_check(struct perf_event *event)
                if (!leader->attr.pinned || !leader->attr.exclusive)
                        return -EINVAL;
 
-               if (event->attr.inherit || event->attr.sample_period ||
-                   event->attr.enable_on_exec || event->attr.freq)
+               if (event->attr.freq ||
+                   event->attr.inherit ||
+                   event->attr.sample_type ||
+                   event->attr.sample_period ||
+                   event->attr.enable_on_exec)
                        return -EINVAL;
        }