kernel/kcov.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
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
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
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
© 2016 - 2026 Red Hat, Inc.