2023-01-19 11:21:11

by Maxim Korotkov

[permalink] [raw]
Subject: [PATCH] writeback: fix call of incorrect macro

the variable 'history' is of type u16, it may be an error
that the hweight32 macro was used for it
I guess macro hweight16 should be used

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: 2a81490811d0 ("writeback: implement foreign cgroup inode detection")
Signed-off-by: Maxim Korotkov <[email protected]>
---
fs/fs-writeback.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index 6fba5a52127b..fc16123b2405 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -829,7 +829,7 @@ void wbc_detach_inode(struct writeback_control *wbc)
* is okay. The main goal is avoiding keeping an inode on
* the wrong wb for an extended period of time.
*/
- if (hweight32(history) > WB_FRN_HIST_THR_SLOTS)
+ if (hweight16(history) > WB_FRN_HIST_THR_SLOTS)
inode_switch_wbs(inode, max_id);
}

--
2.37.2


2023-01-26 13:54:14

by Jan Kara

[permalink] [raw]
Subject: Re: [PATCH] writeback: fix call of incorrect macro

On Thu 19-01-23 13:44:43, Maxim Korotkov wrote:
> the variable 'history' is of type u16, it may be an error
> that the hweight32 macro was used for it
> I guess macro hweight16 should be used
>
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
>
> Fixes: 2a81490811d0 ("writeback: implement foreign cgroup inode detection")
> Signed-off-by: Maxim Korotkov <[email protected]>

Looks good to me, although it is mostly a theoretical issue - I don't see
how hweight32 could do any harm here. Anyway, feel free to add:

Reviewed-by: Jan Kara <[email protected]>

Honza

> ---
> fs/fs-writeback.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
> index 6fba5a52127b..fc16123b2405 100644
> --- a/fs/fs-writeback.c
> +++ b/fs/fs-writeback.c
> @@ -829,7 +829,7 @@ void wbc_detach_inode(struct writeback_control *wbc)
> * is okay. The main goal is avoiding keeping an inode on
> * the wrong wb for an extended period of time.
> */
> - if (hweight32(history) > WB_FRN_HIST_THR_SLOTS)
> + if (hweight16(history) > WB_FRN_HIST_THR_SLOTS)
> inode_switch_wbs(inode, max_id);
> }
>
> --
> 2.37.2
>
--
Jan Kara <[email protected]>
SUSE Labs, CR

2023-04-12 14:34:42

by Maxim Korotkov

[permalink] [raw]
Subject: Re: [PATCH] writeback: fix call of incorrect macro

Hi,
Will this patch be applied or rejected?
best regards, Max

On 26.01.2023 16:52, Jan Kara wrote:
> On Thu 19-01-23 13:44:43, Maxim Korotkov wrote:
>> the variable 'history' is of type u16, it may be an error
>> that the hweight32 macro was used for it
>> I guess macro hweight16 should be used
>>
>> Found by Linux Verification Center (linuxtesting.org) with SVACE.
>>
>> Fixes: 2a81490811d0 ("writeback: implement foreign cgroup inode detection")
>> Signed-off-by: Maxim Korotkov <[email protected]>
>
> Looks good to me, although it is mostly a theoretical issue - I don't see
> how hweight32 could do any harm here. Anyway, feel free to add:
>
> Reviewed-by: Jan Kara <[email protected]>
>
> Honza
>
>> ---
>> fs/fs-writeback.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
>> index 6fba5a52127b..fc16123b2405 100644
>> --- a/fs/fs-writeback.c
>> +++ b/fs/fs-writeback.c
>> @@ -829,7 +829,7 @@ void wbc_detach_inode(struct writeback_control *wbc)
>> * is okay. The main goal is avoiding keeping an inode on
>> * the wrong wb for an extended period of time.
>> */
>> - if (hweight32(history) > WB_FRN_HIST_THR_SLOTS)
>> + if (hweight16(history) > WB_FRN_HIST_THR_SLOTS)
>> inode_switch_wbs(inode, max_id);
>> }
>>
>> --
>> 2.37.2
>>

2023-04-28 13:10:58

by Jan Kara

[permalink] [raw]
Subject: Re: [PATCH] writeback: fix call of incorrect macro

Hi!

Jens, can you please pickup this patch? It has fallen through the cracks.
Usually you tend to be picking up cgroup writeback stuff. Thanks!

Honza

On Wed 12-04-23 17:31:03, Maxim Korotkov wrote:
> Hi,
> Will this patch be applied or rejected?
> best regards, Max
>
> On 26.01.2023 16:52, Jan Kara wrote:
> > On Thu 19-01-23 13:44:43, Maxim Korotkov wrote:
> > > the variable 'history' is of type u16, it may be an error
> > > that the hweight32 macro was used for it
> > > I guess macro hweight16 should be used
> > >
> > > Found by Linux Verification Center (linuxtesting.org) with SVACE.
> > >
> > > Fixes: 2a81490811d0 ("writeback: implement foreign cgroup inode detection")
> > > Signed-off-by: Maxim Korotkov <[email protected]>
> >
> > Looks good to me, although it is mostly a theoretical issue - I don't see
> > how hweight32 could do any harm here. Anyway, feel free to add:
> >
> > Reviewed-by: Jan Kara <[email protected]>
> >
> > Honza
> >
> > > ---
> > > fs/fs-writeback.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
> > > index 6fba5a52127b..fc16123b2405 100644
> > > --- a/fs/fs-writeback.c
> > > +++ b/fs/fs-writeback.c
> > > @@ -829,7 +829,7 @@ void wbc_detach_inode(struct writeback_control *wbc)
> > > * is okay. The main goal is avoiding keeping an inode on
> > > * the wrong wb for an extended period of time.
> > > */
> > > - if (hweight32(history) > WB_FRN_HIST_THR_SLOTS)
> > > + if (hweight16(history) > WB_FRN_HIST_THR_SLOTS)
> > > inode_switch_wbs(inode, max_id);
> > > }
> > > --
> > > 2.37.2
> > >
>
--
Jan Kara <[email protected]>
SUSE Labs, CR

2023-04-28 16:53:19

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] writeback: fix call of incorrect macro


On Thu, 19 Jan 2023 13:44:43 +0300, Maxim Korotkov wrote:
> the variable 'history' is of type u16, it may be an error
> that the hweight32 macro was used for it
> I guess macro hweight16 should be used
>
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
>
>
> [...]

Applied, thanks!

[1/1] writeback: fix call of incorrect macro
commit: 3e46c89c74f2c38e5337d2cf44b0b551adff1cb4

Best regards,
--
Jens Axboe