On Tue, 18 Jun 2019 20:17:04 +0530 "Naveen N. Rao" <naveen.n....@linux.vnet.ibm.com> wrote:
> @@ -1551,7 +1551,7 @@ unsigned long ftrace_location_range(unsigned long > start, unsigned long end) > key.flags = end; /* overload flags, as it is unsigned long */ > > for (pg = ftrace_pages_start; pg; pg = pg->next) { > - if (end < pg->records[0].ip || > + if (end <= pg->records[0].ip || This breaks the algorithm. "end" is inclusive. That is, if you look for a single byte, where "start" and "end" are the same, and it happens to be the first ip on the pg page, it will be skipped, and not found. -- Steve > start >= (pg->records[pg->index - 1].ip + MCOUNT_INSN_SIZE)) > continue; > rec = bsearch(&key, pg->records, pg->index,