В Linux, как я могу получить имя файла из структуры «struct file», проходя через ядро с помощью kgdb?

Я пытаюсь просмотреть имя файла с помощью kgdb, поэтому я не могу вызвать функции и макросы, чтобы получить его программно. Мне нужно найти его, вручную проверяя структуры данных.

Например, если бы у меня была точка останова в gdb, как я мог бы посмотреть с помощью gdb и найти имя файла?

Я пытался осмотреться вfilp.f_path, filp.f_inodeи т.д. Я нигде не вижу имя файла.

ssize_t do_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos)
{
     struct iovec iov = { .iov_base = (void __user *)buf, .iov_len = len };
     struct kiocb kiocb;
     ssize_t ret;

     init_sync_kiocb(&kiocb, filp);
     kiocb.ki_pos = *ppos;
     kiocb.ki_left = len;
     kiocb.ki_nbytes = len;

     ret = filp->f_op->aio_write(&kiocb, &iov, 1, kiocb.ki_pos);
     if (-EIOCBQUEUED == ret)
             ret = wait_on_sync_kiocb(&kiocb);
     *ppos = kiocb.ki_pos;
     return ret;
}

Ответы на вопрос(3)

Ваш ответ на вопрос