āĻā§āĻ°āĻ¸āĻŋāĻāĻŋāĻāĻ°āĻŋāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻ°āĻž
āĻĒā§āĻ¯āĻžāĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻ°āĻž āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻā§āĻ¨ āĻ¯ā§ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻā§āĻĄ āĻāĻŦāĻ āĻ¸āĻāĻā§āĻāĻžāĻ° āĻŽāĻŋāĻļā§āĻ°āĻŖ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°ā§ (āĻā§āĻĄā§āĻ° āĻĒāĻ°ā§ āĻāĻžāĻ āĻžāĻŽā§āĻāĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻāĻāĻāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§):
int index = n;
āĻ¯āĻĻāĻŋ (n < HBP_NUM) { index = array_index_nospec(index, HBP_NUM); struct perf_event *bp = āĻĨā§āĻ°ā§āĻĄ->ptrace_bps[āĻ¸ā§āĻāĻ];
āĻ˛āĻŋāĻ¨āĻžāĻ¸ āĻŽā§āĻ¨ā§ āĻ¨āĻŋāĻ˛ā§āĻ¨
āĻ¯āĻĻāĻŋ (n < HBP_NUM) { int index = array_index_nospec(n, HBP_NUM); struct perf_event *bp = āĻĨā§āĻ°ā§āĻĄ->ptrace_bps[āĻ¸ā§āĻāĻ];
āĻā§āĻ˛āĻžāĻ āĻŽāĻžāĻ¸ā§, āĻĢāĻŋāĻā§āĻ¸āĻāĻŋ āĻ¸ā§āĻĨāĻŋāĻ° āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻļāĻžāĻāĻž 4.4, 4.9, 4.14, 4.19 āĻāĻŦāĻ 5.2-āĻ āĻĒā§āĻ°ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛ āĻļāĻžāĻāĻžāĻā§āĻ˛āĻŋāĻ° āĻ°āĻā§āĻˇāĻŖāĻžāĻŦā§āĻā§āĻˇāĻŖāĻāĻžāĻ°ā§āĻ°āĻžāĻ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻžāĻ° āĻ¸āĻŽā§āĻŽā§āĻā§āĻ¨ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻāĻŦāĻ āĻ˛āĻŋāĻ¨āĻžāĻ¸ā§āĻ° āĻŽāĻžāĻ¸ā§āĻāĻžāĻ° āĻļāĻžāĻāĻžāĻ¯āĻŧ āĻāĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻ āĻŋāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻ¤āĻžāĻ°āĻž āĻ¨āĻŋāĻā§āĻ°āĻžāĻ āĻāĻāĻāĻŋ āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°ā§āĻā§āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻ¯ā§ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻāĻāĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŋāĻ¨ā§āĻ¤āĻž āĻ¨āĻž āĻāĻ°ā§, āĻ¤āĻžāĻ°āĻž āĻļā§āĻ§ā§
int index = n;
āĻ¯āĻĻāĻŋ (n < HBP_NUM ){ struct perf_event *bp = āĻĨā§āĻ°ā§āĻĄ->ptrace_bps[āĻ¸ā§āĻāĻ];
index = array_index_nospec(index, HBP_NUM);
āĻāĻ¤ā§āĻ¸: opennet.ru