[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAF8kJuOGUQNyZesw5BY3dfwBNhL6_RG_=tXc1ZQ4VRGRtGPuMw@mail.gmail.com>
Date: Sun, 19 Nov 2023 19:35:42 -0800
From: Chris Li <chrisl@...nel.org>
To: Matthew Wilcox <willy@...radead.org>
Cc: Kairui Song <kasong@...cent.com>, linux-mm <linux-mm@...ck.org>,
Andrew Morton <akpm@...ux-foundation.org>,
"Huang, Ying" <ying.huang@...el.com>,
David Hildenbrand <david@...hat.com>,
Hugh Dickins <hughd@...gle.com>,
Johannes Weiner <hannes@...xchg.org>,
Michal Hocko <mhocko@...e.com>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 01/24] mm/swap: fix a potential undefined behavior issue
Hi Kairui,
On Sun, Nov 19, 2023 at 12:55 PM Matthew Wilcox <willy@...radead.org> wrote:
>
> On Mon, Nov 20, 2023 at 03:47:17AM +0800, Kairui Song wrote:
> > From: Kairui Song <kasong@...cent.com>
> >
> > When folio is NULL, taking the address of its struct member is an
> > undefined behavior, the UB is caused by applying -> operator
I think dereferencing the NULL pointer is undefined behavior. There is
no dereferencing here. It is just pointer arithmetic of NULL pointers,
which is adding offset of page to the NULL pointer, you got NULL.
> > won't lead to a real issue, still better to fix it, also makes the
> > code less error-prone, when folio is NULL, page is also NULL,
> > instead of a meanless offset value.
I consider your reasoning is invalid. NULL pointer arithmetic should
be legal. This patch is not needed.
Chris
Powered by blists - more mailing lists