| From 75ea44e356b5de8c817f821c9dd68ae329e82add Mon Sep 17 00:00:00 2001 |
| From: Felix Fietkau <nbd@nbd.name> |
| Date: Tue, 25 May 2021 18:07:58 +0200 |
| Subject: perf jevents: Fix getting maximum number of fds |
| |
| From: Felix Fietkau <nbd@nbd.name> |
| |
| commit 75ea44e356b5de8c817f821c9dd68ae329e82add upstream. |
| |
| On some hosts, rlim.rlim_max can be returned as RLIM_INFINITY. |
| By casting it to int, it is interpreted as -1, which will cause get_maxfds |
| to return 0, causing "Invalid argument" errors in nftw() calls. |
| Fix this by casting the second argument of min() to rlim_t instead. |
| |
| Fixes: 80eeb67fe577 ("perf jevents: Program to convert JSON file") |
| Signed-off-by: Felix Fietkau <nbd@nbd.name> |
| Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> |
| Cc: Andi Kleen <ak@linux.intel.com> |
| Cc: Jiri Olsa <jolsa@redhat.com> |
| Cc: Mark Rutland <mark.rutland@arm.com> |
| Cc: Namhyung Kim <namhyung@kernel.org> |
| Cc: Peter Zijlstra <peterz@infradead.org> |
| Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> |
| Link: http://lore.kernel.org/lkml/20210525160758.97829-1-nbd@nbd.name |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| tools/perf/pmu-events/jevents.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/tools/perf/pmu-events/jevents.c |
| +++ b/tools/perf/pmu-events/jevents.c |
| @@ -958,7 +958,7 @@ static int get_maxfds(void) |
| struct rlimit rlim; |
| |
| if (getrlimit(RLIMIT_NOFILE, &rlim) == 0) |
| - return min((int)rlim.rlim_max / 2, 512); |
| + return min(rlim.rlim_max / 2, (rlim_t)512); |
| |
| return 512; |
| } |