From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755680AbdEKRAv (ORCPT ); Thu, 11 May 2017 13:00:51 -0400 Received: from mx2.suse.de ([195.135.220.15]:34854 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751262AbdEKRAt (ORCPT ); Thu, 11 May 2017 13:00:49 -0400 Date: Thu, 11 May 2017 19:00:46 +0200 From: "Luis R. Rodriguez" To: AKASHI Takahiro , "Luis R. Rodriguez" , gregkh@linuxfoundation.org, wagi@monom.org, dwmw2@infradead.org, rafal@milecki.pl, arend.vanspriel@broadcom.com, rjw@rjwysocki.net, yi1.li@linux.intel.com, atull@opensource.altera.com, moritz.fischer@ettus.com, pmladek@suse.com, johannes.berg@intel.com, emmanuel.grumbach@intel.com, luciano.coelho@intel.com, kvalo@codeaurora.org, luto@kernel.org, torvalds@linux-foundation.org, keescook@chromium.org, dhowells@redhat.com, pjones@redhat.com, hdegoede@redhat.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH v7 3/5] test: add new driver_data load tester Message-ID: <20170511170046.GU28800@wotan.suse.de> References: <20170330032514.17173-1-mcgrof@kernel.org> <20170502084914.23588-1-mcgrof@kernel.org> <20170502084914.23588-4-mcgrof@kernel.org> <20170511101016.GE22134@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170511101016.GE22134@linaro.org> User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, May 11, 2017 at 07:10:18PM +0900, AKASHI Takahiro wrote: > Luis, > > On Tue, May 02, 2017 at 01:49:12AM -0700, Luis R. Rodriguez wrote: > > > > diff --git a/lib/test_driver_data.c b/lib/test_driver_data.c > > new file mode 100644 > > index 000000000000..488cc6e9eed4 > > --- /dev/null > > +++ b/lib/test_driver_data.c > > ... > > > +static int trigger_config_sync(struct driver_data_test_device *test_dev) > > +{ > > + struct test_config *config = &test_dev->config; > > + int ret; > > + const struct driver_data_req_params req_params_default = { > > + DRIVER_DATA_DEFAULT_SYNC_REQS(config_sync_req_cb, test_dev, > > + DRIVER_DATA_REQ_OPTIONAL | > > + DRIVER_DATA_REQ_KEEP) > > Are these flags always on? Ah no, indeed they are conditional on the config as with the others. With this kmemleak on the test driver is back to squeaky clean, I had failed to test with kmemleak on the test_driver after these changes, sorry and thanks for picking this up. > > +void free_test_dev_driver_data(struct driver_data_test_device *test_dev) > > +{ > > + kfree_const(test_dev->misc_dev.name); > > + test_dev->misc_dev.name = NULL; > > + vfree(test_dev); > > + test_dev = NULL; > > + driver_data_config_free(test_dev); > > Removing this test module fails. > > The last three lines should be: > driver_data_config_free(test_dev); > vfree(test_dev); Fixed, thanks! > > +} > > + > > +void unregister_test_dev_driver_data(struct driver_data_test_device *test_dev) > > +{ > > + wait_for_completion_timeout(&test_dev->request_complete, 5 * HZ); > > + dev_info(test_dev->dev, "removing interface\n"); > > + misc_deregister(&test_dev->misc_dev); > > + kfree(&test_dev->misc_dev.name); > > Don't need this kfree(). Indeed, thanks! Luis