geom_ctl.c (109623) | geom_ctl.c (111119) |
---|---|
1/*- 2 * Copyright (c) 2002 Poul-Henning Kamp 3 * Copyright (c) 2002 Networks Associates Technology, Inc. 4 * All rights reserved. 5 * 6 * This software was developed for the FreeBSD Project by Poul-Henning Kamp 7 * and NAI Labs, the Security Research Division of Network Associates, Inc. 8 * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the --- 18 unchanged lines hidden (view full) --- 27 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33 * SUCH DAMAGE. 34 * | 1/*- 2 * Copyright (c) 2002 Poul-Henning Kamp 3 * Copyright (c) 2002 Networks Associates Technology, Inc. 4 * All rights reserved. 5 * 6 * This software was developed for the FreeBSD Project by Poul-Henning Kamp 7 * and NAI Labs, the Security Research Division of Network Associates, Inc. 8 * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the --- 18 unchanged lines hidden (view full) --- 27 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33 * SUCH DAMAGE. 34 * |
35 * $FreeBSD: head/sys/geom/geom_ctl.c 109623 2003-01-21 08:56:16Z alfred $ | 35 * $FreeBSD: head/sys/geom/geom_ctl.c 111119 2003-02-19 05:47:46Z imp $ |
36 */ 37 38#include "opt_geom.h" 39 40#include <sys/param.h> 41#include <sys/systm.h> 42#include <sys/kernel.h> 43#include <sys/sysctl.h> --- 125 unchanged lines hidden (view full) --- 169 ga.geom = g_idgeom(&gcp->geom); 170 ga.provider = g_idprovider(&gcp->provider); 171 ga.len = gcp->len; 172 if (gcp->len > 64 * 1024) 173 return (EINVAL); 174 else if (gcp->len == 0) { 175 ga.ptr = NULL; 176 } else { | 36 */ 37 38#include "opt_geom.h" 39 40#include <sys/param.h> 41#include <sys/systm.h> 42#include <sys/kernel.h> 43#include <sys/sysctl.h> --- 125 unchanged lines hidden (view full) --- 169 ga.geom = g_idgeom(&gcp->geom); 170 ga.provider = g_idprovider(&gcp->provider); 171 ga.len = gcp->len; 172 if (gcp->len > 64 * 1024) 173 return (EINVAL); 174 else if (gcp->len == 0) { 175 ga.ptr = NULL; 176 } else { |
177 ga.ptr = g_malloc(gcp->len, 0); | 177 ga.ptr = g_malloc(gcp->len, M_WAITOK); |
178 error = copyin(gcp->ptr, ga.ptr, gcp->len); 179 if (error) { 180 g_free(ga.ptr); 181 return (error); 182 } 183 } 184 ga.flag = gcp->flag; 185 error = ga.class->config(&ga); --- 31 unchanged lines hidden --- | 178 error = copyin(gcp->ptr, ga.ptr, gcp->len); 179 if (error) { 180 g_free(ga.ptr); 181 return (error); 182 } 183 } 184 ga.flag = gcp->flag; 185 error = ga.class->config(&ga); --- 31 unchanged lines hidden --- |