Our kernel module has been using filename_lookup() API for a while, we noticed it is not exported anymore in RHEL8 with kernel 4.18 (symbol not found in /proc/kallsyms).
What is the alternative API/call we can use in place of filename_lookup().
how about link_path_walk(), it takes path name and returns struct nameidata
static int link_path_walk(const char *name, struct nameidata *nd)
What is the impact of using link_path_walk() in place of filename_lookup()?
Is it an exact replacement for filename_lookup() and can be used safely with out any functionality change?
Another one is kern_path(), but it returns struct path *, but not a struct nameidata, like filename_lookup()
Our code is heavily dependent on the struct nameidata and we cannot find any good way to build struct nameidata from struct path, is there a way to construct nameidata from struct path