From patchwork Wed Mar 24 15:43:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Roger_Pau_Monn=C3=A9?= X-Patchwork-Id: 12161631 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3920BC433C1 for ; Wed, 24 Mar 2021 15:44:03 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id F2CF960240 for ; Wed, 24 Mar 2021 15:44:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F2CF960240 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.101057.192975 (Exim 4.92) (envelope-from ) id 1lP5fm-00024U-BS; Wed, 24 Mar 2021 15:43:54 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 101057.192975; Wed, 24 Mar 2021 15:43:54 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lP5fm-00024M-8M; Wed, 24 Mar 2021 15:43:54 +0000 Received: by outflank-mailman (input) for mailman id 101057; Wed, 24 Mar 2021 15:43:52 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lP5fk-00023b-Mr for xen-devel@lists.xenproject.org; Wed, 24 Mar 2021 15:43:52 +0000 Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 501eaa9a-5033-41ec-8788-e2d5a48f3217; Wed, 24 Mar 2021 15:43:51 +0000 (UTC) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 501eaa9a-5033-41ec-8788-e2d5a48f3217 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1616600631; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=3SSMjXLR2Pw8e0lwOcBT/8UcWH1S4+UdZqxdNTeo0c4=; b=NH6R8iEOmWeruMVSATL8byarCe7Aaup3RXSuhmTKxD2l6EcPznqHHXXU wzvaiv2KedXxt3fgeJ3mofKW3juDiNjTo90Pj3oqLuPuCrRNhHKq6r4Qi x+m9dFcuMAQRmeu9YYWMGtnM51pY56cjwV76YUyuHepnan9Ssj7A3j1Bc 4=; Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com IronPort-SDR: T2L+nUH0GVj4TT8m8wtOGnV8vZLqkRcN/TSm4y4PfQ4ZjqVvdavR16HW6mBzsmafsLUnyiA+ow 64bEwZ1Rl+2jnhaJiCY7djrDk8ysavXvq95v5CsLZi4LHZ/S6HUST+l7mjZY5pnzfLML2P982j hmNerLpJNyl8SCOyjVTmP2au3eYza3fBfdmGcMMAdZwaCL4jLpWCKDGcBBhxqywG64hnHpVI2R NWx3mEN4m26GvGWUNAoArM04uBGVeDlw/9QAesvImrfAbXyBsiIQr+pSn9mzhjVaMMxVcZ4m02 we8= X-SBRS: 5.2 X-MesageID: 40188095 X-Ironport-Server: esa6.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED IronPort-HdrOrdr: A9a23:XDgRN6zPgOrBtE6uKU/KKrPx/uskLtp033Aq2lEZdDV8btGYm8 eynP4SyB/zj3IrVGs9nM2bUZPsfVr3//dOgbU5F7GkQQXgpS+UPJhvhLGSpwHINg/f0qpm1a lme7VjE9GYNzJHpOvz/QXQKbkd6fad9qTAv4nj5lNMaS0vVK169Qd+DW+gYyhLbS1LH4AwGp bZxucvnUvCRV0tYs62BmYIUoH4zrWmqLvcbQMbHBli0QGSjFqTg4LSKQSS3RsVTlp0sNUf2F XC+jaZ2oyT98uV5zWZ/G/V4pRQlrLau6Z+Lf3JsOc5AHHBjg6pYa5oRrGNuiskydvflGoCoZ 33jDoLe+h19nPNbkG5yCGdpDXI4XIVxFLJjX+enHf5rsTySFsBerR8rLMcSDT1wQ4EnrhHoc V29lPcjbV7J1f8uR64wN7yWxRjhiOP0AEfuN9WtVNze88jcrNLxLZvmn99IdM7Mw/RzpsoK+ VqBNG03octTXqqK0rUuWRi27WXLw0ONybDRkADv/qc2CRNkEZ4yFMFxNcekm1ozuNEd6V5 X-IronPort-AV: E=Sophos;i="5.81,275,1610427600"; d="scan'208";a="40188095" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JvftgZFiTf8F2z9JvoYNbVzO8LCL3AFYEok7Yb23FH8KbpczKO76MYtBVQFpVlJSOkYC5Q/Z2ofeCYVj27QW53CrfmD7vz/QzB5IawQxyKA9RiY089Iz1eOsjougRKbnOQssRRmYqheOT4olJyobIUxpa8FiV+0vqLp48QK2LrNxbrAoE7TTDAVo26WKRcloogBoqwnalGH8lh+jvqtq4CaKAEMIlU939bXVbhVKoERPL3I1oO42VXlxdIt0lePiILI5/9xRfaZWiC6a7AeCmZwk924gbx5kxThRNlJt0K3fMtU9SJ42LyZ/e87nMNyUK7OZxO33dYggOnYgQ/XKSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ub0sbUt19Z455MEMout2SS1YkpeYLQCcmLvqKsToEuA=; b=MyDkuMZLSkGhDK06hHHTWn5cz3gGZ4b95y5N6B2Cwn1Cml1KmIfp5pe5oavF+gJ+J+j1QKE3ovtWnzugAHJPaGFajM5ljibwZ0Bu2KZDtoLRFuhvmE8yxnRKcv4fGetehFNe3Lbi33HpdRRHTp+y8gncVcQcfK39oo/56sMRBgQwhUUCJUWq+jGad180dgOcmy22qlfXk8mhmbkZXtNAZo6M8O1DmMBWa0HwM56RkVQgryynbknmZ/AAXVzPjD6QRhBojgvxLxGw/FQQx+9gMwssMLZ6TAFPOUsVMYeuJVkk7sfmOi/6x13z4kbAQTV217puHNGiPGIyyDfNB6KmLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ub0sbUt19Z455MEMout2SS1YkpeYLQCcmLvqKsToEuA=; b=XpNVOtT44B455bjm1RoXko+cMLriNYY2UYyTc2L8fAmNH7IGhou7hBEOqor8U+xtE3wYjH5He5DvswcBt6DQOJrpu9Qo9UM9PW8uxYfDeMuR3xbEY9H4/Mak0CHmuB2JoPHBQQg1gT/o2YvXIUwrItYC8Z1XUHJgLuqZxwnIAdA= From: Roger Pau Monne To: CC: , Roger Pau Monne , Mika Westerberg , Andy Shevchenko , Linus Walleij , Subject: [PATCH v2 2/2] intel/pinctrl: check capability offset is between MMIO region Date: Wed, 24 Mar 2021 16:43:12 +0100 Message-ID: <20210324154312.61878-3-roger.pau@citrix.com> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210324154312.61878-1-roger.pau@citrix.com> References: <20210324154312.61878-1-roger.pau@citrix.com> X-ClientProxiedBy: MR1P264CA0030.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:2f::17) To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2a898119-3a44-4b47-231b-08d8eedb9bca X-MS-TrafficTypeDiagnostic: DM4PR03MB6062: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:240; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: iUSZn4Z/mitWANUDBIi1vmCnml/K7B9YOrGUHjxHbd6+EhtYZH4qAS2lKP1aHQpgNdjySrCCjexep0+3uISBq0M6YJUQ5mjM5H/e4L4DJvXxQLLotrNNNL5/rWcEqZZuNf0vBrrJ9KbWI1AqHx7EFgQVOmxI1yy9MPg0KTd4HIGdrnHH5CUfPjCMR5jTERUTqUu8D5O41E3TFpekY4bL/F3S8xwls6EyGaCwb/EIpdus/vX/2IDHfYc/LOqypLbY/vQVXNYzwHS1DOI4gnyCIqiWzIT2c0z8ctUftt1Q/hoDOSU5uJcPRsbdsHcTRNmxjt2rQZyLYMIW1dsMxjor5IdhEHQypRdS4R1Z0+01o8LXTebWDlB+78alkI2FIJXSpNhmz0mmCbGC1+bcAdMcYJKKe8V8tkjMHyYLiZp8gRIb5XgC6APu1nRWov6PWPxcvWg0SSZyf1o7xBT8pg/HBVQBeMGcgiFBXoLUohRVyeXcVybF9FJl4eyF29vPb/UkDdlOIAng3kpZQ4+TQzkbYGqZu70D5aArPOVpr9DqiVmTkfWCIiOnM5O55fLGJwSryiy4QaRJgRhynT/S+U29tA//ktGDal/9Fkxs427AjULUU6ejlFf9UmDkxfifLcZjnO7PRBiP9cjyLYka90PgeDcixXBuvvDREbOk3AqZAV4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(396003)(39860400002)(136003)(346002)(376002)(54906003)(6916009)(478600001)(956004)(16526019)(186003)(26005)(83380400001)(86362001)(2616005)(1076003)(4326008)(38100700001)(2906002)(36756003)(316002)(5660300002)(8936002)(66556008)(8676002)(66476007)(6496006)(6666004)(66946007)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?q?dCvH3pGoDWFZUqSdZm1TSFpkagukE5?= =?utf-8?q?wvCWLIhl72ID/Bg/QucIUkPQAo0+uqS5GFAp40cJh44ZSwVhrwMTrYH/1B8uY45p5?= =?utf-8?q?5IO4IESvUU9PM4kCageE5+SS6PEEeJRUnA0/yDNPAXqz5cArX6MzWIjgemK2HFOQr?= =?utf-8?q?Ukj6Uzv5z31VcKwUgX5RLf+w1o56SlYxgD1qwPb7pjpQB/YC2rsIhcihgzZAyfi6A?= =?utf-8?q?k5EwgsiDUu3D6b6oVtWRtdn1kBbywuK7ijlQ/whP1E7mVdNlRjbfUHBB6MAPB2wSb?= =?utf-8?q?f2hFvKfL9SFKhfvI/2bf81brRweaywca5yxnRw6Tl1cJTObN9F0uqimzbqajjPsKM?= =?utf-8?q?4WMd8n3AbxurkMtyKZWpIbASCu0N5rpGqVicJ5SP+VrL+qMGt5UIuoWdQqSIjtI+J?= =?utf-8?q?3vfGCCFuJo4rpN0AQsmL7AaaU3Jx3i21fKmJihcIda7Oiz9xWDonHiQ4PW20EDpOn?= =?utf-8?q?nXMu96YbNL2qQzyV1XavXGNFJmz6cKmSugrVDSk27wnL4/61vafzqZogf33lECDu6?= =?utf-8?q?3ReNyxXNckwinAFx160mtdlIDtRUnBRJ++jTHMbYOLk6Dp9kjBaIiUau8tdTDQ2ws?= =?utf-8?q?yoaR8P3Bud0DSRr9wJVDUmlhe9PG39crZPoTBe73Iwa26km+xa14lM3B/znF+Zpf9?= =?utf-8?q?RhYM3c97luwck4s6tw1lbjR5E8/urbJWcuEIn+D19RLQjRjzKi+VUXsW052V55DI8?= =?utf-8?q?zhfyahtmmh+W8wKTiST4L4ZQYrOLmjjKQRdg1qvsdBmC0/MP+dj6g6IkHD6ZCuPDT?= =?utf-8?q?gbLrNyySttHGlVqAYOPZpZGSM3UnKD9dVXc5jCFstbNopqAWrlB2yGaf+7cV/M8A3?= =?utf-8?q?5pvbPwaBbJfUBLe0VHYkHOONu1gw6Ah2t6j4BhRxuyAdaP0wDHGVkak5G+L4bu7Se?= =?utf-8?q?DOIPJ8VkQqC9ZX8Xa0DJ9Tqubj4u90z0KkE+GUqviY8CxlPL9/aWm28y74LutuQjX?= =?utf-8?q?m3wbha/W3oeNuMPnGICL3ImDKD+Yvu2wr01MmdCqv+fMSjO6bHA23EPu8YMeQtVh8?= =?utf-8?q?G8iEHthxZBdsyY4wvJOmVOAttiXvOHO/8kd16S0c1OxC6nUhdcO7jiCRZI6ydalzv?= =?utf-8?q?V5DdVdOTzEWZW/xkLaSCcacSJkXZDV8zWZ9QGEHeLXD+pxBZJcdg69vzxg2ayUYti?= =?utf-8?q?+7zSFHEQLdcNMXFybbfc3LTpHCQsR8hFGWHZ58qW5J/vGt7eOWHMF0RgXQscu7+XY?= =?utf-8?q?s4g4m3Qu5ysx7uEwGeIlBQpUbdOznoXMfXCTRGP3Rw9X3YAKXcFsKf25ax3E0z2qT?= =?utf-8?q?dUm4jjFIEUvnYo?= X-MS-Exchange-CrossTenant-Network-Message-Id: 2a898119-3a44-4b47-231b-08d8eedb9bca X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2021 15:43:45.3771 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: wZG1u4rKV0LIawGl3is2QIotERP5/BRvYVqhwhxiS1snYI20Y6IfoSAmgvN9cb6zhruhzZZzSz/xonNArgbHKA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6062 X-OriginatorOrg: citrix.com When parsing the capability list make sure the offset is between the MMIO region mapped in 'regs', or else the kernel hits a page fault. Adding the check is harmless, and prevents buggy or broken systems from crashing the kernel if the capability linked list is somehow broken. Fixes: 91d898e51e60 ('pinctrl: intel: Convert capability list to features') Signed-off-by: Roger Pau Monné --- Changes since v1: - Adjust commit message. --- Cc: Mika Westerberg Cc: Andy Shevchenko Cc: Linus Walleij Cc: linux-gpio@vger.kernel.org --- drivers/pinctrl/intel/pinctrl-intel.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c index 59d13342caf6..d45a6994b2a3 100644 --- a/drivers/pinctrl/intel/pinctrl-intel.c +++ b/drivers/pinctrl/intel/pinctrl-intel.c @@ -1481,16 +1481,22 @@ static int intel_pinctrl_probe(struct platform_device *pdev, for (i = 0; i < pctrl->ncommunities; i++) { struct intel_community *community = &pctrl->communities[i]; + struct resource *res; void __iomem *regs; + size_t size; u32 offset; u32 value; *community = pctrl->soc->communities[i]; - regs = devm_platform_ioremap_resource(pdev, community->barno); + regs = devm_platform_get_and_ioremap_resource(pdev, + community->barno, + &res); if (IS_ERR(regs)) return PTR_ERR(regs); + size = res->end - res->start; + /* Determine community features based on the revision */ value = readl(regs + REVID); if (value == ~0u) @@ -1521,6 +1527,12 @@ static int intel_pinctrl_probe(struct platform_device *pdev, break; } offset = (value & CAPLIST_NEXT_MASK) >> CAPLIST_NEXT_SHIFT; + if (offset >= size) { + dev_err(&pdev->dev, + "wrong capability offset: %#x\n", + offset); + return -ENOENT; + } } while (offset); dev_dbg(&pdev->dev, "Community%d features: %#08x\n", i, community->features);