linux-nilfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
  • * [PATCH AUTOSEL 5.14 21/25] nilfs2: fix NULL pointer in nilfs_##name##_attr_release
           [not found] <20210913223339.435347-1-sashal@kernel.org>
           [not found] ` <20210913223339.435347-1-sashal-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
    @ 2021-09-13 22:33 ` Sasha Levin
      2021-09-13 22:33 ` [PATCH AUTOSEL 5.14 23/25] nilfs2: fix memory leak in nilfs_sysfs_delete_##name##_group Sasha Levin
      2021-09-13 22:33 ` [PATCH AUTOSEL 5.14 24/25] nilfs2: fix memory leak in nilfs_sysfs_create_snapshot_group Sasha Levin
      3 siblings, 0 replies; 6+ messages in thread
    From: Sasha Levin @ 2021-09-13 22:33 UTC (permalink / raw)
      To: linux-kernel, stable
      Cc: Nanyong Sun, Ryusuke Konishi, Andrew Morton, Linus Torvalds,
    	Sasha Levin, linux-nilfs
    
    From: Nanyong Sun <sunnanyong@huawei.com>
    
    [ Upstream commit dbc6e7d44a514f231a64d9d5676e001b660b6448 ]
    
    In nilfs_##name##_attr_release, kobj->parent should not be referenced
    because it is a NULL pointer.  The release() method of kobject is always
    called in kobject_put(kobj), in the implementation of kobject_put(), the
    kobj->parent will be assigned as NULL before call the release() method.
    So just use kobj to get the subgroups, which is more efficient and can fix
    a NULL pointer reference problem.
    
    Link: https://lkml.kernel.org/r/20210629022556.3985106-3-sunnanyong@huawei.com
    Link: https://lkml.kernel.org/r/1625651306-10829-3-git-send-email-konishi.ryusuke@gmail.com
    Signed-off-by: Nanyong Sun <sunnanyong@huawei.com>
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
     fs/nilfs2/sysfs.c | 8 +++-----
     1 file changed, 3 insertions(+), 5 deletions(-)
    
    diff --git a/fs/nilfs2/sysfs.c b/fs/nilfs2/sysfs.c
    index d2d8ea89937a..ec85ac53720d 100644
    --- a/fs/nilfs2/sysfs.c
    +++ b/fs/nilfs2/sysfs.c
    @@ -51,11 +51,9 @@ static const struct sysfs_ops nilfs_##name##_attr_ops = { \
     #define NILFS_DEV_INT_GROUP_TYPE(name, parent_name) \
     static void nilfs_##name##_attr_release(struct kobject *kobj) \
     { \
    -	struct nilfs_sysfs_##parent_name##_subgroups *subgroups; \
    -	struct the_nilfs *nilfs = container_of(kobj->parent, \
    -						struct the_nilfs, \
    -						ns_##parent_name##_kobj); \
    -	subgroups = nilfs->ns_##parent_name##_subgroups; \
    +	struct nilfs_sysfs_##parent_name##_subgroups *subgroups = container_of(kobj, \
    +						struct nilfs_sysfs_##parent_name##_subgroups, \
    +						sg_##name##_kobj); \
     	complete(&subgroups->sg_##name##_kobj_unregister); \
     } \
     static struct kobj_type nilfs_##name##_ktype = { \
    -- 
    2.30.2
    
    
    ^ permalink raw reply related	[flat|nested] 6+ messages in thread
  • * [PATCH AUTOSEL 5.14 23/25] nilfs2: fix memory leak in nilfs_sysfs_delete_##name##_group
           [not found] <20210913223339.435347-1-sashal@kernel.org>
           [not found] ` <20210913223339.435347-1-sashal-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
      2021-09-13 22:33 ` [PATCH AUTOSEL 5.14 21/25] nilfs2: fix NULL pointer in nilfs_##name##_attr_release Sasha Levin
    @ 2021-09-13 22:33 ` Sasha Levin
      2021-09-13 22:33 ` [PATCH AUTOSEL 5.14 24/25] nilfs2: fix memory leak in nilfs_sysfs_create_snapshot_group Sasha Levin
      3 siblings, 0 replies; 6+ messages in thread
    From: Sasha Levin @ 2021-09-13 22:33 UTC (permalink / raw)
      To: linux-kernel, stable
      Cc: Nanyong Sun, Ryusuke Konishi, Andrew Morton, Linus Torvalds,
    	Sasha Levin, linux-nilfs
    
    From: Nanyong Sun <sunnanyong@huawei.com>
    
    [ Upstream commit a3e181259ddd61fd378390977a1e4e2316853afa ]
    
    The kobject_put() should be used to cleanup the memory associated with the
    kobject instead of kobject_del.  See the section "Kobject removal" of
    "Documentation/core-api/kobject.rst".
    
    Link: https://lkml.kernel.org/r/20210629022556.3985106-5-sunnanyong@huawei.com
    Link: https://lkml.kernel.org/r/1625651306-10829-5-git-send-email-konishi.ryusuke@gmail.com
    Signed-off-by: Nanyong Sun <sunnanyong@huawei.com>
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
     fs/nilfs2/sysfs.c | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/fs/nilfs2/sysfs.c b/fs/nilfs2/sysfs.c
    index 6305e4ef7e39..d989e6500bd7 100644
    --- a/fs/nilfs2/sysfs.c
    +++ b/fs/nilfs2/sysfs.c
    @@ -84,7 +84,7 @@ static int nilfs_sysfs_create_##name##_group(struct the_nilfs *nilfs) \
     } \
     static void nilfs_sysfs_delete_##name##_group(struct the_nilfs *nilfs) \
     { \
    -	kobject_del(&nilfs->ns_##parent_name##_subgroups->sg_##name##_kobj); \
    +	kobject_put(&nilfs->ns_##parent_name##_subgroups->sg_##name##_kobj); \
     }
     
     /************************************************************************
    -- 
    2.30.2
    
    
    ^ permalink raw reply related	[flat|nested] 6+ messages in thread
  • * [PATCH AUTOSEL 5.14 24/25] nilfs2: fix memory leak in nilfs_sysfs_create_snapshot_group
           [not found] <20210913223339.435347-1-sashal@kernel.org>
                       ` (2 preceding siblings ...)
      2021-09-13 22:33 ` [PATCH AUTOSEL 5.14 23/25] nilfs2: fix memory leak in nilfs_sysfs_delete_##name##_group Sasha Levin
    @ 2021-09-13 22:33 ` Sasha Levin
      3 siblings, 0 replies; 6+ messages in thread
    From: Sasha Levin @ 2021-09-13 22:33 UTC (permalink / raw)
      To: linux-kernel, stable
      Cc: Nanyong Sun, Ryusuke Konishi, Andrew Morton, Linus Torvalds,
    	Sasha Levin, linux-nilfs
    
    From: Nanyong Sun <sunnanyong@huawei.com>
    
    [ Upstream commit b2fe39c248f3fa4bbb2a20759b4fdd83504190f7 ]
    
    If kobject_init_and_add returns with error, kobject_put() is needed here
    to avoid memory leak, because kobject_init_and_add may return error
    without freeing the memory associated with the kobject it allocated.
    
    Link: https://lkml.kernel.org/r/20210629022556.3985106-6-sunnanyong@huawei.com
    Link: https://lkml.kernel.org/r/1625651306-10829-6-git-send-email-konishi.ryusuke@gmail.com
    Signed-off-by: Nanyong Sun <sunnanyong@huawei.com>
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
     fs/nilfs2/sysfs.c | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/fs/nilfs2/sysfs.c b/fs/nilfs2/sysfs.c
    index d989e6500bd7..5ba87573ad3b 100644
    --- a/fs/nilfs2/sysfs.c
    +++ b/fs/nilfs2/sysfs.c
    @@ -195,9 +195,9 @@ int nilfs_sysfs_create_snapshot_group(struct nilfs_root *root)
     	}
     
     	if (err)
    -		return err;
    +		kobject_put(&root->snapshot_kobj);
     
    -	return 0;
    +	return err;
     }
     
     void nilfs_sysfs_delete_snapshot_group(struct nilfs_root *root)
    -- 
    2.30.2
    
    
    ^ permalink raw reply related	[flat|nested] 6+ messages in thread

  • end of thread, other threads:[~2021-09-13 22:33 UTC | newest]
    
    Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [not found] <20210913223339.435347-1-sashal@kernel.org>
         [not found] ` <20210913223339.435347-1-sashal-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
    2021-09-13 22:33   ` [PATCH AUTOSEL 5.14 20/25] nilfs2: fix memory leak in nilfs_sysfs_create_device_group Sasha Levin
    2021-09-13 22:33   ` [PATCH AUTOSEL 5.14 22/25] nilfs2: fix memory leak in nilfs_sysfs_create_##name##_group Sasha Levin
    2021-09-13 22:33   ` [PATCH AUTOSEL 5.14 25/25] nilfs2: fix memory leak in nilfs_sysfs_delete_snapshot_group Sasha Levin
    2021-09-13 22:33 ` [PATCH AUTOSEL 5.14 21/25] nilfs2: fix NULL pointer in nilfs_##name##_attr_release Sasha Levin
    2021-09-13 22:33 ` [PATCH AUTOSEL 5.14 23/25] nilfs2: fix memory leak in nilfs_sysfs_delete_##name##_group Sasha Levin
    2021-09-13 22:33 ` [PATCH AUTOSEL 5.14 24/25] nilfs2: fix memory leak in nilfs_sysfs_create_snapshot_group Sasha Levin
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox;
    as well as URLs for NNTP newsgroup(s).