Received: by 2002:a05:6358:a55:b0:ec:fcf4:3ecf with SMTP id 21csp745360rwb; Thu, 12 Jan 2023 11:44:30 -0800 (PST) X-Google-Smtp-Source: AMrXdXuspX9r8eGU1WhpIOtqfzy2qTcliYy28D3QMvJjDNW74XHLOlI7MtWyhZV2sdAAHoDc23rd X-Received: by 2002:a17:902:7583:b0:189:4bf4:2cfc with SMTP id j3-20020a170902758300b001894bf42cfcmr75943159pll.31.1673552670207; Thu, 12 Jan 2023 11:44:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673552670; cv=none; d=google.com; s=arc-20160816; b=odISyQKWuko2z1XrhK9gJaWbkvd9Z7QpcfzLSf5ilpRcF0pXMe4KttmFO0Uq1Ua4R2 vPJ6t8YlaGlED8+seaberckqzFuE+5kAlHNXqR+8x/S9S/Gz98S1Q3HRAMyXYPsku0M8 YV6i+Du7xXy7fU8wq4pLdI2nIArNmwtOD4On82F4Nd6pgV43pdV+vbhiIMdN6y0KsbWi NY+eExuvvjikeiLaQwStXvAiexYP/YrkPDkrcXmBTYiSYWW79+seYrmFaK+He7NWOUSm veVdrbKPWGTNlBKhIZX/wrz9cIT/6xxAdwKYZrW0DPFftvGrv7gaSoqqbHNgw6kSQ9HP cKoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=DEnzVQZumZabcRaFPJ05ICBIYSjC6UdjcaRvoU27BIE=; b=P/oVySl0V0GSQX0YC0MsaQR+ckB//fxLc59/nfEYA4Fa8Lm23bx29RkihFBdmvRDtT hSj7sEhBf43H7Jtp3UHJB2ToiF2jAc6qecRS2NS3eAr1a6axkZGuFeRlioHYgWMSrkc6 vWxP5aNPJFHpAf8HkZFKezuQaQgi30X/ZqiCfFvTtJw4IoaJ7DA2QIy8u/OQSvPLbXGc a6PyHzElhyb5iQOwle9Uk9kEL/Lx4LVH3h6NRjkUf2VgMrtJiGoI+O6Fhi/WEe1+Oqma jak+8DlcbMhi1P8dlVkoipRbGJK30Fi4wUYElsEvg8nzQTve4zZ7IW4AtPBcpynnPHmL quvA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Bj+RXgQ5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a7-20020a170902ecc700b001930ab4c4fesi130303plh.165.2023.01.12.11.44.23; Thu, 12 Jan 2023 11:44:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Bj+RXgQ5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236847AbjALS5b (ORCPT + 50 others); Thu, 12 Jan 2023 13:57:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56286 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232890AbjALS4q (ORCPT ); Thu, 12 Jan 2023 13:56:46 -0500 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 22ECAFD0C for ; Thu, 12 Jan 2023 10:28:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673548122; x=1705084122; h=date:from:to:cc:subject:message-id:references: mime-version:content-transfer-encoding:in-reply-to; bh=4j0IvOvhEOiGfWfzcHNLylre0WIECq8Ql/L2bq6QkgY=; b=Bj+RXgQ5uRfoZtYv/CwlomnvpE+wSCqbIngxg+5J6Ts2Xfi2SbCoQIgL Ol4EByY5cBN60Y1IQ+3ra23r0JfYdYOMn2D8bCi0iXKAgPL5EY3Yn1n86 FAgzHQkrREWBf6V8sdXsRto/IycEj3H8bxT6ilf0WnVP3D0sfz/JDuxV4 p2EPddZHmJSJ37mUIOYq/OTDe7kh4k5VhhutPY+OwVe4i6PWhH2+3FP+c I4y8VULVYMTrX8bLHIk1fd12wtXpRUtzLRJTzSPGvI6te+9O4J6HpDVlA iyq12kzreVdrrVoZNw12ecJRITOk/fB6C6l84Hss7NKSOGzso16HxTi7e A==; X-IronPort-AV: E=McAfee;i="6500,9779,10588"; a="311638063" X-IronPort-AV: E=Sophos;i="5.97,211,1669104000"; d="scan'208";a="311638063" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2023 10:28:41 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10588"; a="688436155" X-IronPort-AV: E=Sophos;i="5.97,211,1669104000"; d="scan'208";a="688436155" Received: from stinkpipe.fi.intel.com (HELO stinkbox) ([10.237.72.55]) by orsmga008.jf.intel.com with SMTP; 12 Jan 2023 10:28:36 -0800 Received: by stinkbox (sSMTP sendmail emulation); Thu, 12 Jan 2023 20:28:35 +0200 Date: Thu, 12 Jan 2023 20:28:35 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Drew Davenport Cc: intel-gfx@lists.freedesktop.org, Daniel Vetter , David Airlie , Imre Deak , Jani Nikula , Joonas Lahtinen , =?iso-8859-1?Q?Jos=E9?= Roberto de Souza , Juha-Pekka =?iso-8859-1?Q?Heikkil=E4?= , Matt Roper , Rodrigo Vivi , Thomas Zimmermann , Tvrtko Ursulin , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] drm/i915/display: Check source height is > 0 Message-ID: References: <20221226225246.1.I15dff7bb5a0e485c862eae61a69096caf12ef29f@changeid> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20221226225246.1.I15dff7bb5a0e485c862eae61a69096caf12ef29f@changeid> X-Patchwork-Hint: comment X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Dec 26, 2022 at 10:53:24PM -0700, Drew Davenport wrote: > The error message suggests that the height of the src rect must be at > least 1. Reject source with height of 0. > > Signed-off-by: Drew Davenport > > --- > I was investigating some divide-by-zero crash reports on ChromeOS which > pointed to the intel_adjusted_rate function. Further prodding showed > that I could reproduce this in a simple test program if I made src_h > some value less than 1 but greater than 0. > > This seemed to be a sensible place to check that the source height is at > least 1. I tried to repro this issue on an amd device I had on hand, and > the configuration was rejected. > > Would it make sense to add a check that source dimensions are at least 1 > somewhere in core, like in drm_atomic_plane_check? Or is that a valid > use case on some devices, and thus any such check should be done on a > per-driver basis? > > Thanks. > > drivers/gpu/drm/i915/display/skl_universal_plane.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c > index 4b79c2d2d6177..9b172a1e90deb 100644 > --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c > +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c > @@ -1627,7 +1627,7 @@ static int skl_check_main_surface(struct intel_plane_state *plane_state) > u32 offset; > int ret; > > - if (w > max_width || w < min_width || h > max_height) { > + if (w > max_width || w < min_width || h > max_height || h < 1) { I liked this one best so pushed to drm-intel-next with cc:stable. Thanks. In the future we might want to move some of these checks to an earlier spot to make sure we don't hit any other weird issues in some other code, but for the moment I think this will do. > drm_dbg_kms(&dev_priv->drm, > "requested Y/RGB source size %dx%d outside limits (min: %dx1 max: %dx%d)\n", > w, h, min_width, max_width, max_height); > -- > 2.39.0.314.g84b9a713c41-goog -- Ville Syrj?l? Intel