From patchwork Mon Nov 27 14:21:25 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomeu Vizoso X-Patchwork-Id: 119716 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp337078qgn; Mon, 27 Nov 2017 06:22:41 -0800 (PST) X-Google-Smtp-Source: AGs4zMZFG+u67Me0pnmJD6TQdOcPurMlZU+SLrD0EgHkX0SY83Shg3hhCSkcFqT4+t75jMulCXwq X-Received: by 10.84.236.65 with SMTP id h1mr6743003pln.440.1511792561769; Mon, 27 Nov 2017 06:22:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1511792561; cv=none; d=google.com; s=arc-20160816; b=EGffOczzh3nFmetijrcFxtIkqU0xkAQCkurGrZv2862iepEg3WVoE9PE+PMdmYGULW /0z+tv4aF5xphdvgSvHyzRCJkZw0ZS3O6UM5Uxwm19aVB2DT45qTUsP8Gwj7dOSfSlPB AEDsBs0/39pV5Zrvvh8rg0rvjVg4B0RzBS7Mwq6ksP/mEYeVek+N6Y0spwPZ3pAUGQ8P ZlO8wcsbljJ0XGqgoZDRZ9jT7rdmDpFJIJ0x5aXpJaDP9lJHsloU+dPhNTJ1WOewlmlS 9LA3ljSash7FMGa4kltPaePzBZBnCfFE/TfNTUnrU4gCS+QWWGry74c70RekENR6xqC5 Bnlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:cc:message-id:date:subject:to:from :dkim-signature:delivered-to:arc-authentication-results; bh=NQNUr9IMwUDam2q7U198NyLL3LrnR590mUAtkhgGYGo=; b=WJK7MRLSM3/PQdXu2Wi4WC0UOrr0r6FGxdFo+AHcRcJ3Hu2eGtRnbqu6INxZ2ALVB/ AQNScESO8Lf5gvaNsPoPgFEqYs0FC5FvxzOq6GuyF1s7d79utTfYJdp4F6B/9n4N44c6 LNSumJY0Ca12EqxDUTMSGgncQLtBNRLePDmIFUW8heOyYmC7MU8gUo+vkzBP+NRQdPFP +V0aFPsqVFmONtgAoAam9i/LpMdM7SuNb/dSg1rvWR/aZu3Rq0nHtP9/JfNpRGhmH7s4 o17OdQtEw2q/68OnVK826nomCa34nqvbfT1Cl6SXphNWsXLYS84iKAyXQi4Vi3tAbh1y EQSg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Vtvd3044; spf=pass (google.com: best guess record for domain of dri-devel-bounces@lists.freedesktop.org designates 131.252.210.177 as permitted sender) smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from gabe.freedesktop.org (gabe.freedesktop.org. [131.252.210.177]) by mx.google.com with ESMTPS id y9si21172405pfi.137.2017.11.27.06.22.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Nov 2017 06:22:41 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of dri-devel-bounces@lists.freedesktop.org designates 131.252.210.177 as permitted sender) client-ip=131.252.210.177; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Vtvd3044; spf=pass (google.com: best guess record for domain of dri-devel-bounces@lists.freedesktop.org designates 131.252.210.177 as permitted sender) smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1A631896B5; Mon, 27 Nov 2017 14:22:40 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7B326896B5 for ; Mon, 27 Nov 2017 14:22:39 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id w73so6548989wmw.0 for ; Mon, 27 Nov 2017 06:22:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id; bh=2MgcXo3sg5lpMQozYPcFpkYlQaBQv1SLp6Ec7/Wpnxo=; b=Vtvd3044SXn/G6pJpxHNkuGPnUK8v1RIHLFLD21XAnjIutC5Hy6ZzCYCEgQiExLYhk VM8xaij8BnZDN7yOL+uT3LCPK7dO/+CNfw/has19vNyNv0qIpC7TTy/kSm1QryaVwIMj E88FNAKFcR+2xGUNaxFKw6WsnjEobNMRbAP/OUzzMWI5Q/4t52FbrWj6/smNHs2nbR72 8GcahBfTyk3N6XWMsr4uQDyi9Ys8GH4QBXt8vg0NqNpnI3IgDFaXQzcGX5VhLWgTTGe/ wTbVf0o8snrIxIkeuBpnfS2EDlZ7bhlJ2nXVf9mO6adTzxDWXrRiD3XBa3FI/ft1qCpG fQVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id; bh=2MgcXo3sg5lpMQozYPcFpkYlQaBQv1SLp6Ec7/Wpnxo=; b=tvK9HjETQ/OWg/CZveNgodE4T9gihc6QgMUEnvMb955NJUUXMYgYver5NS/oeCm8W9 f6etdHmUoy9unafk5NG3TvhZvNitF0YwrR/v4zvfsBst2xb0TVtbG0qLgydjDCKjIAIl Ac3Fwuinkrh0iifZayg4sng5SrDY4uNiypavJGI/pvUTG7iEE4/mQAQM0NjctIv5sT89 HgEnm4nZTLEVh/AB0toVWYVZifjLdYA+8yoTwstEEKgnMzXfxpPFSmCQlWsCC1dRmvpZ 0gjg+DWAFVYfcSHiv1EvNF9C2hjciG8taq3NYzBFyjQ6lN50FDm43Eukl4DoHNKiixbB nsaw== X-Gm-Message-State: AJaThX7vxF3vtT6HtIijApQoylHm8cAoWa/8SSzBIdrkyIZOpcbQeFXo uIVrTOcTRLqcBBO5IPu1XXpamcF6 X-Received: by 10.28.111.146 with SMTP id c18mr17657849wmi.123.1511792557713; Mon, 27 Nov 2017 06:22:37 -0800 (PST) Received: from cizrna.lan ([109.72.12.11]) by smtp.gmail.com with ESMTPSA id 68sm21843732wmh.2.2017.11.27.06.22.36 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Nov 2017 06:22:36 -0800 (PST) From: Tomeu Vizoso To: dri-devel@lists.freedesktop.org Subject: [PATCH] drm/virtio: Don't return invalid caps on timeout Date: Mon, 27 Nov 2017 15:21:25 +0100 Message-Id: <20171127142126.25765-1-tomeu.vizoso@collabora.com> X-Mailer: git-send-email 2.14.3 Cc: David Airlie , open list , Gerd Hoffmann , Tomeu Vizoso , "open list:VIRTIO GPU DRIVER" X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" If the wait timeouts, the caps are probably invalid and we shouldn't be passing them to userspace. Signed-off-by: Tomeu Vizoso --- drivers/gpu/drm/virtio/virtgpu_ioctl.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/virtio/virtgpu_ioctl.c b/drivers/gpu/drm/virtio/virtgpu_ioctl.c index b94bd5440e57..902120ad4a6d 100644 --- a/drivers/gpu/drm/virtio/virtgpu_ioctl.c +++ b/drivers/gpu/drm/virtio/virtgpu_ioctl.c @@ -517,6 +517,8 @@ static int virtio_gpu_get_caps_ioctl(struct drm_device *dev, ret = wait_event_timeout(vgdev->resp_wq, atomic_read(&cache_ent->is_valid), 5 * HZ); + if (!ret) + return -EBUSY; ptr = cache_ent->caps_cache;