Проверка правильности адреса в ядре Linux (кроме проверки NULL) - PullRequest
0 голосов
/ 06 ноября 2018

Например, я выделил память для 4096 байт, используя vmalloc, у меня есть счетчик, который отслеживает выделенную память, записываемую в контексте прерывания, что-то вроде:

if (data_to_read >= 4) {
  readdata();
  data_to_read -= 4;
} else if (data_to_read < 4) {
  memcpy();
}

Каким-то образом счетчик испортился и обновил значение, чтобы прочитать оставшиеся байты, чтобы оно стало равным 1 (data_to_read), и ядро ​​пытается записать память и вылетает. В этом случае есть ли способ проверить перед memcpy, является ли переданный адрес действительным или нет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...