From: Gregory Price <gregory.price@memverge.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Gregory Price <gourry.memverge@gmail.com>,
linux-kernel@vger.kernel.org, rafael@kernel.org
Subject: Re: [PATCH] base/node.c: initialize the accessor list before registering
Date: Tue, 31 Oct 2023 00:58:54 -0400 [thread overview]
Message-ID: <ZUCJjpQtgGbT8Z0P@memverge.com> (raw)
In-Reply-To: <2023103129-coming-geometric-8ac0@gregkh>
On Tue, Oct 31, 2023 at 07:03:17AM +0100, Greg KH wrote:
> On Mon, Oct 30, 2023 at 12:42:39AM -0400, Gregory Price wrote:
> > The current code registers the node as available in the node array
> > before initializing the accessor list. This makes it so that
> > anything which might access the accessor list as a result of
> > allocations will cause an undefined memory access.
> >
> > In one example, an extension to access hmat data during interleave
> > caused this undefined access as a result of a bulk allocation
> > that occurs during node initialization but before the accessor
> > list is initialized.
>
> Is this an in-kernel driver that causes this problem?
>
I discovered this why testing an RFC:
https://lore.kernel.org/linux-mm/ZUCCoCRS3cohf9OE@memverge.com/T/#t
However I noticed that there are two exposed interfaces which may
allow a caller to hit the unitialized accessor list. I haven't
explicitly demonstrated this, though.
1) register_memory_node_under_compute_node
2) node_set_perf_attrs
Since `register_node` calls into device_register and inevitably hits
allocators, it seems like fully initializing the node struct before
going off into the aether was appropriate.
> >
> > Initialize the accessor list before making the node generally
> > available to the global system.
> >
> > Signed-off-by: Gregory Price <gregory.price@memverge.com>
>
> What commit id does this fix?
>
Sorry:
Fixes: 08d9dbe72b1f ("node: Link memory nodes to their compute nodes")
> thanks,
>
> greg k-h
prev parent reply other threads:[~2023-10-31 17:25 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-30 4:42 [PATCH] base/node.c: initialize the accessor list before registering Gregory Price
2023-10-31 6:03 ` Greg KH
2023-10-31 4:58 ` Gregory Price [this message]
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=ZUCJjpQtgGbT8Z0P@memverge.com \
--to=gregory.price@memverge.com \
--cc=gourry.memverge@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rafael@kernel.org \
/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.