From patchwork Thu Sep 22 14:25:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Ripard X-Patchwork-Id: 12985347 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 20D8AC6FA82 for ; Thu, 22 Sep 2022 14:43:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=7XT/JLT0Wq6gHIguahpShxX8L4IP32UTatPURn7BBKk=; b=3DBarg4eHAZAIJ 4HpmpVKWGEyuj6nkLoQXP5sf2Tw88PRpkSevVd3aWe8DV3vmjtMMB76hRHXzI+8O6Tvz1PNSp5fgV m5FmzvhOJ9oeNt7QbFR4Gw2S5rJhuJyy5q4vpkPcTB/Q2BjoJM7cTk/DDxeud2FxRz+YsNFCWVXZJ CRC/9Y02uyQbd1sz/dCB+sVbOpWF9FOycJVMyODWV0YfLCGyl3pEo+9b35MnuVbX4RhdI9W+QSM9w RXbIWgo1y06KWXN+Yib1Ua135uopfx0PKkcovP3OZF65YKRbs99ZIKhx7a0i14qqtpJwqYky3QQ0b 5z71GjOSLO3NT9sEWYpA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1obNOi-00G7gG-D0; Thu, 22 Sep 2022 14:41:53 +0000 Received: from wnew4-smtp.messagingengine.com ([64.147.123.18]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1obNAu-00G13j-PV for linux-arm-kernel@lists.infradead.org; Thu, 22 Sep 2022 14:27:38 +0000 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailnew.west.internal (Postfix) with ESMTP id 7459D2B05B2B; Thu, 22 Sep 2022 10:27:33 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Thu, 22 Sep 2022 10:27:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1663856852; x= 1663864052; bh=2J8ePPZWtgHL+Hggk4tVDJx1sG6hl+uFivM/ERtqGsg=; b=3 mDNWZNIe3DDqHKKg9XVsm47n7p8liMzAERITZAhAD7Jtv66VpdBtwazK/jqjmrjP Ab+FQLr0JB8CuHEhaMrD+73mSYZ+t2Qf3HM7eNaM2xpnWQEuqq3yAVDm19GFDdh+ WIU+Sys7mUeYoscOsdgvU826AaBhj6tk2jexZSRCf8owvzPCqcodoOiuDMT4dhyr xpeF7G3b90I0IyjnwqvEhQehpHmpj7IZv+19frAVFx5yBUCTf2Yd+dKrNTF83OVR qpYIwXRNJWS8p8XlB9e4oRCjYA85XUr0JIOLZmdqertSp4oUmTvZBdSMf6CquSMy ZX7PawU65R36uriF/rmwg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1663856852; x= 1663864052; bh=2J8ePPZWtgHL+Hggk4tVDJx1sG6hl+uFivM/ERtqGsg=; b=I xCAkikURCXPNtPe/OFLT/L8HOGuOt9N7gxlGwiYeQ5Pe4Zo5nVpiemzlw29eCoMx rcIulxLP8ndPULBs00x2T7ZvJykYH/k22PY7CGbVMSYbxvDdQX3aPChv3+l70lSH M5u6erWvTI50ND20z1m++SJGV4j2fI/YSWk5MMGNI56DCP1MBVch3D2u5Obi+3eW hLg/JpqqLFhV5TzCfM9KQG8a+JGdKfunrY5qKrlirdVPOSKrO1zxKm9qb+JzkXqx Ubg1dPT4A9Y5vY+BM1fdOy7PUjapsRlIj2HyoWfUeBThJ+tH61/sPtUZplwSitrA HrAQSFho2nKAvNsLpInJA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrfeefgedgudejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephfffufggtgfgkfhfjgfvvefosehtkeertdertdejnecuhfhrohhmpeforgig ihhmvgcutfhiphgrrhguuceomhgrgihimhgvsegtvghrnhhordhtvggthheqnecuggftrf grthhtvghrnhepudduudfhveejteefgedvffdvvedvjedugedukeejhedtlefhffevtefh jeeltdevnecuvehluhhsthgvrhfuihiivgepvdenucfrrghrrghmpehmrghilhhfrhhomh epmhgrgihimhgvsegtvghrnhhordhtvggthh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 22 Sep 2022 10:27:31 -0400 (EDT) From: Maxime Ripard Date: Thu, 22 Sep 2022 16:25:34 +0200 Subject: [PATCH v2 17/33] drm/modes: Bail out of named mode parsing early if it's an option MIME-Version: 1.0 Message-Id: <20220728-rpi-analog-tv-properties-v2-17-f733a0ed9f90@cerno.tech> References: <20220728-rpi-analog-tv-properties-v2-0-f733a0ed9f90@cerno.tech> In-Reply-To: <20220728-rpi-analog-tv-properties-v2-0-f733a0ed9f90@cerno.tech> To: Jernej Skrabec , Rodrigo Vivi , Ben Skeggs , David Airlie , Maxime Ripard , Joonas Lahtinen , Emma Anholt , Karol Herbst , Samuel Holland , Jani Nikula , Thomas Zimmermann , Daniel Vetter , Lyude Paul , Maarten Lankhorst , Tvrtko Ursulin , Chen-Yu Tsai Cc: =?unknown-8bit?q?Hans_de_Goede_=3Chdegoede=40redhat=2Ecom=3E=2C_nouveau?= =?unknown-8bit?q?=40lists=2Efreedesktop=2Eorg=2C_Geert_Uytterhoeven_=3Cgeer?= =?unknown-8bit?q?t=40linux-m68k=2Eorg=3E=2C?= =?unknown-8bit?q?_Dave_Stevenson_=3Cdave=2Estevenson=40raspberrypi=2Ecom=3E?= =?unknown-8bit?q?=2C_linux-kernel=40vger=2Ekernel=2Eorg=2C_linux-arm-kernel?= =?unknown-8bit?q?=40lists=2Einfradead=2Eorg=2C?= =?unknown-8bit?q?_Phil_Elwell_=3Cphil=40raspberrypi=2Ecom=3E=2C_intel-gfx=40?= =?unknown-8bit?q?lists=2Efreedesktop=2Eorg=2C_Noralf_Tr=C3=B8nnes_=3Cnoralf?= =?unknown-8bit?q?=40tronnes=2Eorg=3E=2C?= =?unknown-8bit?q?_Dom_Cobley_=3Cdom=40raspberrypi=2Ecom=3E=2C_linux-sunxi=40?= =?unknown-8bit?q?lists=2Elinux=2Edev=2C_Maxime_Ripard_=3Cmaxime=40cerno=2Et?= =?unknown-8bit?q?ech=3E=2C?= =?unknown-8bit?q?_Mateusz_Kwiatkowski_=3Ckfyatek+publicgit=40gmail=2Ecom=3E?= =?unknown-8bit?q?=2C_dri-devel=40lists=2Efreedesktop=2Eorg?= X-Mailer: b4 0.10.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1102; i=maxime@cerno.tech; h=from:subject:message-id; bh=hUcbhwJ9DBy9NDrshDAAcggJzHGewykANY8cYFaxCfU=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMk6BYGvwz9JBsU1OMkff7fXYf3G8Omz2y6rsMtblO7ZEiBz ckVNRykLgxgXg6yYIkuMsPmSuFOzXney8c2DmcPKBDKEgYtTACYSO4WRoe/GFdmGNA2FT4KPznq/0D ljVLZy3fz/L9NymZU+hs9aIs3wT+X5IkPpRWF/n0Ss2m/+6Lg622/jlxEzXv6pUJnD/nztTRYA X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220922_072736_894777_46302827 X-CRM114-Status: GOOD ( 11.09 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The name we are given is the first part of the command line split at a comma. We can thus be called in two cases, either we are parsing a (named?) mode, before the optional part separated by a comma, or we never had a mode specified but only options. Options use the equal sign as separator between the name and its value, so if we ever find an equal sign in our string, we can bail early since we never had a mode to parse. Signed-off-by: Maxime Ripard diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c index ede5b094da4c..dc5d5bdbea7a 100644 --- a/drivers/gpu/drm/drm_modes.c +++ b/drivers/gpu/drm/drm_modes.c @@ -2242,6 +2242,13 @@ static int drm_mode_parse_cmdline_named_mode(const char *name, if (isdigit(name[0])) return 0; + /* + * If there's an equal sign in the name, the command-line + * contains only an option and no mode. + */ + if (strnchr(name, name_end, '=')) + return 0; + /* * We're sure we're a named mode at that point, iterate over the * list of modes we're aware of.