linprocfs: find cwd and root handling
The code would incorrectly use curthread instead of the target proc to
resolve vnodes.
Fixes: 8d03b99b9d
("fd: move vnodes out of filedesc into a dedicated structure")
PR: 258729
Noted by: Damjan Jovanovic <damjan.jov@gmail.com>
This commit is contained in:
parent
85c855d31b
commit
69ab528386
@ -1169,7 +1169,7 @@ linprocfs_doproccwd(PFS_FILL_ARGS)
|
||||
char *fullpath = "unknown";
|
||||
char *freepath = NULL;
|
||||
|
||||
pwd = pwd_hold(td);
|
||||
pwd = pwd_hold_proc(p);
|
||||
vn_fullpath(pwd->pwd_cdir, &fullpath, &freepath);
|
||||
sbuf_printf(sb, "%s", fullpath);
|
||||
if (freepath)
|
||||
@ -1189,7 +1189,7 @@ linprocfs_doprocroot(PFS_FILL_ARGS)
|
||||
char *fullpath = "unknown";
|
||||
char *freepath = NULL;
|
||||
|
||||
pwd = pwd_hold(td);
|
||||
pwd = pwd_hold_proc(p);
|
||||
vp = jailed(p->p_ucred) ? pwd->pwd_jdir : pwd->pwd_rdir;
|
||||
vn_fullpath(vp, &fullpath, &freepath);
|
||||
sbuf_printf(sb, "%s", fullpath);
|
||||
|
Loading…
Reference in New Issue
Block a user