2024-04-13 05:29:10

by Chin-Chun Chen

[permalink] [raw]
Subject: [PATCH] include/linux/bitops.h: Fix function fns

Modified the function fns to resolve a calculation error by:
1. Reducing n first.
2. Adding 1 at the end to get the correct index.

This commit improves the accuracy and reliability of the code.

Signed-off-by: Chin-Chun Chen <[email protected]>
---
include/linux/bitops.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/bitops.h b/include/linux/bitops.h
index 2ba557e067fe..2457610f74eb 100644
--- a/include/linux/bitops.h
+++ b/include/linux/bitops.h
@@ -258,8 +258,8 @@ static inline unsigned long fns(unsigned long word, unsigned int n)

while (word) {
bit = __ffs(word);
- if (n-- == 0)
- return bit;
+ if (--n == 0)
+ return bit + 1;
__clear_bit(bit, &word);
}


base-commit: 8f2c057754b25075aa3da132cd4fd4478cdab854
--
2.40.1



2024-04-13 05:39:33

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] include/linux/bitops.h: Fix function fns



On 4/12/24 10:28 PM, Chin-Chun Chen wrote:
> Modified the function fns to resolve a calculation error by:
> 1. Reducing n first.
> 2. Adding 1 at the end to get the correct index.
>
> This commit improves the accuracy and reliability of the code.
>
> Signed-off-by: Chin-Chun Chen <[email protected]>
> ---
> include/linux/bitops.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/bitops.h b/include/linux/bitops.h
> index 2ba557e067fe..2457610f74eb 100644
> --- a/include/linux/bitops.h
> +++ b/include/linux/bitops.h
> @@ -258,8 +258,8 @@ static inline unsigned long fns(unsigned long word, unsigned int n)
>
> while (word) {
> bit = __ffs(word);
> - if (n-- == 0)
> - return bit;
> + if (--n == 0)
> + return bit + 1;
> __clear_bit(bit, &word);
> }
>
>
> base-commit: 8f2c057754b25075aa3da132cd4fd4478cdab854

Hi,

Please send your patch to some maintainer.
People don't browse the mailing list for patches to pick up.


--
#Randy
https://people.kernel.org/tglx/notes-about-netiquette
https://subspace.kernel.org/etiquette.html