diff options
author | mjacob <mjacob@FreeBSD.org> | 2007-06-11 17:57:24 +0000 |
---|---|---|
committer | mjacob <mjacob@FreeBSD.org> | 2007-06-11 17:57:24 +0000 |
commit | 65ecac1b1eb1f839f235afdfe7654dc45cee0ae9 (patch) | |
tree | d75551979d4da4e2cf5483d16ace1ef9958137c4 /sys | |
parent | 81c02b19a4d06cefe0267b411492630c6d1a15ca (diff) | |
download | FreeBSD-src-65ecac1b1eb1f839f235afdfe7654dc45cee0ae9.zip FreeBSD-src-65ecac1b1eb1f839f235afdfe7654dc45cee0ae9.tar.gz |
Check against maxsegsz being zero in bus_dma_tag_create and return EINVAL
if it is.
Reviewed by: scott long
Diffstat (limited to 'sys')
-rw-r--r-- | sys/amd64/amd64/busdma_machdep.c | 4 | ||||
-rw-r--r-- | sys/i386/i386/busdma_machdep.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/sys/amd64/amd64/busdma_machdep.c b/sys/amd64/amd64/busdma_machdep.c index 59495bf..462abe9 100644 --- a/sys/amd64/amd64/busdma_machdep.c +++ b/sys/amd64/amd64/busdma_machdep.c @@ -220,6 +220,10 @@ bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment, if (boundary != 0 && boundary < maxsegsz) maxsegsz = boundary; + if (maxsegsz == 0) { + return (EINVAL); + } + /* Return a NULL tag on failure */ *dmat = NULL; diff --git a/sys/i386/i386/busdma_machdep.c b/sys/i386/i386/busdma_machdep.c index 5d7c9cd..90f8848 100644 --- a/sys/i386/i386/busdma_machdep.c +++ b/sys/i386/i386/busdma_machdep.c @@ -225,6 +225,10 @@ bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment, if (boundary != 0 && boundary < maxsegsz) maxsegsz = boundary; + if (maxsegsz == 0) { + return (EINVAL); + } + /* Return a NULL tag on failure */ *dmat = NULL; |