Received: by 10.223.176.46 with SMTP id f43csp310567wra; Thu, 18 Jan 2018 17:59:13 -0800 (PST) X-Google-Smtp-Source: ACJfBosOPoHVK8QDZmkMDNuO+r6BTe4Ot9+QJq8lF0WVzE8FMMODLX9QrTvxQskr/1fbw4JuWASG X-Received: by 2002:a17:902:7849:: with SMTP id e9-v6mr749460pln.287.1516327153168; Thu, 18 Jan 2018 17:59:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516327153; cv=none; d=google.com; s=arc-20160816; b=O9uWouT2gnef1k7Fgr/aqOeyqYAcAKckjoT3tAJxlGpjJu5Dhlkuv0UIiF/x+JYhvn 9ku55tj+O0YAVyKRAUsZ1aTekKaOkQnsUaB8hdflnRTnF4fFoUCv4BdH7mIGsJwGygMY rXhvtIOpnq8B+lOEbFR3yp3aXBXKTvHPFyAD7h62tDnCxOFN+8zwoCGIP7MvwOzNhznR 3jws7lc52yj5Z3x/e+tpmEhG1YVXzknLJO5az2q09xTQMFGSKnVWSUl0vAUBBMTDLUTE PTXG5jjawo63FI1VNVywX1LwZ3eH473o+lJTH9JiUWGHdbWMapYK75cCK8MSisFORG5p +C7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=9nkD0t8sufMElmmJAIQN+ij+W7/sAk9rXuvKuK/Zk1s=; b=xMWjguUWaIWOUYI1Yt8i4B5u/OLobWnRJhIQ4F4DeCqWm3jKwP4nIZYAEu4oaEsUhV I3jl4CQFajZKP15d3aE6KY8P2sHBFBc2UEk0o0wJfSAekembzp2uoGA5mamrl4Y8m+FY wSfsX99TIIK6zaeU9gpyXKO8BWtljTKCGp+Zxk9wYdKSzUMjNIoMvkVBNUr2DrLZbcnx fAvovyRjojvTHmKVV7ZYZ6l/aea7od3EzBwAPzuTHnsk8Ei5NzSNRxb8MbI9fCkG9c9e UGhLNMr1AM59gkOdVjSTaZ5Nf7Swg1PAGq/OQ+NZyOPgfMMhggdy6JOefv6c8Mu6Qbn7 pvcg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v70si8246163pfa.405.2018.01.18.17.58.59; Thu, 18 Jan 2018 17:59:13 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932657AbeASB6j (ORCPT + 99 others); Thu, 18 Jan 2018 20:58:39 -0500 Received: from home.keithp.com ([63.227.221.253]:45512 "EHLO elaine.keithp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755535AbeASBwM (ORCPT ); Thu, 18 Jan 2018 20:52:12 -0500 Received: from localhost (localhost [127.0.0.1]) by elaine.keithp.com (Postfix) with ESMTP id 4C9E83F202F8; Thu, 18 Jan 2018 17:52:11 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at keithp.com Received: from elaine.keithp.com ([127.0.0.1]) by localhost (elaine.keithp.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id BkT_HxE2Vxwi; Thu, 18 Jan 2018 17:52:10 -0800 (PST) Received: from vr.keithp.com (vr.keithp.com [10.0.0.39]) by elaine.keithp.com (Postfix) with ESMTP id 9B8B13F210B5; Thu, 18 Jan 2018 17:52:10 -0800 (PST) Received: by vr.keithp.com (Postfix, from userid 1000) id 70D93740095; Thu, 18 Jan 2018 17:52:10 -0800 (PST) From: Keith Packard To: linux-kernel@vger.kernel.org, Dave Airlie , Daniel Vetter Cc: Keith Packard , dri-devel@lists.freedesktop.org Subject: [PATCH] drm: Check for lessee in DROP_MASTER ioctl Date: Thu, 18 Jan 2018 17:51:59 -0800 Message-Id: <20180119015159.1606-1-keithp@keithp.com> X-Mailer: git-send-email 2.15.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Don't let a lessee control what the current DRM master is set to; that's the job of the "real" master. Otherwise, the lessee would disable all access to master operations for the owner and all lessees under it. This matches the same check made in the SET_MASTER ioctl. Signed-off-by: Keith Packard --- drivers/gpu/drm/drm_auth.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/drm_auth.c b/drivers/gpu/drm/drm_auth.c index aad468d170a7..d9c0f7573905 100644 --- a/drivers/gpu/drm/drm_auth.c +++ b/drivers/gpu/drm/drm_auth.c @@ -230,6 +230,12 @@ int drm_dropmaster_ioctl(struct drm_device *dev, void *data, if (!dev->master) goto out_unlock; + if (file_priv->master->lessor != NULL) { + DRM_DEBUG_LEASE("Attempt to drop lessee %d as master\n", file_priv->master->lessee_id); + ret = -EINVAL; + goto out_unlock; + } + ret = 0; drm_drop_master(dev, file_priv); out_unlock: -- 2.15.1