Rajat Jain
c855cf2759
sysfs: Fix internal_create_group() for named group updates
...
There are a couple of problems with named group updates in the code
today:
* sysfs_update_group() will always fail for a named group, because
internal_create_group() will try to create a new sysfs directory
unconditionally, which will ofcourse fail with -EEXIST.
* We can leak the kernfs_node for grp->name if some one tries to:
- rename a group (change grp->name), or
- update a named group, to an unnamed group
It appears that the whole purpose of sysfs_update_group() was to
allow changing the permissions or visibility of attributes and not
the names. So make it clear in the comments, and allow it to update
an existing named group.
Signed-off-by: Rajat Jain <rajatja@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-07 17:54:46 +02:00
..
9p
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
adfs
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
affs
affs: fix potential memory leak when parsing option 'prefix'
2018-05-28 12:36:41 +02:00
afs
Merge branch 'afs-proc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2018-06-16 16:32:04 +09:00
autofs
autofs: Fix typo s/thenew new/the new/ in AUTOFS4_FS description
2018-06-12 12:31:19 -07:00
befs
fix a series of Documentation/ broken file name references
2018-06-15 18:10:01 -03:00
bfs
bfs_add_entry: pass name/len as qstr pointer
2018-05-22 14:27:50 -04:00
btrfs
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
cachefiles
Merge branch 'hch.procfs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2018-06-04 10:00:01 -07:00
ceph
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
cifs
cifs: Fix invalid check in __cifs_calc_signature()
2018-06-15 19:17:40 -05:00
coda
vfs: change inode times to use struct timespec64
2018-06-05 16:57:31 -07:00
configfs
vfs: change inode times to use struct timespec64
2018-06-05 16:57:31 -07:00
cramfs
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
crypto
f2fs-for-4.18-rc1
2018-06-11 10:16:13 -07:00
debugfs
Revert "debugfs: inode: debugfs_create_dir uses mode permission from parent"
2018-06-12 20:52:16 -07:00
devpts
dlm
treewide: Use array_size() in vmalloc()
2018-06-12 16:19:22 -07:00
ecryptfs
Merge branch 'fixes' of https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs into aio-base
2018-05-26 09:16:25 +02:00
efivarfs
efs
exofs
exofs: avoid VLA in structures
2018-06-15 07:55:24 +09:00
exportfs
ext2
ext2: add warning when specifying nocheck option
2018-06-20 11:04:26 +02:00
ext4
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
f2fs
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
fat
Merge branch 'akpm' (patches from Andrew)
2018-06-15 08:51:42 +09:00
freevxfs
freevxfs_lookup(): use d_splice_alias()
2018-05-22 14:27:51 -04:00
fscache
proc: introduce proc_create_single{,_data}
2018-05-16 07:23:35 +02:00
fuse
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
gfs2
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
hfs
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
hfsplus
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
hostfs
vfs: change inode times to use struct timespec64
2018-06-05 16:57:31 -07:00
hpfs
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
hugetlbfs
isofs
jbd2
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
jffs2
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
jfs
This fixes a too-small allocation in the xattr code.
2018-06-19 07:47:32 +09:00
kernfs
kernfs: Replace strncpy with memcpy
2018-07-07 09:57:10 +02:00
lockd
minix
minix_lookup: use d_splice_alias()
2018-05-22 14:27:52 -04:00
nfs
NFS client bugfixes for Linux 4.18
2018-06-22 06:21:34 +09:00
nfs_common
nfsd
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
nilfs2
do d_instantiate/unlock_new_inode combinations safely
2018-05-11 15:36:37 -04:00
nls
notify
fsnotify: add fsnotify_add_inode_mark() wrappers
2018-05-18 14:58:22 +02:00
ntfs
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
ocfs2
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
omfs
omfs_lookup(): report IO errors, use d_splice_alias()
2018-05-22 14:27:58 -04:00
openpromfs
openpromfs: switch to d_splice_alias()
2018-05-22 14:27:57 -04:00
orangefs
Solve a series of broken links for files under Documentation:
2018-06-17 05:25:18 +09:00
overlayfs
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
proc
proc: fix missing final NUL in get_mm_cmdline() rewrite
2018-06-20 15:38:28 +09:00
pstore
pstore: Remove bogus format string definition
2018-06-14 14:57:24 +02:00
qnx4
qnx4_lookup: use d_splice_alias()
2018-05-22 14:27:52 -04:00
qnx6
qnx6_lookup: switch to d_splice_alias()
2018-05-22 14:27:54 -04:00
quota
quota: Cleanup list iteration in dqcache_shrink_scan()
2018-06-20 11:04:26 +02:00
ramfs
reiserfs
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
romfs
romfs_lookup: switch to d_splice_alias()
2018-05-22 14:27:55 -04:00
squashfs
sysfs
sysfs: Fix internal_create_group() for named group updates
2018-07-07 17:54:46 +02:00
sysv
sysv_lookup: use d_splice_alias()
2018-05-22 14:27:53 -04:00
tracefs
ubifs
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
udf
udf: Drop unused arguments of udf_delete_aext()
2018-06-20 11:05:49 +02:00
ufs
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
xfs
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
aio.c
aio: only return events requested in poll_mask() for IOCB_CMD_POLL
2018-06-14 20:08:14 -04:00
anon_inodes.c
attr.c
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
bad_inode.c
vfs: change inode times to use struct timespec64
2018-06-05 16:57:31 -07:00
binfmt_aout.c
binfmt_elf.c
coredump: fix spam with zero VMA process
2018-06-15 07:55:24 +09:00
binfmt_elf_fdpic.c
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c
docs: Fix more broken references
2018-06-15 18:11:26 -03:00
binfmt_script.c
block_dev.c
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
buffer.c
fs: move page_cache_seek_hole_data to iomap.c
2018-06-01 18:37:33 -07:00
char_dev.c
compat.c
ncpfs: remove compat functionality
2018-06-05 19:23:26 +02:00
compat_binfmt_elf.c
compat_ioctl.c
autofs: clean up includes
2018-06-07 17:34:40 -07:00
coredump.c
d_path.c
dax.c
libnvdimm for 4.18
2018-06-08 17:21:52 -07:00
dcache.c
Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2018-06-04 10:14:28 -07:00
dcookies.c
direct-io.c
block: consistently use GFP_NOIO instead of __GFP_NORECLAIM
2018-05-14 08:55:18 -06:00
drop_caches.c
eventfd.c
eventfd: only return events requested in poll_mask()
2018-06-14 20:07:38 -04:00
eventpoll.c
eventpoll: switch to ->poll_mask
2018-06-14 20:09:28 -04:00
exec.c
Merge branch 'core-rseq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2018-06-10 10:17:09 -07:00
fcntl.c
mm: restructure memfd code
2018-06-07 17:34:35 -07:00
fhandle.c
file.c
file_table.c
filesystems.c
proc: introduce proc_create_single{,_data}
2018-05-16 07:23:35 +02:00
fs-writeback.c
bdi: Fix oops in wb_workfn()
2018-05-03 16:11:37 -06:00
fs_pin.c
fs_struct.c
inode.c
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
internal.h
Revert "fs: fold open_check_o_direct into do_dentry_open"
2018-06-03 10:58:23 -07:00
ioctl.c
fs: Allow CAP_SYS_ADMIN in s_user_ns to freeze and thaw filesystems
2018-05-24 12:04:28 -05:00
iomap.c
Changes since last update:
2018-06-12 15:49:00 -07:00
Kconfig
autofs: remove left-over autofs4 stubs
2018-06-11 08:22:34 -07:00
Kconfig.binfmt
docs: Fix more broken references
2018-06-15 18:11:26 -03:00
libfs.c
locks.c
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09:00
Makefile
autofs: remove left-over autofs4 stubs
2018-06-11 08:22:34 -07:00
mbcache.c
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
mount.h
mpage.c
namei.c
Merge branch 'afs-proc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2018-06-16 16:32:04 +09:00
namespace.c
fs: Allow superblock owner to access do_remount_sb()
2018-05-24 12:02:25 -05:00
no-block.c
nsfs.c
open.c
Revert "fs: fold open_check_o_direct into do_dentry_open"
2018-06-03 10:58:23 -07:00
pipe.c
pipe: convert to ->poll_mask
2018-05-26 09:16:44 +02:00
pnode.c
pnode.h
posix_acl.c
proc_namespace.c
read_write.c
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
readdir.c
select.c
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
seq_file.c
proc: fix smaps and meminfo alignment
2018-05-25 18:12:11 -07:00
signalfd.c
Merge branch 'work.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2018-06-16 16:21:50 +09:00
splice.c
Merge branch 'work.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2018-06-16 16:21:50 +09:00
stack.c
stat.c
statfs.c
super.c
Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2018-06-04 10:14:28 -07:00
sync.c
timerfd.c
timerfd: convert to ->poll_mask
2018-05-26 09:16:44 +02:00
userfaultfd.c
userfaultfd: prevent non-cooperative events vs mcopy_atomic races
2018-06-07 17:34:38 -07:00
utimes.c
xattr.c
vfs: delete unnecessary assignment in vfs_listxattr
2018-05-29 13:22:41 -04:00