summaryrefslogtreecommitdiffstats
path: root/sys/ia64
diff options
context:
space:
mode:
authorru <ru@FreeBSD.org>2008-01-28 19:04:07 +0000
committerru <ru@FreeBSD.org>2008-01-28 19:04:07 +0000
commit910410640b71f7191c0274d5d3b0e0c0c9bbbcfd (patch)
tree24ae1ec0d6cc8d44c3bb559ec2e9d089bbcaed5c /sys/ia64
parent2a2d8bde46c97ae60e359d207227f8a1c97e6b53 (diff)
downloadFreeBSD-src-910410640b71f7191c0274d5d3b0e0c0c9bbbcfd.zip
FreeBSD-src-910410640b71f7191c0274d5d3b0e0c0c9bbbcfd.tar.gz
Add a wrapper function that bound checks writes to the dump device.
Diffstat (limited to 'sys/ia64')
-rw-r--r--sys/ia64/ia64/dump_machdep.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/ia64/ia64/dump_machdep.c b/sys/ia64/ia64/dump_machdep.c
index 26ce910..bc84c49 100644
--- a/sys/ia64/ia64/dump_machdep.c
+++ b/sys/ia64/ia64/dump_machdep.c
@@ -95,7 +95,7 @@ buf_write(struct dumperinfo *di, char *ptr, size_t sz)
ptr += len;
sz -= len;
if (fragsz == DEV_BSIZE) {
- error = di->dumper(di->priv, buffer, 0, dumplo,
+ error = dump_write(di, buffer, 0, dumplo,
DEV_BSIZE);
if (error)
return error;
@@ -115,7 +115,7 @@ buf_flush(struct dumperinfo *di)
if (fragsz == 0)
return (0);
- error = di->dumper(di->priv, buffer, 0, dumplo, DEV_BSIZE);
+ error = dump_write(di, buffer, 0, dumplo, DEV_BSIZE);
dumplo += DEV_BSIZE;
fragsz = 0;
return (error);
@@ -146,7 +146,7 @@ cb_dumpdata(struct efi_md *mdp, int seqnr, void *arg)
printf("%c\b", "|/-\\"[twiddle++ & 3]);
counter &= (1<<24) - 1;
}
- error = di->dumper(di->priv, (void*)pa, 0, dumplo, sz);
+ error = dump_write(di, (void*)pa, 0, dumplo, sz);
if (error)
break;
dumplo += sz;
@@ -266,7 +266,7 @@ dumpsys(struct dumperinfo *di)
ehdr.e_phnum);
/* Dump leader */
- error = di->dumper(di->priv, &kdh, 0, dumplo, sizeof(kdh));
+ error = dump_write(di, &kdh, 0, dumplo, sizeof(kdh));
if (error)
goto fail;
dumplo += sizeof(kdh);
@@ -297,12 +297,12 @@ dumpsys(struct dumperinfo *di)
goto fail;
/* Dump trailer */
- error = di->dumper(di->priv, &kdh, 0, dumplo, sizeof(kdh));
+ error = dump_write(di, &kdh, 0, dumplo, sizeof(kdh));
if (error)
goto fail;
/* Signal completion, signoff and exit stage left. */
- di->dumper(di->priv, NULL, 0, 0, 0);
+ dump_write(di, NULL, 0, 0, 0);
printf("\nDump complete\n");
return;
OpenPOWER on IntegriCloud