Записать данные из ядра в файл - PullRequest
0 голосов
/ 22 октября 2019

Я знаю, что мы должны избегать записи в файл из ядра. Но из любопытства я все еще пытаюсь записать данные, но ядро ​​падает.

int file_write(char *filename, unsigned long long offset, unsigned char *data, unsigned int size)
{
    mm_segment_t oldfs;
    int ret;
    struct file *filp;

    oldfs = get_fs();
    set_fs(KERNEL_DS);

    filp = filp_open(filename, O_CREAT | O_RDWR, 0644);

    ret = vfs_write(filp, data, size, &offset);

    set_fs(oldfs);
    filp_close(filp,NULL);
    return ret;
}

Функция vfs_write перезапускает систему.

...