Module Name: src Committed By: christos Date: Sat Mar 3 19:26:12 UTC 2018
Modified Files: src/sys/dev: md.c Log Message: conditionally elide conditional for rump. To generate a diff of this commit: cvs rdiff -u -r1.79 -r1.80 src/sys/dev/md.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/md.c diff -u src/sys/dev/md.c:1.79 src/sys/dev/md.c:1.80 --- src/sys/dev/md.c:1.79 Fri Oct 27 23:47:24 2017 +++ src/sys/dev/md.c Sat Mar 3 14:26:12 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.79 2017/10/28 03:47:24 riastradh Exp $ */ +/* $NetBSD: md.c,v 1.80 2018/03/03 19:26:12 christos Exp $ */ /* * Copyright (c) 1995 Gordon W. Ross, Leo Weppelman. @@ -40,7 +40,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: md.c,v 1.79 2017/10/28 03:47:24 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: md.c,v 1.80 2018/03/03 19:26:12 christos Exp $"); #ifdef _KERNEL_OPT #include "opt_md.h" @@ -633,8 +633,16 @@ md_ioctl_server(struct md_softc *sc, str /* Sanity check addr, size. */ end = (vaddr_t) ((char *)umd->md_addr + umd->md_size); - if ((end >= VM_MAXUSER_ADDRESS) || - (end < ((vaddr_t) umd->md_addr)) ) + if ( +#ifndef _RUMPKERNEL + /* + * On some architectures (e.g. powerpc) rump kernel provides + * "safe" low defaults which make this test fail since malloc + * does return higher addresses than the "safe" default. + */ + (end >= VM_MAXUSER_ADDRESS) || +#endif + (end < ((vaddr_t) umd->md_addr))) return EINVAL; /* This unit is now configured. */