From: Jani Nikula <jani.nikula@linux.intel.com>
To: Xia Fukun <xiafukun@huawei.com>,
airlied@gmail.com, daniel@ffwll.ch,
ville.syrjala@linux.intel.com, lucas.demarchi@intel.com,
joonas.lahtinen@linux.intel.com
Cc: intel-gfx@lists.freedesktop.org, xiafukun@huawei.com,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
rodrigo.vivi@intel.com
Subject: Re: [Intel-gfx] [PATCH] drm/i915/bios: fix a memory leak in generate_lfp_data_ptrs
Date: Tue, 29 Nov 2022 11:50:43 +0200 [thread overview]
Message-ID: <87fse23x8s.fsf@intel.com> (raw)
In-Reply-To: <875yf35tx1.fsf@intel.com>
On Fri, 25 Nov 2022, Jani Nikula <jani.nikula@linux.intel.com> wrote:
> On Fri, 25 Nov 2022, Xia Fukun <xiafukun@huawei.com> wrote:
>> When (size != 0 || ptrs->lvds_ entries != 3), the program tries to
>> free() the ptrs. However, the ptrs is not created by calling kzmalloc(),
>> but is obtained by pointer offset operation.
>> This may lead to memory leaks or undefined behavior.
>
> Yeah probably worse things will happen than just leak.
>
>>
>> Fix this by replacing the arguments of kfree() with ptrs_block.
>>
>> Fixes: a87d0a847607 ("drm/i915/bios: Generate LFP data table pointers if the VBT lacks them")
>> Signed-off-by: Xia Fukun <xiafukun@huawei.com>
>
> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
And pushed to drm-intel-next, thanks for the patch.
BR,
Jani.
>
>> ---
>> drivers/gpu/drm/i915/display/intel_bios.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
>> index 28bdb936cd1f..edbdb949b6ce 100644
>> --- a/drivers/gpu/drm/i915/display/intel_bios.c
>> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
>> @@ -414,7 +414,7 @@ static void *generate_lfp_data_ptrs(struct drm_i915_private *i915,
>> ptrs->lvds_entries++;
>>
>> if (size != 0 || ptrs->lvds_entries != 3) {
>> - kfree(ptrs);
>> + kfree(ptrs_block);
>> return NULL;
>> }
--
Jani Nikula, Intel Open Source Graphics Center
WARNING: multiple messages have this Message-ID (diff)
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Xia Fukun <xiafukun@huawei.com>,
airlied@gmail.com, daniel@ffwll.ch,
ville.syrjala@linux.intel.com, lucas.demarchi@intel.com,
joonas.lahtinen@linux.intel.com
Cc: intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org, rodrigo.vivi@intel.com,
xiafukun@huawei.com
Subject: Re: [Intel-gfx] [PATCH] drm/i915/bios: fix a memory leak in generate_lfp_data_ptrs
Date: Tue, 29 Nov 2022 11:50:43 +0200 [thread overview]
Message-ID: <87fse23x8s.fsf@intel.com> (raw)
In-Reply-To: <875yf35tx1.fsf@intel.com>
On Fri, 25 Nov 2022, Jani Nikula <jani.nikula@linux.intel.com> wrote:
> On Fri, 25 Nov 2022, Xia Fukun <xiafukun@huawei.com> wrote:
>> When (size != 0 || ptrs->lvds_ entries != 3), the program tries to
>> free() the ptrs. However, the ptrs is not created by calling kzmalloc(),
>> but is obtained by pointer offset operation.
>> This may lead to memory leaks or undefined behavior.
>
> Yeah probably worse things will happen than just leak.
>
>>
>> Fix this by replacing the arguments of kfree() with ptrs_block.
>>
>> Fixes: a87d0a847607 ("drm/i915/bios: Generate LFP data table pointers if the VBT lacks them")
>> Signed-off-by: Xia Fukun <xiafukun@huawei.com>
>
> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
And pushed to drm-intel-next, thanks for the patch.
BR,
Jani.
>
>> ---
>> drivers/gpu/drm/i915/display/intel_bios.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
>> index 28bdb936cd1f..edbdb949b6ce 100644
>> --- a/drivers/gpu/drm/i915/display/intel_bios.c
>> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
>> @@ -414,7 +414,7 @@ static void *generate_lfp_data_ptrs(struct drm_i915_private *i915,
>> ptrs->lvds_entries++;
>>
>> if (size != 0 || ptrs->lvds_entries != 3) {
>> - kfree(ptrs);
>> + kfree(ptrs_block);
>> return NULL;
>> }
--
Jani Nikula, Intel Open Source Graphics Center
next prev parent reply other threads:[~2022-11-29 9:51 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-25 6:34 [Intel-gfx] [PATCH] drm/i915/bios: fix a memory leak in generate_lfp_data_ptrs Xia Fukun
2022-11-25 6:34 ` Xia Fukun
2022-11-25 6:34 ` Xia Fukun
2022-11-25 8:18 ` [Intel-gfx] " Jani Nikula
2022-11-25 8:18 ` Jani Nikula
2022-11-25 8:18 ` Jani Nikula
2022-11-29 9:50 ` Jani Nikula [this message]
2022-11-29 9:50 ` [Intel-gfx] " Jani Nikula
2022-11-28 13:41 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork
2022-11-28 18:22 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
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=87fse23x8s.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=airlied@gmail.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=joonas.lahtinen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lucas.demarchi@intel.com \
--cc=rodrigo.vivi@intel.com \
--cc=ville.syrjala@linux.intel.com \
--cc=xiafukun@huawei.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: link
Be 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.