asmlinkage ssize_t sys_read(unsigned int fd, char __user * buf, size_t count)
{
        struct file *file; // file 포인터를 만들고.
        ssize_t ret = -EBADF;
        int fput_needed;

        file = fget_light(fd, &fput_needed); // fget_light(3, &fput_needed)
        if (file) {
                loff_t pos = file_pos_read(file); // pos = file->f.pos
                ret = vfs_read(file, buf, count, &pos); // vfs_read( file, buf, cnt, &pos)
                file_pos_write(file, pos);
                fput_light(file, fput_needed);
        }

        return ret;
}