summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarkj <markj@FreeBSD.org>2015-02-20 20:49:00 +0000
committermarkj <markj@FreeBSD.org>2015-02-20 20:49:00 +0000
commit06baf2f090b607bd986c967b61b0db0fadd886ea (patch)
tree91279fdd8ac6bcf7b3e37d605261ffb49ff4872d
parent5985b33c1df621b927d482d91d9f47c368416087 (diff)
downloadFreeBSD-src-06baf2f090b607bd986c967b61b0db0fadd886ea.zip
FreeBSD-src-06baf2f090b607bd986c967b61b0db0fadd886ea.tar.gz
Don't specify a resid parameter if we're just going to ignore it. Instead,
let vn_rdwr() check for short reads. MFC after: 3 days Sponsored by: EMC / Isilon Storage Division
-rw-r--r--sys/kern/kern_ctf.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/sys/kern/kern_ctf.c b/sys/kern/kern_ctf.c
index 15bae04..09eea1e 100644
--- a/sys/kern/kern_ctf.c
+++ b/sys/kern/kern_ctf.c
@@ -68,7 +68,6 @@ link_elf_ctf_get(linker_file_t lf, linker_ctf_t *lc)
int flags;
int i;
int nbytes;
- ssize_t resid;
size_t sz;
struct nameidata nd;
struct thread *td = curthread;
@@ -125,7 +124,7 @@ link_elf_ctf_get(linker_file_t lf, linker_ctf_t *lc)
/* Read the ELF header. */
if ((error = vn_rdwr(UIO_READ, nd.ni_vp, hdr, sizeof(*hdr),
- 0, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid,
+ 0, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, NULL,
td)) != 0)
goto out;
@@ -148,7 +147,7 @@ link_elf_ctf_get(linker_file_t lf, linker_ctf_t *lc)
/* Read all the section headers */
if ((error = vn_rdwr(UIO_READ, nd.ni_vp, (caddr_t)shdr, nbytes,
hdr->e_shoff, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED,
- &resid, td)) != 0)
+ NULL, td)) != 0)
goto out;
/*
@@ -170,8 +169,7 @@ link_elf_ctf_get(linker_file_t lf, linker_ctf_t *lc)
/* Read the section header strings. */
if ((error = vn_rdwr(UIO_READ, nd.ni_vp, shstrtab,
shdr[hdr->e_shstrndx].sh_size, shdr[hdr->e_shstrndx].sh_offset,
- UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid,
- td)) != 0)
+ UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, NULL, td)) != 0)
goto out;
/* Search for the section containing the CTF data. */
@@ -190,7 +188,7 @@ link_elf_ctf_get(linker_file_t lf, linker_ctf_t *lc)
/* Read the CTF header. */
if ((error = vn_rdwr(UIO_READ, nd.ni_vp, ctf_hdr, sizeof(ctf_hdr),
shdr[i].sh_offset, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred,
- NOCRED, &resid, td)) != 0)
+ NOCRED, NULL, td)) != 0)
goto out;
/* Check the CTF magic number. (XXX check for big endian!) */
@@ -249,7 +247,7 @@ link_elf_ctf_get(linker_file_t lf, linker_ctf_t *lc)
*/
if ((error = vn_rdwr(UIO_READ, nd.ni_vp, raw == NULL ? ctftab : raw,
shdr[i].sh_size, shdr[i].sh_offset, UIO_SYSSPACE, IO_NODELOCKED,
- td->td_ucred, NOCRED, &resid, td)) != 0)
+ td->td_ucred, NOCRED, NULL, td)) != 0)
goto out;
/* Check if decompression is required. */
OpenPOWER on IntegriCloud