Commit adcd7118 authored by Alexey Dobriyan's avatar Alexey Dobriyan Committed by Jason A. Donenfeld
Browse files

perf/x86: Make struct p4_event_bind::cntr signed array



struct p4_event_bind::cntr[][] should be signed because of
the following code:

	int i, j;
        for (i = 0; i < P4_CNTR_LIMIT; i++) {
  --->          j = bind->cntr[thread][i];
                if (j != -1 && !test_bit(j, used_mask))
                        return j;
        }

Making this member unsigned will make "j" 255 and fail "j != -1"
comparison.

Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
parent 23a60a03
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ struct p4_event_bind {
	unsigned int escr_msr[2];		/* ESCR MSR for this event */
	unsigned int escr_emask;		/* valid ESCR EventMask bits */
	unsigned int shared;			/* event is shared across threads */
	char cntr[2][P4_CNTR_LIMIT];		/* counter index (offset), -1 on absence */
	signed char cntr[2][P4_CNTR_LIMIT];	/* counter index (offset), -1 on absence */
};

struct p4_pebs_bind {