From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751858AbdJPJ4w (ORCPT ); Mon, 16 Oct 2017 05:56:52 -0400 Received: from mail-db5eur01on0118.outbound.protection.outlook.com ([104.47.2.118]:64336 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750914AbdJPJ4u (ORCPT ); Mon, 16 Oct 2017 05:56:50 -0400 X-HPESVCS-Source-Ip: 10.159.218.88 From: Lixin Wang To: Pantelis Antoniou , Rob Herring , Frank Rowand CC: , , alawang Subject: [PATCH] of: overlay: fix memory leak related to duplicated property Date: Mon, 16 Oct 2017 17:54:32 +0800 Message-ID: <1508147672-58291-1-git-send-email-alan.1.wang@nokia-sbell.com> X-Mailer: git-send-email 2.6.2 In-Reply-To: <1507864056-52089-1-git-send-email-alan.1.wang@nokia-sbell.com> References: <1507864056-52089-1-git-send-email-alan.1.wang@nokia-sbell.com> X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:131.228.2.240;IPV:CAL;SCL:-1;CTRY:FI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(346002)(39860400002)(376002)(2980300002)(438002)(189002)(199003)(4326008)(106002)(2906002)(42186006)(97736004)(16586007)(22756006)(356003)(68736007)(47776003)(33646002)(76176999)(50986999)(39060400002)(5660300001)(110136005)(54906003)(5003940100001)(107886003)(52956003)(478600001)(46386002)(48376002)(50466002)(8676002)(86362001)(6266002)(81166006)(81156014)(90966002)(6666003)(53936002)(103686004)(8936002)(189998001)(26826003)(2950100002)(305945005)(316002)(50226002)(36756003)(45336002)(106466001);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0701MB2969;H:mailrelay.int.nokia.com;FPR:;SPF:Pass;PTR:InfoDomainNonexistent;MX:1;A:0;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;VE1EUR03FT032;1:kaYnP6fOfbitASWxMXIrgo/0AJue9Ng71d/elEZgRjatFu4ZJgs/ne98nu6EbnHgNEhZDtVaL8e4mN3moxeFK6pVMWUSR+ojJKoiMF13ZxXNS4MhvmYzNXgMtcCVG375 MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4018b3e1-7f15-400a-c0e0-08d5147c347f X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(8251501002)(2017052603219)(201703131423075)(201703031133081)(201702281549075);SRVR:HE1PR0701MB2969; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0701MB2969;3:1oMbdqHjHsbtRzPxzjeZMlgATtiKqjYXmNuL9P1lp6mlOpUxeFM5o0AkxkaHS+5DsQXlDG9KN3fUxcAWxBkKfywr1v3CKXkU5OqNxSutH7uBXuEVz+eg0cIKARqLRwYpsepk55blld1HEwWAFBYeyFEDCHp/ZLGUC0bn112rdo5/QcD0t3XrvuPULsCwVOiMme8mFx0lDr10JYdiFPle/UvpwFu9M8zmuUUhRSK8A2z65db1/vmI2UywGsCS2p6UU7GFfZlv5lFktKfevFWq06EB9Ezu6niejBHH+DNhe0tKudSiUAGcuz/2Z0oaY/7sTJlrayvf01ugVfPB86POURS2eDnNzGP1AmpvA4NLN7E=;25:6WKFDeumSx7G756pf3WAnUw55tGt+LNz6ZKdz0XSGzx+9U6djRWEHlvaL7bGcf27bsH2TUzuDq5BgsNVwl+F6CTv24dJ6/tokXCWVXlsMzVHIG/n6rwDPULx0NplniuIprIW8yldw2jJbZ/jMTJYiG/8nzBAY6yNTqRP9awd5MkTGWzFY1kh5Z28Ub/x5dJuEsa27jMA6m2Om2eNlq9u5z11ZCqWcNJzDIWBAVVCmUrkjVzesgkkFe4VQhciRTvcsNXVOx+F8EaGVip/i1cpKzdrmNsT/a6xSc58QJdK8fdzMUyod4rkSOtEZ93vMlAJq5mXio3tIXLhshtmduwI7g== X-MS-TrafficTypeDiagnostic: HE1PR0701MB2969: X-Microsoft-Exchange-Diagnostics: 1;HE1PR0701MB2969;31:1wtTF69s6dTNpfD1LEnHDtFA6ISOawP6S6PICmuYLHuxnkSexUrgGqBDB9V4AZeN2bh+zhrlK0tQMQWa8wc4Ppr77QFvHvjzL8UkC4w5n4TKbuQUGXiLye/S+7mBVY0qxKSikKOw9TuUuIJWP9jXW0ASI7vh4/AabRyMcRUXMyZKvl7Plr3I9HWkRLN40xuCmASfxMa8E0nWWdrta0eG8jM86YrjRJ8+1rS+yTj/KNY=;20:G5ua4FoLEptufdOlId20sttXxajce2zHfSjVIaz1EnVApMb762+cTRishzaFQVEbraL+h2VsCmG5fs24m0kxkuC0vOZadXI7mxZ+ysjA+jAqwFrnv79ljIizsUdpeoy/E2VaoUC0BghIMxBErxUJRWfzH4SpK5rz1nlHsOeYDT9xjtP1PF3BzgrzCyVFIvJZGHx9ZkhpuYM9NDMHtJRlysgUCC7UD3azxZK6ssNcsitXVDr1Hkpl1caz+ZLeJUhTHgwlgUejFE15ETSq3ND2uzeNtArRcv6dm/n78DGmdtoczDc09wlzC2HAcU0YTiU8HNuqKBCYWEQbw1aKh2DsaNWXzuKGCuofuLY1A+ZRWTo7WtVjSZaTikbFF6zZymjbrA7x2q3RTSfM4D2DS6BMpWLQBnMb2M52N37PUsCnlOfbv/yqBxZvIJlnU8UmOUHMKi1U8/IHo/LoOF7s3Ab0vgKKH7aEAQM/7SWOJGUYKECjZZmm5RAarUs+S4qoB0IbVwhZhUhLijWpjEgn8V05vVsGK5Yn8HNLAYqyjfZ3n2ugzyVmsLs6jiQYqqPonopM5z+v12fxLddivVdSFfG8MhNLZD/QtPvxMygrs/53mH4= 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)(5005006)(8121501046)(93006095)(93004095)(10201501046)(100000703101)(100105400095)(3002001)(6055026)(6041248)(20161123564025)(20161123558100)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:HE1PR0701MB2969;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:HE1PR0701MB2969; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0701MB2969;4:Y1A4HAnEkjb81Weak+tG6r1Tt2DPFdJgznjyX3fwi+JKivMOYToftMD3NyNhIQ+qhC+QN4M2A12nHDzpaOo3mjsM322D26S+IFV1k3kC8340DKPvOKHsBuQjPMKCMYNOnGwIRS3Nbvw5JizH/nVMwvY1DdCZvpXz5sNj0Oz4OKlBH5hG3OA373n0X3ujqxpIvyhF1/4tr95mCOx4sGhYHGxJpIAn4An8q/G8yVArwXg/R4aC6L/yIa9EnjC+sfM+ X-Forefront-PRVS: 0462918D61 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0701MB2969;23:u3M7tjfSTmEeCiY/RUOt4kC0C1bPd66Pkz6lJqo?= =?us-ascii?Q?Tdfb2+61uyiTQhEXXV3VB6q/K0gd2EZ9L3iarOiJCiK58SiLe45kA9OkNGVR?= =?us-ascii?Q?CVBoWuIgQGIcFWrMN3BAtR4p6spEdjpkYPyTeMKp5GQNRYJKpZLhmC4JZzpT?= =?us-ascii?Q?cEmdo8OeNIuMJ7r8JhRt3Dv/wZlWBTxxzsctqmxJZZJuJG2KpRJoH+u0JsIf?= =?us-ascii?Q?Mx8FIQoac4Xh22V4gk4nCB7A3t9R5QHsSfxrVOsClhqAwH8hyv+Fq1EywZZ5?= =?us-ascii?Q?XnvYxD941nsnPnOcEc4stYfGVhiQZ0g3ROwn8uJ0W7SKXk9hNyo8umDc7llP?= =?us-ascii?Q?JXD9kUqpOrtZJRuNdfelmRvHJQiLAEGMoNIR7okA1BIc+ppmFLlQsqtP/5Us?= =?us-ascii?Q?Onx/I2mbiPngOJISvdKPZbX2i8e3v07efOb4ZMTMfTlarM2LX1GhLJtisGu7?= =?us-ascii?Q?f+CugyMENmqOE46uqVRC+bGmZgupxqh+gDRQoKUtXvdKu9NaTVY8bbIZqrAY?= =?us-ascii?Q?o2/JHEaIwvuEZg7kpAUTxDrobvf1QIrZvgy5JQbA1OqAzmeStlhbNtNnzTTV?= =?us-ascii?Q?4RWsiAINb+u0DfR6CrgUFbIQ8mw5HpPX2/IZaioV0/tYZz1pzr54GVJ0Ujqr?= =?us-ascii?Q?mBas2nLQYkY+crMXlHwek218EIdUzvzlyO6c6521VkBTBmM7WRBt4Kg87Ebr?= =?us-ascii?Q?ZwWeCxfHXyN2S7sbmEiu2zA/Q1Z/rgWIDn62hJ9FUte8u2E8fKCrC9+jmaSu?= =?us-ascii?Q?mJ9I40PD7PanfnVZB13ol1aqODNzPMEyDnLxVgj6csCaqSYZEIxL8nEth9nK?= =?us-ascii?Q?Kn1Vfsq0to5E2K92pSI18dwQk5j80IpfHCeMlxY2TCJZEBEhOXnVV4c5P9Ab?= =?us-ascii?Q?UgH8J/EjkxxdI0gfd0nHQ3rHg3ICT3wBMBg2Z40zxHIKHkGlAQPZ5M/GivVr?= =?us-ascii?Q?Fya2kP0gs8l9KIetWU7x3+1pP/9a4DYNlb+Wjeghhkb2J7OU6COFNfscWIHR?= =?us-ascii?Q?xI6F67CPiOLHMj8THvzmfZNF7mbSlgO35W9zdvxK+0gJYCxbIoNM0zEcaiA3?= =?us-ascii?Q?THOtWMm3ApmyqYHvC1QXZB+BAeehh0/nzlFTDjLy7cUGnW70DsqZaA0NGc96?= =?us-ascii?Q?6kLH+eTUPob1GAH/3xhK6JCRsYrZwU6ixE7hQroFtOiEZQhTlvAbK26kSLHT?= =?us-ascii?Q?3jH3bwcv17OV/iR/OkyH/JXtnUcFZNU/IBWXm?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0701MB2969;6:pwP7o/9dGS0maP8YBeW4NC1g/RYmgyh8y+K4sks26fhWp5BBOoOWTM87yLkvDGegIykNqXW3cXhTYxLNLvjL07+7P0FOjWPAOksA+oF3+EMIZZS2ijquBv54ipb1rw0JDnFvOgngYz5H8zjUBqtll4qW6R/IguptTds/zu2OvRagLKpk1cO55WoZBQXerLatpCC+R4SjBrbz5x5OIjMtqaV/goLFUPaA3rHub8x8gjd4TepOfb1KHzNUvxEO8WKuuY9+twLltBErGUtERAXKTBi+l8jSljxZOLzWaAaJPX6l+XiwDpw7nVRzbLSgsIUZ21aCCIosmSHEq4ppDNU8qQ==;5:yXg58QHPagbASezxTu0VTiVfiToBhMbmbcZYPfamJ7S5Dn0TPfcZL8/GCka0J6dACRUb/w1aJcKDYdU4D//la2AjhFjvHONqiugLTl23fZm9kJMyg408ZaFh7tQXfu3JmEu+knxCb5o2dduIjfo4bg==;24:ugywWKk7oAtpYPF4yaFRt6Bv+olRn5sNy2ZGTiDMNcc6uW0FNxLx/dWICiiZFS6dZO0FSx7/cr+FywFe9KjjVzDw/0ivxDhECXTLj7TPa60=;7:4W6t4oB00VvH3azSnI68BUJkxsOCyu1gbQ27sVF94DCrw1DjGjd5miXox0I3XVn0tXti9+G9zwPhHbgdzhmp3r31MMty2hLQ5TtmZukYp2az5apOWnK2yRqztdmGnU1z9ndcmupkfBwZh3+O5GtUpXIdFXI1amEPFSqbYiKERVbsUCq7aPGFlZv9DPiY25nDa56A1EnPyjWhDBkGU2YYLb2xo0CZOm0TjpOednpMxok= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nokia-sbell.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2017 09:56:42.9726 (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.240];Helo=[mailrelay.int.nokia.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0701MB2969 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: alawang 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: Lixin Wang --- 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