mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 06:31:58 +02:00
pidfs: use anon_inode_getattr()
So far pidfs did use it's own version. Just use the generic version. We use our own wrappers because we're going to be implementing our own retrieval properties soon. Link: https://lore.kernel.org/20250407-work-anon_inode-v1-2-53a44c20d44e@kernel.org Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
parent
cfd86ef7e8
commit
37e62dafbf
24
fs/pidfs.c
24
fs/pidfs.c
|
|
@ -572,33 +572,11 @@ static int pidfs_setattr(struct mnt_idmap *idmap, struct dentry *dentry,
|
|||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* User space expects pidfs inodes to have no file type in st_mode.
|
||||
*
|
||||
* In particular, 'lsof' has this legacy logic:
|
||||
*
|
||||
* type = s->st_mode & S_IFMT;
|
||||
* switch (type) {
|
||||
* ...
|
||||
* case 0:
|
||||
* if (!strcmp(p, "anon_inode"))
|
||||
* Lf->ntype = Ntype = N_ANON_INODE;
|
||||
*
|
||||
* to detect our old anon_inode logic.
|
||||
*
|
||||
* Rather than mess with our internal sane inode data, just fix it
|
||||
* up here in getattr() by masking off the format bits.
|
||||
*/
|
||||
static int pidfs_getattr(struct mnt_idmap *idmap, const struct path *path,
|
||||
struct kstat *stat, u32 request_mask,
|
||||
unsigned int query_flags)
|
||||
{
|
||||
struct inode *inode = d_inode(path->dentry);
|
||||
|
||||
generic_fillattr(&nop_mnt_idmap, request_mask, inode, stat);
|
||||
stat->mode &= ~S_IFMT;
|
||||
return 0;
|
||||
return anon_inode_getattr(idmap, path, stat, request_mask, query_flags);
|
||||
}
|
||||
|
||||
static const struct inode_operations pidfs_inode_operations = {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user