Я зарегистрировал функцию обратного вызова освобождения в file_operation в моем драйвере устройства, например:
struct file_operations driver_fops =
{
.open = drv_open,
.release = drv_release,
.unlocked_ioctl = drv_unlocked_ioctl,
.mmap = drv_mmap,
};
Функция освобождения будет вызвана, когда процесс (откройте файл устройства) будет убит.Но странно то, что когда я пытаюсь получить pid текущего процесса в drv_release, иногда pid не принадлежит процессу, открывающему файл.Это означает, что функция release () вызывается в другом контексте процесса.Это нормально?