Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754989AbbG3Khj (ORCPT ); Thu, 30 Jul 2015 06:37:39 -0400 Received: from outbound-smtp05.blacknight.com ([81.17.249.38]:52488 "EHLO outbound-smtp05.blacknight.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750884AbbG3Khi (ORCPT ); Thu, 30 Jul 2015 06:37:38 -0400 X-Greylist: delayed 566 seconds by postgrey-1.27 at vger.kernel.org; Thu, 30 Jul 2015 06:37:38 EDT From: "Bryan O'Donoghue" To: airlied@linux.ie, bskeggs@redhat.com, maarten.lankhorst@canonical.com, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: "Bryan O'Donoghue" Subject: [PATCH] drm/nouveau/gem: tolerate a buffer specified multiple times Date: Thu, 30 Jul 2015 11:28:05 +0100 Message-Id: <1438252085-4773-1-git-send-email-pure.logic@nexus-software.ie> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2331 Lines: 60 Ubuntu is shipping Chrome Version 44.0.2403.125 (64-bit). With this version of the browser and current tip-of-tree 86ea07ca846a I get the following error message followed by a lock-up of X. nouveau E[chrome[2737]] multiple instances of buffer 33 on validation list nouveau E[chrome[2737]] validate_init nouveau E[chrome[2737]] validate: -22 nouveau E[chrome[2737]] multiple instances of buffer 18 on validation list nouveau E[chrome[2737]] validate_init nouveau E[chrome[2737]] validate: -22 nouveau E[ PFIFO][0000:01:00.0] PFIFO: read fault at 0x0003e21000 [PAGE_NOT_PRESENT] from (unknown enum 0x00000000)/GPC0/(unknown enum 0x0000000f) on channel 0x007f80c000 [unknown] This patch suggests a fix for this with the kernel simply tolerating an application such as chrome requesting the same buffer more than once. With the version of chrome given above, you can elicit this behaviour by clicking on the bookmarks drop down. This will open another window on-top of the current window. Minus the fix included here, this will lead to hard lockup of all windows on the desktop. Chrome Version 44.0.2403.125 (64-bit) Linux 4.2.0-rc4+ 86ea07ca846a People are suggesting running chrome with -disable-gpu however it is possible to run Chrome in it's default mode, so long as we tolerate the above behaviour. http://tinyurl.com/orvbzf3 Signed-off-by: Bryan O'Donoghue --- drivers/gpu/drm/nouveau/nouveau_gem.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/nouveau/nouveau_gem.c index af1ee51..a9694faad 100644 --- a/drivers/gpu/drm/nouveau/nouveau_gem.c +++ b/drivers/gpu/drm/nouveau/nouveau_gem.c @@ -401,9 +401,7 @@ retry: if (nvbo->reserved_by && nvbo->reserved_by == file_priv) { NV_PRINTK(error, cli, "multiple instances of buffer %d on " "validation list\n", b->handle); - drm_gem_object_unreference_unlocked(gem); - ret = -EINVAL; - break; + continue; } ret = ttm_bo_reserve(&nvbo->bo, true, false, true, &op->ticket); -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/