Как отредактировать функцию readdir в fs/readdir.c, чтобы отфильтровать определенные файлы при вызове ls?

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

int vfs_readdir(struct file *file, filldir_t filler, void *buf)

{

      struct inode *inode = file->f_path.dentry->d_inode;
      int res = -ENOTDIR;
      if (!file->f_op || !file->f_op->readdir)
              goto out;

      res = security_file_permission(file, MAY_READ);
      if (res)
              goto out;

      res = mutex_lock_killable(&inode->i_mutex);
      if (res)
              goto out;

      res = -ENOENT;
      if (!IS_DEADDIR(inode)) {
              res = file->f_op->readdir(file, buf, filler);
              file_accessed(file);
      }
      mutex_unlock(&inode->i_mutex);
   out:
      return res;
}

0 ответов

Другие вопросы по тегам