Received: by 2002:a25:b794:0:0:0:0:0 with SMTP id n20csp7038486ybh; Thu, 8 Aug 2019 09:17:07 -0700 (PDT) X-Google-Smtp-Source: APXvYqwrIwcKp3wr8EcL72akAVv9iySPgQEroJqmiCjeklbWnPzQeRYVQcH34S2Knb9GB7kcR1Wm X-Received: by 2002:a17:902:346:: with SMTP id 64mr6273955pld.151.1565281027247; Thu, 08 Aug 2019 09:17:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565281027; cv=none; d=google.com; s=arc-20160816; b=i7CYV1U/Ho41GFD7ur5jbCDy0uWvBF+WgkIOVMHaNxQUJO7MZNdTGarsEw8t3Raz93 jR4JSeGE2mb2i+bKki7eBwQ3jFSvE1noXENiQTlE/eRa8zBp10ahYMSVWc0sguuyxI51 YZEAvtruoCpH4oV/RK5CxW0W6+ELdsyYyVEnRBQaHwcj8o7vqFYWUKRxKdwn2EnYwOYC 3jC1FrtYd+E4J2N9Z3QJ/Z86FxnDCPcInVi7ifZ8bZJGz31o/N3bmsu44Vu9/xINJGFc 8tcaHlZ7oQTv6dQ2PxhiiTcTfvA9RI9x1C6D4Ih/p33aTTtb5s1ODm5zHtKVZFDt8PUM H8sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:cms-type :content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:from:cc:to:subject:dkim-signature :dkim-filter; bh=+OFpBIQXe8AzTZ9E6Ie3xtaC1OJyOZwAOC3itL5oTV0=; b=WOPneqd5UMKmMfYdU057Yh9qqddWsnCniwX2a6gTpm7jcAvmeGGsM5ObyLNpE1OLUl dVrsCT4ssba7sNTdxLnekecQye0e4jkrnznMuiUQ3kuCiLkMWuapGcB/imfGMpqnZfSo 65sm6WnE9YRE5e8slkg1JxWYTOWltZZFOOa+cvSJ+NtDCd+WtI9hNQ38EJdLW+UKBLAf OD52fS3dznVG9IUih4hm6yNN+grEajDRQqgkz3Jb29KLep3JosqWBGrOSLFj0MDt9y93 j3F3esPd8X+podUyNli4cxCh1aqJPcGTDkhPovH1bmU8z6c7B2tUM5ENsTsPLBx7eaLS +Bbw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=VZ2SnT8j; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b35si49192044plb.249.2019.08.08.09.16.51; Thu, 08 Aug 2019 09:17:07 -0700 (PDT) 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; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=VZ2SnT8j; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2404137AbfHHQOj (ORCPT + 99 others); Thu, 8 Aug 2019 12:14:39 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:44243 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2404099AbfHHQOj (ORCPT ); Thu, 8 Aug 2019 12:14:39 -0400 Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20190808161437euoutp022ead9dbdc184772880e6ef0a1705575c~4-qpPRrur0076100761euoutp02L for ; Thu, 8 Aug 2019 16:14:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20190808161437euoutp022ead9dbdc184772880e6ef0a1705575c~4-qpPRrur0076100761euoutp02L DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1565280877; bh=+OFpBIQXe8AzTZ9E6Ie3xtaC1OJyOZwAOC3itL5oTV0=; h=Subject:To:Cc:From:Date:In-Reply-To:References:From; b=VZ2SnT8jTORebJ/D2T9+hWY+Lu2PzA8nVv0Qche056OZVAPvgzVjCU6s0gkKpTF3E tM+OBLxGZb0zcVPeUMpj/PnxP0XoEfGQmurCz62Zy2R2MgSaw0rZgjebVc0RSd/hGs YM7LoWpbXHi+ig2nbIlhlHDCIjHrG1QW9ChrdmC8= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20190808161437eucas1p206867fd1bcd75f38d00dd5ad3c0604f7~4-qodMYx23063030630eucas1p2I; Thu, 8 Aug 2019 16:14:37 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id FC.84.04469.C6A4C4D5; Thu, 8 Aug 2019 17:14:36 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20190808161436eucas1p115acf23cd4e2a7e734a34ade5e73080f~4-qng_Jqs2381623816eucas1p1a; Thu, 8 Aug 2019 16:14:36 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20190808161435eusmtrp180cb830b3dc83d9c1139e644b2a6db8b~4-qnSt-yt2552925529eusmtrp1k; Thu, 8 Aug 2019 16:14:35 +0000 (GMT) X-AuditID: cbfec7f2-569ff70000001175-67-5d4c4a6c7ee9 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id BF.A3.04117.B6A4C4D5; Thu, 8 Aug 2019 17:14:35 +0100 (BST) Received: from [106.120.51.75] (unknown [106.120.51.75]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20190808161435eusmtip103766fa9e2541b918e47f65c6014ad24~4-qm9RoJu0109701097eusmtip1H; Thu, 8 Aug 2019 16:14:35 +0000 (GMT) Subject: Re: [PATCH 9/9] clk: Overwrite clk_hw::init with NULL during clk_register() To: Stephen Boyd , Michael Turquette Cc: linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, Bjorn Andersson , Doug Anderson From: Sylwester Nawrocki Message-ID: Date: Thu, 8 Aug 2019 18:14:34 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <20190731193517.237136-10-sboyd@kernel.org> Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA02Se0hTcRTH+3kfu4qzn9PwYGE0ijJ8JISNHmaSsMSoBEMUq1teVHLTdnWp YYxSS53PHuLUEDSnoxJHmagQKrpqmc9MVMxCCE0tdRJmWm23yP8+55zvl9/5Hn4MIXlIuTPx ymROpWQTpLQD2dS90uudEBIave+nxUtmfjFPynpq22nZgnaCkg22VNCy/tfBsvXhRjKQln8d yRLJyzX9pNxoyKHl48NttHzJ6HGainQ4HMMlxKs5lW/ABYe4ofvlRNIPp9T3a/VIgzIdcxHD AN4PQ2MRuciBkeA6BHnrBYRQWBC06/NJoVhC8LG4EOUie5uj2LJAWFmC9QhW1iMF0RyCifEW m8gFn4WqkVrayq44DMYLH9NWEYFLEIw2VNvcNPaD/K4Cm0GMAyCzq87WJ/FOKO/9Rll5C46A xclOStA4w6uyKdLK9lgG00s5Nj2B3eCGpZ4SeDs8n6uwZQD8RAQNA/2EsPZx6Hm2RgnsAjOm pyKBt4H5jpYUDDcRaFvHREJRhOCDqepv6EPQaeqnrCcjsCc0tPgK7WPwRmsWCZd0gpE5Z2EJ JyhpKiWEthhuZ0sE9U5YNZTaCewOeVO/yCIk1W2IptsQR7chju7/u1WINCA3LoVXxHK8n5K7 6sOzCj5FGetzKVFhRH8+j3ndtNiMlgcudiDMIKmjWLMjNFpCsWo+TdGBgCGkruIJ9YloiTiG TUvnVInnVSkJHN+BtjKk1E18bdNklATHssncZY5L4lT/pnaMvbsGqbLrUqeDTuV7X9cP6kPb dlm699y74rTYNOqvMOqSGvsMlcZlbH7LehxIrpGsnlT7P2L4d8rZ1ge7q1tm601F4RnOQUcV GdEz6fONA3mT+WdIWdinzWPfFbdWjrBln4unlIaQg1FFadXBgTUvmz1B2neu9q52vO+L12B4 VqWuUkrycazfXkLFs78BXcUOLzgDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrOIsWRmVeSWpSXmKPExsVy+t/xu7rZXj6xBqcP6Vuc3v+OxeLssoNs Fh977rFaXN41h83i4ilXi3/XNrI4sHm8v9HK7jG74SKLx6ZVnWwed67tYfP4vEkugDVKz6Yo v7QkVSEjv7jEVina0MJIz9DSQs/IxFLP0Ng81srIVEnfziYlNSezLLVI3y5BL+PKtNnMBb/4 Kq7/XcnYwNjC08XIySEhYCIx8ctHZhBbSGApo8S6eUldjBxAcSmJ+S1KECXCEn+udbF1MXIB lbxmlJhyZwcbSEJYIExiwY1lYLaIQJDErz33WEGKmAWmMEr8f/WeFaJjB6PE/WVXWEGq2AQM JXqP9jGC2LwCdhItR1eAbWYRUJGYff4DWI2oQITE4R2zoGoEJU7OfMICYnMKWEi8/NwJVs8s oC7xZ94lKFtcounLSlYIW15i+9s5zBMYhWYhaZ+FpGUWkpZZSFoWMLKsYhRJLS3OTc8tNtIr TswtLs1L10vOz93ECIy0bcd+btnB2PUu+BCjAAejEg+vhrxPrBBrYllxZe4hRgkOZiUR3ntl nrFCvCmJlVWpRfnxRaU5qcWHGE2BnpvILCWanA9MAnkl8YamhuYWlobmxubGZhZK4rwdAgdj hATSE0tSs1NTC1KLYPqYODilGhiNI5ZtLdv7VeNabtuT+oZJb1YYLHnMyqD/xPbfnanG6VoH Tz2uPXLSWWCl1X23/z5X9jw4VSpyiEPT5krzrt9Pg0865bgz8hx7u1e+rsRpmv2FSxuPKfkF HRIt0ThSmCQa5n4ydf4Nedkzqwvit+ypSloR9qojsrk5b4noici9wQ+PLra99ENViaU4I9FQ i7moOBEAZ3mVnMoCAAA= X-CMS-MailID: 20190808161436eucas1p115acf23cd4e2a7e734a34ade5e73080f X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20190731193551epcas1p368ccad41a1dba5c32750b08d11e4b17d X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20190731193551epcas1p368ccad41a1dba5c32750b08d11e4b17d References: <20190731193517.237136-1-sboyd@kernel.org> <20190731193517.237136-10-sboyd@kernel.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 7/31/19 21:35, Stephen Boyd wrote: > We don't want clk provider drivers to use the init structure after clk > registration time, but we leave a dangling reference to it by means of > clk_hw::init. Let's overwrite the member with NULL during clk_register() > so that this can't be used anymore after registration time. > > Cc: Bjorn Andersson > Cc: Doug Anderson > Signed-off-by: Stephen Boyd Reviewed-by: Sylwester Nawrocki > drivers/clk/clk.c | 24 ++++++++++++++++-------- > include/linux/clk-provider.h | 3 ++- > 2 files changed, 18 insertions(+), 9 deletions(-) > > diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c > index c0990703ce54..efac620264a2 100644 > --- a/drivers/clk/clk.c > +++ b/drivers/clk/clk.c > @@ -3484,9 +3484,9 @@ static int clk_cpy_name(const char **dst_p, const char *src, bool must_exist) > return 0; > } > > -static int clk_core_populate_parent_map(struct clk_core *core) > +static int clk_core_populate_parent_map(struct clk_core *core, > + const struct clk_init_data *init) > { > - const struct clk_init_data *init = core->hw->init; > u8 num_parents = init->num_parents; > const char * const *parent_names = init->parent_names; > const struct clk_hw **parent_hws = init->parent_hws; > @@ -3566,6 +3566,14 @@ __clk_register(struct device *dev, struct device_node *np, struct clk_hw *hw) > { > int ret; > struct clk_core *core; > + const struct clk_init_data *init = hw->init; > + > + /* > + * The init data is not supposed to be used outside of registration path. > + * Set it to NULL so that provider drivers can't use it either and so that > + * we catch use of hw->init early on in the core. > + */ nit: This comment could be re-edited to not exceed 80 columns limit. > + hw->init = NULL;