diff options
| author | Nathan Chancellor <[email protected]> | 2025-09-06 14:43:34 +0000 |
|---|---|---|
| committer | Andrew Morton <[email protected]> | 2025-09-13 20:05:38 +0000 |
| commit | 025e87f8ea2ae3a28bf1fe2b052bfa412c27ed4a (patch) | |
| tree | 7f348685f1792e28f350c4738b507ef457a5ba52 /scripts/make_fit.py | |
| parent | samples/damon/mtier: avoid starting DAMON before initialization (diff) | |
| download | kernel-025e87f8ea2ae3a28bf1fe2b052bfa412c27ed4a.tar.gz kernel-025e87f8ea2ae3a28bf1fe2b052bfa412c27ed4a.zip | |
nilfs2: fix CFI failure when accessing /sys/fs/nilfs2/features/*
When accessing one of the files under /sys/fs/nilfs2/features when
CONFIG_CFI_CLANG is enabled, there is a CFI violation:
CFI failure at kobj_attr_show+0x59/0x80 (target: nilfs_feature_revision_show+0x0/0x30; expected type: 0xfc392c4d)
...
Call Trace:
<TASK>
sysfs_kf_seq_show+0x2a6/0x390
? __cfi_kobj_attr_show+0x10/0x10
kernfs_seq_show+0x104/0x15b
seq_read_iter+0x580/0xe2b
...
When the kobject of the kset for /sys/fs/nilfs2 is initialized, its ktype
is set to kset_ktype, which has a ->sysfs_ops of kobj_sysfs_ops. When
nilfs_feature_attr_group is added to that kobject via
sysfs_create_group(), the kernfs_ops of each files is sysfs_file_kfops_rw,
which will call sysfs_kf_seq_show() when ->seq_show() is called.
sysfs_kf_seq_show() in turn calls kobj_attr_show() through
->sysfs_ops->show(). kobj_attr_show() casts the provided attribute out to
a 'struct kobj_attribute' via container_of() and calls ->show(), resulting
in the CFI violation since neither nilfs_feature_revision_show() nor
nilfs_feature_README_show() match the prototype of ->show() in 'struct
kobj_attribute'.
Resolve the CFI violation by adjusting the second parameter in
nilfs_feature_{revision,README}_show() from 'struct attribute' to 'struct
kobj_attribute' to match the expected prototype.
Link: https://lkml.kernel.org/r/[email protected]
Fixes: aebe17f68444 ("nilfs2: add /sys/fs/nilfs2/features group")
Signed-off-by: Nathan Chancellor <[email protected]>
Signed-off-by: Ryusuke Konishi <[email protected]>
Reported-by: kernel test robot <[email protected]>
Closes: https://lore.kernel.org/oe-lkp/[email protected]/
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'scripts/make_fit.py')
0 files changed, 0 insertions, 0 deletions
