linux/fs/sysfs
Tejun Heo 56b3f3b884 sysfs: merge sysfs_elem_bin_attr into sysfs_elem_attr
3124eb1679 ("sysfs: merge regular and bin file handling") folded bin
file handling into regular file handling.  Among other things, bin
file now shares the same open path including sysfs_open_dirent
association using sysfs_dirent->s_attr.open.  This is buggy because
->s_bin_attr lives in the same union and doesn't have the field.  This
bug doesn't trigger because sysfs_elem_bin_attr doesn't have an active
field at the conflicting position.  It does have a field "buffers" but
it isn't used anymore.

This patch collapses sysfs_elem_bin_attr into sysfs_elem_attr so that
the bin_attr is accessed through ->s_attr.bin_attr which lives with
->s_attr.attr in an anonymous union.  The code paths already assume
bin_attr contains attr as the first element, so this doesn't add any
more assumptions while making it explicit that the two types are
handled together.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-29 15:12:06 -07:00
..
dir.c sysfs: make sysfs_file_ops() follow ignore_lockdep flag 2013-10-14 08:40:39 -07:00
file.c sysfs: merge sysfs_elem_bin_attr into sysfs_elem_attr 2013-10-29 15:12:06 -07:00
group.c sysfs: introduce [__]sysfs_remove() 2013-10-03 16:38:52 -07:00
inode.c sysfs: merge sysfs_elem_bin_attr into sysfs_elem_attr 2013-10-29 15:12:06 -07:00
Kconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
Makefile sysfs: merge regular and bin file handling 2013-10-05 17:27:40 -07:00
mount.c sysfs: drop kobj_ns_type handling 2013-09-26 15:30:22 -07:00
symlink.c sysfs: remove sysfs_addrm_cxt->parent_sd 2013-10-03 16:16:43 -07:00
sysfs.h sysfs: merge sysfs_elem_bin_attr into sysfs_elem_attr 2013-10-29 15:12:06 -07:00