From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757442AbdJMByR (ORCPT ); Thu, 12 Oct 2017 21:54:17 -0400 Received: from mail-ve1eur01on0108.outbound.protection.outlook.com ([104.47.1.108]:34008 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753318AbdJMByO (ORCPT ); Thu, 12 Oct 2017 21:54:14 -0400 X-HPESVCS-Source-Ip: 10.159.218.88 From: alawang To: Pantelis Antoniou , Rob Herring , Frank Rowand CC: , , alawang Subject: [PATCH 1/2] of: overlay: fix memory leak related to duplicated property Date: Fri, 13 Oct 2017 09:53:10 +0800 Message-ID: <1507859591-2337-1-git-send-email-alan.1.wang@nokia-sbell.com> X-Mailer: git-send-email 2.6.2 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:131.228.2.241;IPV:CAL;SCL:-1;CTRY:FI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(376002)(39860400002)(346002)(2980300002)(438002)(199003)(189002)(39060400002)(6666003)(356003)(305945005)(4326008)(316002)(42186006)(107886003)(48376002)(50986999)(50466002)(16586007)(6266002)(103686004)(68736007)(106466001)(33646002)(478600001)(22756006)(26826003)(50226002)(36756003)(189998001)(53936002)(8936002)(2906002)(8676002)(5660300001)(81156014)(86152003)(90966002)(52956003)(54906003)(81166006)(5003940100001)(110136005)(45336002)(47776003)(46386002)(86362001)(106002)(97736004)(43062003);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR07MB1289;H:mailrelay.int.nokia.com;FPR:;SPF:Pass;PTR:InfoDomainNonexistent;A:0;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;VE1EUR03FT030;1:xxePKB/uCz8RaTA44Y/4GT/LS3PffmGSkDW3S7NsJibOEE0iKZOQpLzMsopIn7j6BuKcKb+bDSgtErlSumHU4V2nVHJa3TXlyh35+yAr1nGx2QqPvzDaE8Lsb/ZVdw/i MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a1893305-6fac-442e-cd2e-08d511dd4aff X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(8251501002)(2017052603199)(201703131423075)(201703031133081)(201702281549075);SRVR:HE1PR07MB1289; X-Microsoft-Exchange-Diagnostics: 1;HE1PR07MB1289;3:9tSeISIhK6ApbBJM9XYCubdoMolsYZaJcmwwfmbtqMzIh1+xvXFt3qkJ/AGmDvdusa6IR6QYIFCUrUTcLC9bqX5elgqmPrwDK5jfn88zAlQf6HhTAGK8Qd4As1WAcyAStKMkVvkalZ2vveYVu+/J/YSUWKjAx67U6+HFVaClU6QEtUSo1PEa4N6P/Cy99opjTbXV/ln6T6JcaDOVZHJ7naSLGIi9FvyrIkfHjr54NouAwPBW5m/vwsKCoszHUx8JvDvxXIv2g/ltilSsaJnFHoOp2zCrKNFDl0Fl/TBGXX18jsXfGa7vypi7Nn23MsSIdb4lSiQCgTy8wjBxX4gqpm+sw4bBsFfiS8FuYXU3yuI=;25:ef6gk64T5l84JgSo0BYpsOqv6b8RqZ32dXztabYxEJUlfXwCoE7xvhNk25QAbNYv5ejHC4zc7kjj6gLzpwNE0FuOwEjmlQXPE8yjyfMkluPoqJteZuJnbSMkwxd4XhfBT/e6KXjJ/N3ORkjWjAmCslLwLuKKTgiUKqFeO2LbzYfRHh9iMKqtLTjV+yb0f27tZBncHXnboHGq9ZnUMF8U/Br6eG4YturzPzT/v+ALUh8IG6NqAAwRs+CucP20lIqdLqrnjHJBPnNH8bMSj/FSuRT8jsCsNDhkwijxzZ9ENMbR6gaeWWDABnxRGq774C7cCvjP5X0xguqEDmET6qDQYA== X-MS-TrafficTypeDiagnostic: HE1PR07MB1289: X-Microsoft-Exchange-Diagnostics: 1;HE1PR07MB1289;31:uQgRsSMurGbc7JbfjBp2bXOau3ekK9WpA4NxXVwaXyX51xWNyczXV3HU1a4FJ3TIrL/gQV6gJoOSkg6+/dNjPPxmYspjYNn/FRIi/mTPvXNFc1RyVaUsMQrHiSrw1D5YtyNYmnPcreKFEGKPi5JSDSqTdrwVQeMK2LfraXe3b2qF2yCep+2+DUjbEtz7nViBbuWU1zOevDxpLu1Sx6lnN5oFA1wPKBsnSkYouTV+a2w=;20:y7QtLu5uiSIdteF8IxAHZRtTwqM/r0rSIlW40qzbYI/PRWaUvKTr4QiGYkfv2Lzn5HRu7XEw3n40qJkdoJs5ryKjOSwRvBAkot5IGOUF8qCUhZnEdhlYXoTu2yWs/Jww+//j77Lf2868UajCzwKU4rXtKQTiKE4XNGo53wI344OeIwO7gvHPMJ2dKZ7UAOvMeWzZD+CgB4/m5ZWJWPidkS6CLS75bWkMNf5DGKST1wxJd2wQ3c8BjAfK2Gcbt3iGp/g3W5nebcMyTzGYSNfHuh+eSa4M05DkybDYWr/X0DDTzTYqFLh2QgYnT/u/SyVSJWyrr/OYqunyJQSeEM1uBJC0slv/uIqTcSynond7ZbUc1+BZkQynl1KJNxseG1OIecsrgetaZ6zT2nBfiwGyxY+r0+slbFz80CVoSAzbIuK7iQKzv41U+tXmBv3SfKzaAYKRVsIOMY0yHv1i6fhfjYmKvEv2mU/GPY2tv1vSjxh6n0W0qE0WMlMCKAonKI/98jJG+Loq/vKRoyuO1UWkz6XqHM+BLAeCVF87Db6Q17NaabRb7nTjryj6dIL5vpp6MhKO/bBF7jTtWJsq1Wagf+ftkp+jYCHbXFRh1RdPd7g= X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3002001)(93006095)(93004095)(100000703101)(100105400095)(10201501046)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123558100)(20161123562025)(20161123555025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:HE1PR07MB1289;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:HE1PR07MB1289; X-Microsoft-Exchange-Diagnostics: 1;HE1PR07MB1289;4:rwlv01euHmapbMPwm24ngbMCzmhA0FkRPWhzXjV+OTD0imoLcxDUAYadzPXmeS+ies8Jeky4N317RZoAsS9WG+tcCAsCWN4PhbqlGua4XoK/YSlGRqVbTuPhiR70MxB5QauLPPizZnmWJJL75q4FX/10JiSZIJLq0kEjvdXtmB9d34gCFP/fxYLatMH7X9mBeA9RhhTjDteFOSe2uSTOUx6ugaKznRvMCUdMgPAGrFmdLt7DFmIgeBQzL4qEwMel X-Forefront-PRVS: 04599F3534 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR07MB1289;23:u/UuRIUKQh/tR65SlWAeEYBS8VZSb6ypcw2yhU5uE?= =?us-ascii?Q?3l3vpa2516j5G2jVE5kNqdYOdL4UxpeNgSm8IzPcMU1S3nWkVS12FNok3AAq?= =?us-ascii?Q?oZ+Qwi2URX7wkllom1SlPgW1+0Rt8GIv+SwCuu6uW37H7EHJwwxwddlVrhqE?= =?us-ascii?Q?36Vb70cBjfO7hWA0FQ1U/CPKczokhsO6PbDqZR+PQYSUDKxNHkdk3sm7Ksy8?= =?us-ascii?Q?boZL1mFCaWOYrkdzBVobd0MgKRuHBwR3gCSk0f5kC7uBaUeDrBVl/YOkL6+6?= =?us-ascii?Q?7NAoxYoWmIzUM3NhNSUxV639XGzgFb0m6uTbR5Nsn4GCdYiVszZuC1u+15ao?= =?us-ascii?Q?lANx2HHs35OdhDU6bCeHumQTxJeMXHrSOAMrS2ky/0oQwpkvaWGA9jQs9OQ9?= =?us-ascii?Q?zLRNo+yW/4PFXTTz0ot0t69EEy0FqNKg9DL3LAX4eCfM1nqd5WZ17Fn1bc5k?= =?us-ascii?Q?SLeOxF0eWK5Fcl/gzvBiBcAn+nQ9OAZ7+kHh8BTpcZ8sVHaB1Hgg1V8WY8CI?= =?us-ascii?Q?o1tISW0Np+XoSaz/lN7ZcdgfM/vov6v4aIVTmiv3NC+u4gcCi6tXJ8Aux7gA?= =?us-ascii?Q?QPFdpOikK+F+OhkDLggimfE0TFJpKetWcaPHfzav7XAcnFL52R+0RHnS3PQH?= =?us-ascii?Q?MWAddHMMV0P6APLesxRrxyWOD07PP6t7YbJ6wak5jWFXUFk3poQ+1/yOomNL?= =?us-ascii?Q?Yiz/wKRyu1CcBrDmSnZE48b0kWtEUXVOnwfEtfUIEN0GvcApviDd/PS/8hLc?= =?us-ascii?Q?tm6ddlc5O+TQEGrR4r5dtz95Gmnzdad1xcqvogPIAej/IEor08RqLtnOuMgA?= =?us-ascii?Q?UCKTaAe6pCVC4teZNFRSaAcFj5BfBF2GFDfZxwaCDxkFa5/l/QesTxG1A/Dn?= =?us-ascii?Q?xekBymn90lNrrWl5O1kVNRRvi0rC7uejrbIqabv3m4ZIHIn8vvrhGfMSHKN7?= =?us-ascii?Q?ULAd0mCd7S7xGVhgy3B+qb3/lO1VjlFVzGK2b2Xeya6xBBhgOyVF4h0gfdzw?= =?us-ascii?Q?It/d2qB60/RdbxC/b5qIEoQKB0PsAwINtoVgX3x1cZCehxHLYNNCVM54apx/?= =?us-ascii?Q?cRrd5iSUtFtI6aGQapqeWCBMsAeiEzvCUPW8rL5RuAh2GwQKVZaYhLqwY/bO?= =?us-ascii?Q?ANasj4tWJVeT0wmPMWxxsTDT9KqUqGkJ4hwP5LFQ/jrUvhMrjy000Ny67KU1?= =?us-ascii?Q?FkmWp4zN3uTXInkZHNh6POw517DPu+OOBoB?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR07MB1289;6:GNb0VC45372coATYfbSrFH4pJYxg5p4lQYJyJYPbmmthKDRWHR2KrO9t0aN1FEWZZPyKUmj+dQxDu1ZM+XECEOYGUna7gKH1oZTG7KOva7RCZ/4YF9EKbaK8Y+ZbdIhWonnhvbV85vvU+We9MC6AhuDSnfTj3E+jYWLq98ktlk3m2ikA/SHEki6PMXYsECnhc+Eedgr4dhli9q50qTEqehgWMUSm6aCsbQ4PctjL2VEks/3DYrf4B9XvuflOkOJDeCoc/gLIoBL2PufbHJHoUljSWIJLF29ysK/2srhsfm52xNgoAvzTDo2cgn/I9Cb8xwKLkVdt1i7gXs2Leit8KA==;5:DtfO6T+iXjNLavbtHfBIOx+4iwKVJFRlmLnqXDAljRgvb7eleAsJZiD/pn9nENr9JHXNOPIisAVPIZkdkCVa1hMdcbK/luCfWGR2qtX98Ei6fQjH2dQ/LFe4mKbATZDRQOnim4Iwl01VkUQz0hk7eQ==;24:0sIglwT5txLWu07QPXzYF10T2cmqq/QeoOudObzu1Bt1HB4qufMIeGKistiRvWv6ZzF05BBiThKyy864jxtLdO6924ut190k6CXc1UP+a/A=;7:9N+L3MuimkNlq5vI8oH9AHM5bHjYhfWayPOjQz788JFL6yLtWL4vFNS+trPpkOs0U3nDfhLzcJQD7YfBWC4uxXh6RwvFR7lZ08G9xXaYuyyJCuZTflCvrB4fWhjnNigj++JX+chVkMdpoKSk+5+qqCeWeS8t+CXoCkz3XI1twG64N1gq5xC4gNOipWfG0UTNIPDPn/MEyhs3YDLnCNuQ4jjRAujSLQtoMDlZhx3+R04= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nokia-sbell.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2017 01:54:08.4172 (UTC) X-MS-Exchange-CrossTenant-Id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5d471751-9675-428d-917b-70f44f9630b0;Ip=[131.228.2.241];Helo=[mailrelay.int.nokia.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR07MB1289 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Function of_changeset_add_property or of_changeset_update_property may fails. In this case the property just allocated is never deallocated. Signed-off-by: alawang --- drivers/of/overlay.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c index 8ecfee3..af3b9a1 100644 --- a/drivers/of/overlay.c +++ b/drivers/of/overlay.c @@ -162,6 +162,7 @@ static int of_overlay_apply_single_property(struct of_overlay *ov, bool is_symbols_node) { struct property *propn = NULL, *tprop; + int ret = 0; /* NOTE: Multiple changes of single properties not supported */ tprop = of_find_property(target, prop->name, NULL); @@ -186,10 +187,16 @@ static int of_overlay_apply_single_property(struct of_overlay *ov, /* not found? add */ if (tprop == NULL) - return of_changeset_add_property(&ov->cset, target, propn); - - /* found? update */ - return of_changeset_update_property(&ov->cset, target, propn); + ret = of_changeset_add_property(&ov->cset, target, propn); + else /* found? update */ + ret = of_changeset_update_property(&ov->cset, target, propn); + + if (ret) { + kfree(propn->name); + kfree(propn->value); + kfree(propn); + } + return ret; } static int of_overlay_apply_single_device_node(struct of_overlay *ov, -- 2.6.2