Прежде всего, вы, скорее всего, не хотите использовать стат, независимо от того, какая реализация. В худшем случае предполагается, что у вас есть объект 'struct file' или прямой указатель на dentry на файл, который вас интересует. Тогда в маловероятном случае вам нужно получить информацию, предоставленную stat, вы можете использовать соответствующую подпрограмму который берет файл или зубной камень. Затем вы можете продолжить работу с файлом, на который у вас уже есть указатель. Выполнение статистики, а затем решение, что делать, обычно является проблемой безопасности или надежности: к тому времени, когда вы, например, решите открыть целевой путь, это может быть совершенно другой файл - кто-то мог удалить тот, который присутствовал во время вашего вызова статистики, и установить новый. Это часть стандартного класса ошибок: Время проверки Время использования.
Во-вторых, в ядре нет переменной 'errno', и тот факт, что вы пытаетесь использовать ее, настоятельно говорит о том, что вы очень младший программист. По этой причине я подозреваю, что вам пока следует воздерживаться от игры с ядром.
Вы также, вероятно, хотите прочитать эту статью: http://www.watson.org/~robert/2007woot/2007usenixwoot-exploitingconcurrency.pdf
Итак, что именно вы пытаетесь реализовать?