Re: NULL pointer dereference when access /proc/net

From: haosdent
Date: Sun Apr 25 2021 - 13:05:03 EST


Hi, Alexander, thanks a lot for your quick reply.

> Not really - the crucial part is ->d_count == -128, i.e. it's already past
> __dentry_kill().

Thanks a lot for your information, we would check this.

> Which tree is that?
> If you have some patches applied on top of that...

We use Ubuntu Linux Kernel "4.15.0-42.45~16.04.1" from launchpad directly
without any modification, the mapping Linux Kernel should be
"4.15.18" according
to https://people.canonical.com/~kernel/info/kernel-version-map.html

On Mon, Apr 26, 2021 at 12:50 AM Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
>
> On Sun, Apr 25, 2021 at 11:22:15PM +0800, haosdent wrote:
> > Hi, Alexander Viro and dear Linux Filesystems maintainers, recently we
> > encounter a NULL pointer dereference Oops in our production.
> >
> > We have attempted to analyze the core dump and compare it with source code
> > in the past few weeks, currently still could not understand why
> > `dentry->d_inode` become NULL while other fields look normal.
>
> Not really - the crucial part is ->d_count == -128, i.e. it's already past
> __dentry_kill().
>
> > [19521409.514784] RIP: 0010:__atime_needs_update+0x5/0x190
>
> Which tree is that? __atime_needs_update() had been introduced in
> 4.8 and disappeared in 4.18; anything of that age straight on mainline
> would have a plenty of interesting problems. If you have some patches
> applied on top of that... Depends on what those are, obviously.



--
Best Regards,
Haosdent Huang