All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alison Schofield <alison.schofield@intel.com>
To: Suraj Sonawane <surajsonawane0215@gmail.com>
Cc: dan.j.williams@intel.com, vishal.l.verma@intel.com,
	dave.jiang@intel.com, ira.weiny@intel.com, rafael@kernel.org,
	lenb@kernel.org, nvdimm@lists.linux.dev,
	linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
	syzbot+7534f060ebda6b8b51b3@syzkaller.appspotmail.com
Subject: Re: [PATCH v2] acpi: nfit: vmalloc-out-of-bounds Read in acpi_nfit_ctl
Date: Tue, 12 Nov 2024 20:51:41 -0800	[thread overview]
Message-ID: <ZzQwXXSwioLsG8vv@aschofie-mobl2.lan> (raw)
In-Reply-To: <20241112052035.14122-1-surajsonawane0215@gmail.com>

On Tue, Nov 12, 2024 at 10:50:35AM +0530, Suraj Sonawane wrote:
> Fix an issue detected by syzbot with KASAN:
> 
> BUG: KASAN: vmalloc-out-of-bounds in cmd_to_func drivers/acpi/nfit/
> core.c:416 [inline]
> BUG: KASAN: vmalloc-out-of-bounds in acpi_nfit_ctl+0x20e8/0x24a0
> drivers/acpi/nfit/core.c:459
> 
> The issue occurs in `cmd_to_func` when the `call_pkg->nd_reserved2`
> array is accessed without verifying that `call_pkg` points to a
> buffer that is sized appropriately as a `struct nd_cmd_pkg`. This
> could lead to out-of-bounds access and undefined behavior if the
> buffer does not have sufficient space.
> 
> To address this issue, a check was added in `acpi_nfit_ctl()` to
> ensure that `buf` is not `NULL` and `buf_len` is greater than or
> equal to `sizeof(struct nd_cmd_pkg)` before casting `buf` to
> `struct nd_cmd_pkg *`. This ensures safe access to the members of
> `call_pkg`, including the `nd_reserved2` array.
> 
> This change preventing out-of-bounds reads.
> 
> Reported-by: syzbot+7534f060ebda6b8b51b3@syzkaller.appspotmail.com
> Closes: https://syzkaller.appspot.com/bug?extid=7534f060ebda6b8b51b3
> Tested-by: syzbot+7534f060ebda6b8b51b3@syzkaller.appspotmail.com
> Fixes: 2d5404caa8c7 ("Linux 6.12-rc7")
> Signed-off-by: Suraj Sonawane <surajsonawane0215@gmail.com>

Suraj,

The fixes tag needs to be where the issue originated, not
where you discovered it (which I'm guessing was using 6.12-rc7).

Here's how I find the tag:

$ git blame drivers/acpi/nfit/core.c | grep call_pkg | grep buf
ebe9f6f19d80d drivers/acpi/nfit/core.c (Dan Williams       2019-02-07 14:56:50 -0800  458) 		call_pkg = buf;

$ git log -1 --pretty=fixes ebe9f6f19d80d
Fixes: ebe9f6f19d80 ("acpi/nfit: Fix bus command validation")

I think ^ should be your Fixes tag. 



snip

> 

  parent reply	other threads:[~2024-11-13  4:51 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-12  5:20 [PATCH v2] acpi: nfit: vmalloc-out-of-bounds Read in acpi_nfit_ctl Suraj Sonawane
2024-11-13  4:38 ` Alison Schofield
2024-11-13  8:41   ` Suraj Sonawane
2024-11-13  4:51 ` Alison Schofield [this message]
2024-11-13  9:06   ` Suraj Sonawane

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=ZzQwXXSwioLsG8vv@aschofie-mobl2.lan \
    --to=alison.schofield@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=ira.weiny@intel.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nvdimm@lists.linux.dev \
    --cc=rafael@kernel.org \
    --cc=surajsonawane0215@gmail.com \
    --cc=syzbot+7534f060ebda6b8b51b3@syzkaller.appspotmail.com \
    --cc=vishal.l.verma@intel.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.