On Wed, 31 Jan 2024 10:58:47 -0500 Steven Rostedt <rost...@goodmis.org> wrote:
> @@ -788,6 +717,7 @@ static void init_once(void *foo) > { > struct tracefs_inode *ti = (struct tracefs_inode *) foo; > > + memset(ti, 0, sizeof(*ti)); > inode_init_once(&ti->vfs_inode); > } > Note, that inode_init_once() also does a memset on the entire inode, so the initial memset is redundant on the inode portion. But I didn't think it was really worth the time to complicate the code by optimizing it. I guess if I changed the structure to: struct tracefs_inode { + struct inode vfs_inode; unsigned long flags; void *private; - struct inode vfs_inode; }; I could have it do: memset_after(ti, 0, vfs_inode); But this can be done as a separate clean up and doesn't need to be done now. -- Steve