Messages in this thread Patch in this message | | | Date | Thu, 20 Oct 2022 12:49:45 +0300 | From | Alexey Dobriyan <> | Subject | [PATCH -mm] -funsigned-char, 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: Alexey Dobriyan <adobriyan@gmail.com> ---
arch/x86/events/intel/p4.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
--- a/arch/x86/events/intel/p4.c +++ b/arch/x86/events/intel/p4.c @@ -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 {
| |