All of lore.kernel.org
 help / color / mirror / Atom feed
From: zhong jiang <zhongjiang@huawei.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] fs: fix a bug when new_insert_key is not initialization
Date: Tue, 2 Aug 2016 10:26:15 +0800	[thread overview]
Message-ID: <57A004C7.10307@huawei.com> (raw)
In-Reply-To: <20160801160510.4a48a02d68aa5d89a0435b52@linux-foundation.org>

On 2016/8/2 7:05, Andrew Morton wrote:
> On Sat, 30 Jul 2016 11:51:09 +0800 zhongjiang <zhongjiang@huawei.com> wrote:
>
>> From: zhong jiang <zhongjiang@huawei.com>
>>
>> when compile the kenrel code, I happens to the following warn.
>> fs/reiserfs/ibalance.c:1156:2: warning: ___new_insert_key___ may be used
>> uninitialized in this function.
>> memcpy(new_insert_key_addr, &new_insert_key, KEY_SIZE);
>>
>> The patch fix it by check the new_insert_ptr. if new_insert_ptr is not
>> NULL, we ensure that new_insert_key is assigned. therefore, memcpy will
>> saftly exec the operatetion.
>>
>> --- a/fs/reiserfs/ibalance.c
>> +++ b/fs/reiserfs/ibalance.c
>> @@ -1153,8 +1153,10 @@ int balance_internal(struct tree_balance *tb,
>>  				       insert_ptr);
>>  	}
>>  
>> -	memcpy(new_insert_key_addr, &new_insert_key, KEY_SIZE);
>> -	insert_ptr[0] = new_insert_ptr;
>> +	if (new_insert_ptr) {
>> +		memcpy(new_insert_key_addr, &new_insert_key, KEY_SIZE);
>> +		insert_ptr[0] = new_insert_ptr;
>> +	}
>>  
>>  	return order;
> Jeff has aleady fixed this with an equivalent patch.  It's in -mm at
> present.
>
> From: Jeff Mahoney <jeffm@suse.com>
> Subject: reiserfs: fix "new_insert_key may be used uninitialized ..."
>
> new_insert_key only makes any sense when it's associated with a
> new_insert_ptr, which is initialized to NULL and changed to a buffer_head
> when we also initialize new_insert_key.  We can key off of that to avoid
> the uninitialized warning.
>
> Link: http://lkml.kernel.org/r/5eca5ffb-2155-8df2-b4a2-f162f105efed@suse.com
> Signed-off-by: Jeff Mahoney <jeffm@suse.com>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Jan Kara <jack@suse.cz>
> Cc: Linus Torvalds <torvalds@linux-foundation.org>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> ---
>
>  fs/reiserfs/ibalance.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff -puN fs/reiserfs/ibalance.c~reiserfs-fix-new_insert_key-may-be-used-uninitialized fs/reiserfs/ibalance.c
> --- a/fs/reiserfs/ibalance.c~reiserfs-fix-new_insert_key-may-be-used-uninitialized
> +++ a/fs/reiserfs/ibalance.c
> @@ -1153,8 +1153,9 @@ int balance_internal(struct tree_balance
>  				       insert_ptr);
>  	}
>  
> -	memcpy(new_insert_key_addr, &new_insert_key, KEY_SIZE);
>  	insert_ptr[0] = new_insert_ptr;
> +	if (new_insert_ptr)
> +		memcpy(new_insert_key_addr, &new_insert_key, KEY_SIZE);
>  
>  	return order;
>  }
> _
>
>
> .
>
 ok ,  I did not notice.  thanks.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: zhong jiang <zhongjiang@huawei.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: <linux-mm@kvack.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] fs: fix a bug when new_insert_key is not initialization
Date: Tue, 2 Aug 2016 10:26:15 +0800	[thread overview]
Message-ID: <57A004C7.10307@huawei.com> (raw)
In-Reply-To: <20160801160510.4a48a02d68aa5d89a0435b52@linux-foundation.org>

On 2016/8/2 7:05, Andrew Morton wrote:
> On Sat, 30 Jul 2016 11:51:09 +0800 zhongjiang <zhongjiang@huawei.com> wrote:
>
>> From: zhong jiang <zhongjiang@huawei.com>
>>
>> when compile the kenrel code, I happens to the following warn.
>> fs/reiserfs/ibalance.c:1156:2: warning: ___new_insert_key___ may be used
>> uninitialized in this function.
>> memcpy(new_insert_key_addr, &new_insert_key, KEY_SIZE);
>>
>> The patch fix it by check the new_insert_ptr. if new_insert_ptr is not
>> NULL, we ensure that new_insert_key is assigned. therefore, memcpy will
>> saftly exec the operatetion.
>>
>> --- a/fs/reiserfs/ibalance.c
>> +++ b/fs/reiserfs/ibalance.c
>> @@ -1153,8 +1153,10 @@ int balance_internal(struct tree_balance *tb,
>>  				       insert_ptr);
>>  	}
>>  
>> -	memcpy(new_insert_key_addr, &new_insert_key, KEY_SIZE);
>> -	insert_ptr[0] = new_insert_ptr;
>> +	if (new_insert_ptr) {
>> +		memcpy(new_insert_key_addr, &new_insert_key, KEY_SIZE);
>> +		insert_ptr[0] = new_insert_ptr;
>> +	}
>>  
>>  	return order;
> Jeff has aleady fixed this with an equivalent patch.  It's in -mm at
> present.
>
> From: Jeff Mahoney <jeffm@suse.com>
> Subject: reiserfs: fix "new_insert_key may be used uninitialized ..."
>
> new_insert_key only makes any sense when it's associated with a
> new_insert_ptr, which is initialized to NULL and changed to a buffer_head
> when we also initialize new_insert_key.  We can key off of that to avoid
> the uninitialized warning.
>
> Link: http://lkml.kernel.org/r/5eca5ffb-2155-8df2-b4a2-f162f105efed@suse.com
> Signed-off-by: Jeff Mahoney <jeffm@suse.com>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Jan Kara <jack@suse.cz>
> Cc: Linus Torvalds <torvalds@linux-foundation.org>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> ---
>
>  fs/reiserfs/ibalance.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff -puN fs/reiserfs/ibalance.c~reiserfs-fix-new_insert_key-may-be-used-uninitialized fs/reiserfs/ibalance.c
> --- a/fs/reiserfs/ibalance.c~reiserfs-fix-new_insert_key-may-be-used-uninitialized
> +++ a/fs/reiserfs/ibalance.c
> @@ -1153,8 +1153,9 @@ int balance_internal(struct tree_balance
>  				       insert_ptr);
>  	}
>  
> -	memcpy(new_insert_key_addr, &new_insert_key, KEY_SIZE);
>  	insert_ptr[0] = new_insert_ptr;
> +	if (new_insert_ptr)
> +		memcpy(new_insert_key_addr, &new_insert_key, KEY_SIZE);
>  
>  	return order;
>  }
> _
>
>
> .
>
 ok ,  I did not notice.  thanks.

  reply	other threads:[~2016-08-02  2:27 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-30  3:51 [PATCH] fs: fix a bug when new_insert_key is not initialization zhongjiang
2016-07-30  3:51 ` zhongjiang
2016-08-01 23:05 ` Andrew Morton
2016-08-01 23:05   ` Andrew Morton
2016-08-02  2:26   ` zhong jiang [this message]
2016-08-02  2:26     ` zhong jiang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=57A004C7.10307@huawei.com \
    --to=zhongjiang@huawei.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.