MCPcopy Create free account
hub / github.com/F-Stack/f-stack / kern_readlinkat

Function kern_readlinkat

freebsd/kern/vfs_syscalls.c:2586–2609  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2584}
2585
2586int
2587kern_readlinkat(struct thread *td, int fd, const char *path,
2588 enum uio_seg pathseg, char *buf, enum uio_seg bufseg, size_t count)
2589{
2590 struct vnode *vp;
2591 struct nameidata nd;
2592 int error;
2593
2594 if (count > IOSIZE_MAX)
2595 return (EINVAL);
2596
2597 NDINIT_AT(&nd, LOOKUP, NOFOLLOW | LOCKSHARED | LOCKLEAF | AUDITVNODE1,
2598 pathseg, path, fd, td);
2599
2600 if ((error = namei(&nd)) != 0)
2601 return (error);
2602 NDFREE_NOTHING(&nd);
2603 vp = nd.ni_vp;
2604
2605 error = kern_readlink_vp(vp, buf, bufseg, count, td);
2606 vput(vp);
2607
2608 return (error);
2609}
2610
2611/*
2612 * Helper function to readlink from a vnode

Callers 2

sys_readlinkFunction · 0.85
sys_readlinkatFunction · 0.85

Calls 4

nameiFunction · 0.85
NDFREE_NOTHINGFunction · 0.85
kern_readlink_vpFunction · 0.85
vputFunction · 0.85

Tested by

no test coverage detected