From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757726AbdJMBoB (ORCPT ); Thu, 12 Oct 2017 21:44:01 -0400 Received: from mail-eopbgr30107.outbound.protection.outlook.com ([40.107.3.107]:8832 "EHLO EUR03-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753427AbdJMBn7 (ORCPT ); Thu, 12 Oct 2017 21:43:59 -0400 X-HPESVCS-Source-Ip: 10.159.218.88 From: alawang To: Rob Herring , Frank Rowand CC: , , alawang Subject: [PATCH] of: dynamic: fix memory leak related to properties of __of_node_dup Date: Fri, 13 Oct 2017 09:42:47 +0800 Message-ID: <1507858967-40416-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.240;IPV:CAL;SCL:-1;CTRY:FI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(376002)(39860400002)(346002)(2980300002)(438002)(189002)(199003)(6266002)(53936002)(8676002)(68736007)(4326008)(2906002)(86152003)(39060400002)(47776003)(54906003)(86362001)(5003940100001)(97736004)(103686004)(5660300001)(6666003)(90966002)(16586007)(26826003)(189998001)(478600001)(106002)(106466001)(107886003)(316002)(42186006)(33646002)(110136005)(50986999)(52956003)(81156014)(305945005)(81166006)(22756006)(356003)(8936002)(50226002)(36756003)(50466002)(48376002)(46386002)(45336002)(43062003);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR07MB1291;H:mailrelay.int.nokia.com;FPR:;SPF:Pass;PTR:InfoDomainNonexistent;MX:1;A:0;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;VE1EUR03FT003;1:tbCTscEy8jcX8gSnpTHP+sfWNcpdnfa0eS0aJwn74fJsGS2iSmSY0kjRh2gqi9lCA5fNMwbQquwFmC9bk8x9BYMahq6eANM21VleoqzbQWtYGtiJMvbeyVub/ICEanz3 MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c5989ac1-6c5a-4462-0752-08d511dbdcea X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(8251501002)(2017052603199)(201703131423075)(201703031133081)(201702281549075);SRVR:HE1PR07MB1291; X-Microsoft-Exchange-Diagnostics: 1;HE1PR07MB1291;3:O89eygGgoHytIuDJvLV1AGxh5EgJoursqmFDufB5LaRR0KtF3lIbQTyPK6ts2Wu92l/nw89gkDeun2xYbA33H0hp0tKalc9bjaz3KsVnTNk0gYr3Fxw3E7rUv3Qhgr+/MydPQFtJehUE7qY41RiC70dAcGD0tEkreVc5t8vDYbMwm5Xi/6Ml7mOH8X9uca9CLlwcwhQq9OEo8JRJAEz0gvBlKvkifUqYvgJfQDokc8fcuSb7dhprLFGeBHyPizuCfFG43/RCmTo2KSywP2iWQO++h8YLMHqHubiuLT8sSimbcpRm9CADk7Omp/xUKXGh0EQKCZLxHdXXwBGyRWv+OnM9BM0olSP5T2Mv3VLZpbo=;25:a3CvGrBugtF1EAOBQoLyUNtfwzZZ1FW3pTfj3w55Y+K1EI53rYwAdeDOv6or2LICweu1hBsXzSUPuy4kHQ5TEDZgRIY0OMI/NlkUliMSAejj3/QEZQW8K+osMf6CUEG1W7SVfSDlWewyp6dMJ7BUwE86Hp9/c6hXtx6bQTxZ3JSWhfPZab0x6mBugLgkwrkOy5ito85KGiwWFhwibTVrqFcJ2bT0NWgYSYmOhkK9bB3J3cxTxi9xQ94iqIGLtD51djOjKF2oHC76J0yXBwzgIk5zjg8I0BiyOKegqMqHdiW8AfZ0WQvFbhhKnfVhdF8yz/LyAorpoP38ajEwNmFxYA== X-MS-TrafficTypeDiagnostic: HE1PR07MB1291: X-Microsoft-Exchange-Diagnostics: 1;HE1PR07MB1291;31:+4FkA3exTYSrf1KBpiFwWHeW/lMYtbfK8XP6jo68GN+4tdA5aMEQRSPD/39vjBmRlqh6e2ABV1QiTPgD9sqrRyVh8TQh5HNVvqDtWYjs/EBMDzLNtXmmuyusZTbIu8HeqdUcJDIqIrx3Nw0MBNCKXgfPkFpYafIqcCEqyvfwWQsm4MMieyxy+HjBlS3EOpLwGnxt3YK8HW6lzbu6r37PAR6eLMHfzBK5B5kSprsTd5c=;20:hUw2h01ShQE/YApJXDvdgKnDjcqCtUPwO+hAjOmaIrx7TKmuq2YkyblJYjpFdBsvPJsRuJ+Fpcj6OglVD58mDvmT7/ohjRVmFMxth/OKlWMVHFMxlkXsh0bo6mYQaUVRMIuGPxNm+P/yMUHiIh0um3KqN08kJjSjTAssiba1vhTpBdMP8u9zaXJGSmAZu9NTRNuM0CtYzsPlcfw5rDvRgkx5smdduydZv99sf7bqbrqy3lSEkSgL3YU8wnoRALsupXyKzYicTLQvPBi51c/Z4lq88img9ljR+5kGxfXwqKf8A8Ab/SvwViFPY3YWfmJKgXayH2G6IyPMMB1Zl0Zy4zYjhrY3ZWZmOBjUCft7tZ+g9gKv1d2QpmTv1ldYaSzsoNbFaX1DcIo5gwuDVe5irgXktHgRgFqF/BhTh64+dbs2myJioydg+bMO6f3SdlhEIqpX5EXqNV6UU3bT3pr7jYlMhafLa+g7MjtfRjFlnYebYy4x5ihN3IbHynaIVkhLl/H/7kjI/ZdUAWVW6H7FkrhYWbAZWJ1fK2kHyVPVOt8ng6Sk7Vr9D6kGXJHly1LMCRd4wHyPG6zaSUuB2N+TgKZlX0Ug8L4m3g54YF4RE5c= 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)(10201501046)(100000703101)(100105400095)(93006095)(93004095)(3002001)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123558100)(20161123560025)(20161123562025)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:HE1PR07MB1291;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:HE1PR07MB1291; X-Microsoft-Exchange-Diagnostics: 1;HE1PR07MB1291;4:IrpYRoIYlUBvVibHoIecJhtOVXS0WvO0RZh5LoGmShA/7zCnj60gcJuHG+JOY0KgTY3bSiGKC39Fd6b6MV2xOYk3VdtaF1tAaEXHyoKzNO5s7HHKF1R54zJbznjbsEnr4c2+D2JnTxhtQOEOQIvFuADQ6X3qPp08Ei5DHfAeJ+uHtTwBQRsvyJShah6ifr1F73+Jv4hIKZCvTqldPyTHg3EQ8oy+wjaotmo6DWHayQH+m7qxhFADJ/RnQxSz3IqT X-Forefront-PRVS: 04599F3534 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR07MB1291;23:9DyQueW0LKYgXEik8hxGdRDLzKZ58dYDm/nRaOyxp?= =?us-ascii?Q?Yh7x8V0/7UcpKYJ6IORMSEYKkHe5vTH+kWs5w5N8xemfokwstvpibNbomH1B?= =?us-ascii?Q?piwu5J13gPwItmqIZM9iTbHlbj1jjDv4odCzE440RNVsUXM0ARErD7EmgtZB?= =?us-ascii?Q?pLFSg7/QZgnu5tcnk245d3g43FxuY9D261s53htTBiRwT+dfOkPx6ts+b9zS?= =?us-ascii?Q?9RniIgHrtuU1E6hUJssZu6BbqwoGantGEE1vk29UFLZSN4LHrSRlFMPe+92R?= =?us-ascii?Q?KTqBWC7mIdIFKG7uqQPkQVaA1P3tC+La94Lz+Kv70ZzRdAgMgVWq/VQz4PIY?= =?us-ascii?Q?8+wxbdL3KkgVd6sbpZH3e/qWmhcbDSR4nGrzaqDITDLAX98cBY1C1WhFfznc?= =?us-ascii?Q?HsLGKgAOADnTwW4GGgiYHhM9okrI8cVEhzX4igtRntECsvLs4Bh1v9bDPrsz?= =?us-ascii?Q?xmrEll0Ffazw8qcA850FgsACV64Jx2/zWkCsf8uj55Y+HGnX1DFBk9kPB6kp?= =?us-ascii?Q?9q1VIqFhJzrXmMtZTteRWDmriuDOn9Ucx14GaP7q+ehFdYnh7xSwmMrAXias?= =?us-ascii?Q?YNcTES7VNzChgWSj5M3Z2YGCLZqHphzHbAPzu0xDFfSP8tyxA0sRHj7FCHpO?= =?us-ascii?Q?VkVYNFIM6hIoi3fRORKT7RmKVduSUemiLln9C32WLpy0wBWhY5vrb+MxazbP?= =?us-ascii?Q?Y2vn1l6bZsHAEoJAMjftLeZHTzaFHviXUIP1DOWvmDwrh5oQm5/U0KEhUvJ+?= =?us-ascii?Q?apnJoefKjnGqrK8M73A1NMaWFAbHcsDUn74Bmin6xShnHvywQ6KuIHj60qfs?= =?us-ascii?Q?yR9w0wtyX3Gbe7B8TDDZsorczXaZ75f01aqRb0H6/ihYHlqOn6QVB5Ml8ORl?= =?us-ascii?Q?Zzjdm8s8toCfQ9uoILg9nBg5DkuYAaJ2217oDse6DsOPK8uqUioxu3L6wA2R?= =?us-ascii?Q?gTcfjwanMZQPjIAOtp6/iQBFB/QbcgNkFAH+cCgdaSiaqL0pKJUM8kQyNQI+?= =?us-ascii?Q?c9KZAg+s23cUUORMCEj/9mc0nX3DIp4NroRymT65Dktw9O3NVKFGWT2KnVhn?= =?us-ascii?Q?nb/OQXijP91ZWoffecnOu+u8oi6ALpSJO2cVkQAm/g/TcBhXGq88dc8oqUJS?= =?us-ascii?Q?MmTDICm1Rd0GSiK13vs25KmOIByeutUZhsn30zNTEeyn1hz2jjeagvfounyX?= =?us-ascii?Q?wqhMuZ3nd/XCbPzuo/QC7xY7D4WdXO6IDw0?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR07MB1291;6:TOjJyhMaKJMDwIOjqgQgcGo7ghPls11hnzzIzB/ln5EmTpIu4G4Ha1Z+lzD0ugG2EWIdPGhHIl/6hsy0RF8iQ23/QhLAvgbeDVOFoFInlUCqt0dwL1YcitsKzkIfRo2wzz/J4apJPFXpyQ3Gtw4iDTBtQwxi6CRtT1nL1nq/eSzC2hgf01CfCGjGtFzAYJiYY43NrpcBIjUn9ccsx8XmJDpV+1+tkgSRxJSWdf+g5x1795lLO8RN/LPB4USuIZlDxQx/rrK/Z2L20TPf/tEoIYHjcDgzFRDUmSmulmBKefiBVSt64r9VXjdiBfhvwjC/738jx/muwECzPrC4nj6trQ==;5:rvu9Vs4e/D0/XqPuC/VQ7D81jtVWGlyl+60JsXwsbgcV1u3I+Zzbg02T0gytQ8UHQnaIKrlOA1fXzeJl1o1uzUxBl4FK7QttAEelhVZB/VcBxTgN6aMEXc3rgpH2IfpAlYV5jTbweSB8kUyZWWno+g==;24:0km4e66pEKtWKz8C+e+irjjnHf7DCJ/2yRn7mXPgOTPx7eDPc5lR5X02QrEP2xaKRbgB7e20s/zIr/G7rKyfFuPGjqlol6hG03eYdQdRIVw=;7:U8G/Dce5AUaz7pDRRo9D4EKgmy25OjJP9xWE7yOKAXgE1fe8AUoF7x7QcQJG0ndgqRT4e6VfG1yrmR+p0TlvWP6tMDL4IgjVDFMyzT/EUrXG8wRlxcOYPsP5cDlgODjFtowfwGyeB9VMmvjZ0GvNkcYjmtxsKdP1KU+sy6+WUCKH5R9GrvJq+bubRHAQc9/cC5SOhrnkWo48lLwV5xnpk7CZutdYnKUIUCfwprj03PE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nokia-sbell.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2017 01:43:54.2596 (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: HE1PR07MB1291 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org It is possible a node was dynamically allocated but without any property. The properies will be got from devices and added to the node when devices got connected. When release this node, all properties of which had been moved to deadprops. In this case, the properties in the deadprops list are never deallocated. Signed-off-by: alawang --- drivers/of/dynamic.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/of/dynamic.c b/drivers/of/dynamic.c index 301b6db..465d43b 100644 --- a/drivers/of/dynamic.c +++ b/drivers/of/dynamic.c @@ -335,6 +335,10 @@ void of_node_release(struct kobject *kobj) if (!of_node_check_flag(node, OF_DYNAMIC)) return; + if (!prop) { + prop = node->deadprops; + node->deadprops = NULL; + } while (prop) { struct property *next = prop->next; kfree(prop->name); -- 2.6.2