Re: [PATCH 0/4] remove PDE_DATA()

From: Andrew Morton
Date: Tue Nov 16 2021 - 00:09:50 EST


On Mon, 1 Nov 2021 17:35:14 +0800 Muchun Song <songmuchun@xxxxxxxxxxxxx> wrote:

> I found a bug [1] some days ago, which is because we want to use
> inode->i_private to pass user private data. However, this is wrong
> on proc fs. We provide a specific function PDE_DATA() to get user
> private data. Actually, we can hide this detail by storing
> PDE()->data into inode->i_private and removing PDE_DATA() completely.
> The user could use inode->i_private to get user private data just
> like debugfs does. This series is trying to remove PDE_DATA().

Why can't we do

/*
* comment goes here
*/
static inline void *PDE_DATA(struct inode *inode)
{
return inode->i_private;
}

to abstract things a bit and to reduce the patch size?

otoh, that upper-case thing needs to go, so the patch size remains the
same anyway.

And perhaps we should have a short-term

#define PDE_DATA(i) pde_data(i)

because new instances are sure to turn up during the development cycle.

But I can handle that by staging the patch series after linux-next and
reminding myself to grep for new PDE_DATA instances prior to
upstreaming.