Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752408AbdHHOmh (ORCPT ); Tue, 8 Aug 2017 10:42:37 -0400 Received: from smtp07.smtpout.orange.fr ([80.12.242.129]:26258 "EHLO smtp.smtpout.orange.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752070AbdHHOmf (ORCPT ); Tue, 8 Aug 2017 10:42:35 -0400 X-ME-Helo: localhost.localdomain X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Tue, 08 Aug 2017 16:42:34 +0200 X-ME-IP: 90.21.163.120 From: Christophe JAILLET To: rui.zhang@intel.com, edubezval@gmail.com Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH 0/3 v2] thermal: core: Fix some error handling code in 'thermal_zone_device_register()' Date: Tue, 8 Aug 2017 16:39:51 +0200 Message-Id: X-Mailer: git-send-email 2.11.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1531 Lines: 43 These patches fix some issue in the error handling path in 'thermal_zone_device_register()' The first patch adds some new helper function in order to ease the resource management. Maybe using devm_ variant could also be a better choise to free manage these resources. As it would be a bigger change, I've not looked at it at all at the moment. Also, note that this patch triggers a checkpatch warning about missing identifier name in function definition. I've left it as is to keep the style of the .h file. The 2nd patch makes use of the new helper function. The 3rd patch reorders the error handling path of 'thermal_zone_device_register()' in order to avoid the leaks. *** These patches have been compiled tested only. *** I also unsure about the right place for 'ida_simple_remove' in patch 3/3. v1 -> v2: - add some helper functions in order to release some resources more easily - split the error handling path into 2. One before a successful call to 'device_register()', and one after Christophe JAILLET (3): thermal: core: Add some new helper functions to free resources thermal: core: Use the new 'thermal_zone_destroy_device_groups()' helper function thermal: core: Fix resources release in error paths in thermal_zone_device_register() drivers/thermal/thermal_core.c | 29 ++++++++++++++--------------- drivers/thermal/thermal_core.h | 1 + drivers/thermal/thermal_sysfs.c | 29 +++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+), 15 deletions(-) -- 2.11.0