From: Wen Yang <wenyang@linux.alibaba.com> To: alexander.shishkin@linux.intel.com, mcoquelin.stm32@gmail.com, alexandre.torgue@st.co Cc: zhiche.yy@alibaba-inc.com, xlpang@linux.alibaba.com, Wen Yang <wenyang@linux.alibaba.com>, Alexandre Torgue <alexandre.torgue@st.com>, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH] stm class: fix a double free in stm_register_device() Date: Wed, 20 Nov 2019 23:26:32 +0800 [thread overview] Message-ID: <20191120152632.6110-1-wenyang@linux.alibaba.com> (raw) In the error path of stm_register_device(), the kfree is unnecessary, as the put_device() before it ends up calling stm_device_release() to free stm_device. Fixes: 7bd1d4093c2fa ("stm class: Introduce an abstraction for System Trace Module devices") Signed-off-by: Wen Yang <wenyang@linux.alibaba.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com> Cc: Alexandre Torgue <alexandre.torgue@st.com> Cc: linux-stm32@st-md-mailman.stormreply.com Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org --- drivers/hwtracing/stm/core.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/hwtracing/stm/core.c b/drivers/hwtracing/stm/core.c index 2712e69..55c69d8 100644 --- a/drivers/hwtracing/stm/core.c +++ b/drivers/hwtracing/stm/core.c @@ -868,8 +868,10 @@ int stm_register_device(struct device *parent, struct stm_data *stm_data, return -ENOMEM; stm->major = register_chrdev(0, stm_data->name, &stm_fops); - if (stm->major < 0) - goto err_free; + if (stm->major < 0) { + vfree(stm); + return err; + } device_initialize(&stm->dev); stm->dev.devt = MKDEV(stm->major, 0); @@ -915,8 +917,6 @@ int stm_register_device(struct device *parent, struct stm_data *stm_data, /* matches device_initialize() above */ put_device(&stm->dev); -err_free: - vfree(stm); return err; } -- 1.8.3.1
WARNING: multiple messages have this Message-ID (diff)
From: Wen Yang <wenyang@linux.alibaba.com> To: alexander.shishkin@linux.intel.com, mcoquelin.stm32@gmail.com, alexandre.torgue@st.co Cc: zhiche.yy@alibaba-inc.com, Alexandre Torgue <alexandre.torgue@st.com>, linux-kernel@vger.kernel.org, xlpang@linux.alibaba.com, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Wen Yang <wenyang@linux.alibaba.com> Subject: [PATCH] stm class: fix a double free in stm_register_device() Date: Wed, 20 Nov 2019 23:26:32 +0800 [thread overview] Message-ID: <20191120152632.6110-1-wenyang@linux.alibaba.com> (raw) In the error path of stm_register_device(), the kfree is unnecessary, as the put_device() before it ends up calling stm_device_release() to free stm_device. Fixes: 7bd1d4093c2fa ("stm class: Introduce an abstraction for System Trace Module devices") Signed-off-by: Wen Yang <wenyang@linux.alibaba.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com> Cc: Alexandre Torgue <alexandre.torgue@st.com> Cc: linux-stm32@st-md-mailman.stormreply.com Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org --- drivers/hwtracing/stm/core.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/hwtracing/stm/core.c b/drivers/hwtracing/stm/core.c index 2712e69..55c69d8 100644 --- a/drivers/hwtracing/stm/core.c +++ b/drivers/hwtracing/stm/core.c @@ -868,8 +868,10 @@ int stm_register_device(struct device *parent, struct stm_data *stm_data, return -ENOMEM; stm->major = register_chrdev(0, stm_data->name, &stm_fops); - if (stm->major < 0) - goto err_free; + if (stm->major < 0) { + vfree(stm); + return err; + } device_initialize(&stm->dev); stm->dev.devt = MKDEV(stm->major, 0); @@ -915,8 +917,6 @@ int stm_register_device(struct device *parent, struct stm_data *stm_data, /* matches device_initialize() above */ put_device(&stm->dev); -err_free: - vfree(stm); return err; } -- 1.8.3.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2019-11-20 15:27 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-11-20 15:26 Wen Yang [this message] 2019-11-20 15:26 ` [PATCH] stm class: fix a double free in stm_register_device() Wen Yang 2023-10-24 5:01 [PATCH] stm class: Fix " Dan Carpenter
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20191120152632.6110-1-wenyang@linux.alibaba.com \ --to=wenyang@linux.alibaba.com \ --cc=alexander.shishkin@linux.intel.com \ --cc=alexandre.torgue@st.co \ --cc=alexandre.torgue@st.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-stm32@st-md-mailman.stormreply.com \ --cc=mcoquelin.stm32@gmail.com \ --cc=xlpang@linux.alibaba.com \ --cc=zhiche.yy@alibaba-inc.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.