[PATCH -next] kcov: Switch to use list_for_each_entry() helper

Chen Zhongjin posted 1 patch 3 years, 6 months ago
There is a newer version of this series
kernel/kcov.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
[PATCH -next] kcov: Switch to use list_for_each_entry() helper
Posted by Chen Zhongjin 3 years, 6 months ago
Use list_for_each_entry() helper instead of list_for_each() and
list_entry() to simplify code a bit.

Signed-off-by: Chen Zhongjin <chenzhongjin@huawei.com>
---
 kernel/kcov.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/kernel/kcov.c b/kernel/kcov.c
index e19c84b02452..466d7689de5b 100644
--- a/kernel/kcov.c
+++ b/kernel/kcov.c
@@ -133,10 +133,8 @@ static struct kcov_remote *kcov_remote_add(struct kcov *kcov, u64 handle)
 static struct kcov_remote_area *kcov_remote_area_get(unsigned int size)
 {
 	struct kcov_remote_area *area;
-	struct list_head *pos;
 
-	list_for_each(pos, &kcov_remote_areas) {
-		area = list_entry(pos, struct kcov_remote_area, list);
+	list_for_each_entry(pos, &kcov_remote_areas, list) {
 		if (area->size == size) {
 			list_del(&area->list);
 			return area;
-- 
2.17.1
Re: [PATCH -next] kcov: Switch to use list_for_each_entry() helper
Posted by Sebastian Andrzej Siewior 3 years, 6 months ago
On 2022-09-22 18:50:25 [+0800], Chen Zhongjin wrote:
> --- a/kernel/kcov.c
> +++ b/kernel/kcov.c
> @@ -133,10 +133,8 @@ static struct kcov_remote *kcov_remote_add(struct kcov *kcov, u64 handle)
>  static struct kcov_remote_area *kcov_remote_area_get(unsigned int size)
>  {
>  	struct kcov_remote_area *area;
> -	struct list_head *pos;
>  
> -	list_for_each(pos, &kcov_remote_areas) {
> -		area = list_entry(pos, struct kcov_remote_area, list);
> +	list_for_each_entry(pos, &kcov_remote_areas, list) {

so how does this work if you remove pos?

>  		if (area->size == size) {
>  			list_del(&area->list);
>  			return area;

Sebastian
Re: [PATCH -next] kcov: Switch to use list_for_each_entry() helper
Posted by Chen Zhongjin 3 years, 6 months ago
On 2022/9/22 20:15, Sebastian Andrzej Siewior wrote:
> On 2022-09-22 18:50:25 [+0800], Chen Zhongjin wrote:
>> --- a/kernel/kcov.c
>> +++ b/kernel/kcov.c
>> @@ -133,10 +133,8 @@ static struct kcov_remote *kcov_remote_add(struct kcov *kcov, u64 handle)
>>   static struct kcov_remote_area *kcov_remote_area_get(unsigned int size)
>>   {
>>   	struct kcov_remote_area *area;
>> -	struct list_head *pos;
>>   
>> -	list_for_each(pos, &kcov_remote_areas) {
>> -		area = list_entry(pos, struct kcov_remote_area, list);
>> +	list_for_each_entry(pos, &kcov_remote_areas, list) {
> so how does this work if you remove pos?

Oops... will fix that.


Thanks so much!

>>   		if (area->size == size) {
>>   			list_del(&area->list);
>>   			return area;
> Sebastian
Re: [PATCH -next] kcov: Switch to use list_for_each_entry() helper
Posted by Sebastian Andrzej Siewior 3 years, 6 months ago
On 2022-09-22 20:22:19 [+0800], Chen Zhongjin wrote:
> Oops... will fix that.

Please _never_ again post patches without testing them first.

Sebastian