Module Name: src Committed By: riastradh Date: Tue May 31 00:17:10 UTC 2022
Modified Files: src/sys/external/bsd/drm2/dist/drm/nouveau: nouveau_gem.c Log Message: nouveau(4): Fix error branches in nouveau_gem_new. PR kern/56804 To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 \ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.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/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c:1.13 src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c:1.14 --- src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c:1.13 Sun Dec 19 10:50:13 2021 +++ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c Tue May 31 00:17:10 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: nouveau_gem.c,v 1.13 2021/12/19 10:50:13 riastradh Exp $ */ +/* $NetBSD: nouveau_gem.c,v 1.14 2022/05/31 00:17:10 riastradh Exp $ */ /* * Copyright (C) 2008 Ben Skeggs. @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: nouveau_gem.c,v 1.13 2021/12/19 10:50:13 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: nouveau_gem.c,v 1.14 2022/05/31 00:17:10 riastradh Exp $"); #include <asm/uaccess.h> @@ -202,13 +202,13 @@ nouveau_gem_new(struct nouveau_cli *cli, * to the caller, instead of a normal nouveau_bo ttm reference. */ ret = drm_gem_object_init(drm->dev, &nvbo->bo.base, size); if (ret) { - nouveau_bo_ref(NULL, &nvbo); + kfree(nvbo); return ret; } ret = nouveau_bo_init(nvbo, size, align, flags, NULL, NULL); if (ret) { - nouveau_bo_ref(NULL, &nvbo); + /* XXX note: if this fails it kfrees nvbo */ return ret; }