All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] f2fs: fix incorrect return value in f2fs_sanity_check_ckpt()
@ 2021-09-22 15:27 ` Chao Yu
  0 siblings, 0 replies; 7+ messages in thread
From: Chao Yu @ 2021-09-22 15:27 UTC (permalink / raw)
  To: jaegeuk; +Cc: linux-f2fs-devel, linux-kernel, Chao Yu, Pavel Machek

As Pavel Machek reported in [1]

This code looks quite confused: part of function returns 1 on
corruption, part returns -errno. The problem is not stable-specific.

[1] https://lkml.org/lkml/2021/9/19/207

Let's fix to make 'insane cp_payload case' to return 1 rater than
EFSCORRUPTED, so that return value can be kept consistent for all
error cases, it can avoid confusion of code logic.

Fixes: 65ddf6564843 ("f2fs: fix to do sanity check for sb/cp fields correctly")
Reported-by: Pavel Machek <pavel@denx.de>
Signed-off-by: Chao Yu <chao@kernel.org>
---
 fs/f2fs/super.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 8d6d0657a470..e3975cb8e3e8 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -3487,7 +3487,7 @@ int f2fs_sanity_check_ckpt(struct f2fs_sb_info *sbi)
 		NR_CURSEG_PERSIST_TYPE + nat_bits_blocks >= blocks_per_seg)) {
 		f2fs_warn(sbi, "Insane cp_payload: %u, nat_bits_blocks: %u)",
 			  cp_payload, nat_bits_blocks);
-		return -EFSCORRUPTED;
+		return 1;
 	}
 
 	if (unlikely(f2fs_cp_error(sbi))) {
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [f2fs-dev] [PATCH] f2fs: fix incorrect return value in f2fs_sanity_check_ckpt()
@ 2021-09-22 15:27 ` Chao Yu
  0 siblings, 0 replies; 7+ messages in thread
From: Chao Yu @ 2021-09-22 15:27 UTC (permalink / raw)
  To: jaegeuk; +Cc: Pavel Machek, linux-kernel, linux-f2fs-devel

As Pavel Machek reported in [1]

This code looks quite confused: part of function returns 1 on
corruption, part returns -errno. The problem is not stable-specific.

[1] https://lkml.org/lkml/2021/9/19/207

Let's fix to make 'insane cp_payload case' to return 1 rater than
EFSCORRUPTED, so that return value can be kept consistent for all
error cases, it can avoid confusion of code logic.

Fixes: 65ddf6564843 ("f2fs: fix to do sanity check for sb/cp fields correctly")
Reported-by: Pavel Machek <pavel@denx.de>
Signed-off-by: Chao Yu <chao@kernel.org>
---
 fs/f2fs/super.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 8d6d0657a470..e3975cb8e3e8 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -3487,7 +3487,7 @@ int f2fs_sanity_check_ckpt(struct f2fs_sb_info *sbi)
 		NR_CURSEG_PERSIST_TYPE + nat_bits_blocks >= blocks_per_seg)) {
 		f2fs_warn(sbi, "Insane cp_payload: %u, nat_bits_blocks: %u)",
 			  cp_payload, nat_bits_blocks);
-		return -EFSCORRUPTED;
+		return 1;
 	}
 
 	if (unlikely(f2fs_cp_error(sbi))) {
-- 
2.32.0



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] f2fs: fix incorrect return value in f2fs_sanity_check_ckpt()
  2021-09-22 15:27 ` [f2fs-dev] " Chao Yu
  (?)
@ 2021-09-24  9:50 ` Pavel Machek
  2021-10-27  2:19     ` [f2fs-dev] " Chao Yu
  -1 siblings, 1 reply; 7+ messages in thread
From: Pavel Machek @ 2021-09-24  9:50 UTC (permalink / raw)
  To: Chao Yu; +Cc: jaegeuk, linux-f2fs-devel, linux-kernel, Pavel Machek

[-- Attachment #1: Type: text/plain, Size: 1308 bytes --]

Hi!

> This code looks quite confused: part of function returns 1 on
> corruption, part returns -errno. The problem is not stable-specific.
> 
> [1] https://lkml.org/lkml/2021/9/19/207
> 
> Let's fix to make 'insane cp_payload case' to return 1 rater than
> EFSCORRUPTED, so that return value can be kept consistent for all
> error cases, it can avoid confusion of code logic.
> 
> Fixes: 65ddf6564843 ("f2fs: fix to do sanity check for sb/cp fields correctly")
> Reported-by: Pavel Machek <pavel@denx.de>
> Signed-off-by: Chao Yu <chao@kernel.org>

Reviewed-by: Pavel Machek <pavel@denx.de>

(This is good minimal fix, but eventually I believe the function
should switch to 0/-errno... for consistency with rest of kernel).

Thank you,
								Pavel
								
> +++ b/fs/f2fs/super.c
> @@ -3487,7 +3487,7 @@ int f2fs_sanity_check_ckpt(struct f2fs_sb_info *sbi)
>  		NR_CURSEG_PERSIST_TYPE + nat_bits_blocks >= blocks_per_seg)) {
>  		f2fs_warn(sbi, "Insane cp_payload: %u, nat_bits_blocks: %u)",
>  			  cp_payload, nat_bits_blocks);
> -		return -EFSCORRUPTED;
> +		return 1;
>  	}
>  
>  	if (unlikely(f2fs_cp_error(sbi))) {

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] f2fs: fix incorrect return value in f2fs_sanity_check_ckpt()
  2021-09-24  9:50 ` Pavel Machek
@ 2021-10-27  2:19     ` Chao Yu
  0 siblings, 0 replies; 7+ messages in thread
From: Chao Yu @ 2021-10-27  2:19 UTC (permalink / raw)
  To: jaegeuk, Pavel Machek; +Cc: linux-f2fs-devel, linux-kernel

Jaegeuk,

Missed to apply this patch?

Thanks,

On 2021/9/24 17:50, Pavel Machek wrote:
> Hi!
> 
>> This code looks quite confused: part of function returns 1 on
>> corruption, part returns -errno. The problem is not stable-specific.
>>
>> [1] https://lkml.org/lkml/2021/9/19/207
>>
>> Let's fix to make 'insane cp_payload case' to return 1 rater than
>> EFSCORRUPTED, so that return value can be kept consistent for all
>> error cases, it can avoid confusion of code logic.
>>
>> Fixes: 65ddf6564843 ("f2fs: fix to do sanity check for sb/cp fields correctly")
>> Reported-by: Pavel Machek <pavel@denx.de>
>> Signed-off-by: Chao Yu <chao@kernel.org>
> 
> Reviewed-by: Pavel Machek <pavel@denx.de>
> 
> (This is good minimal fix, but eventually I believe the function
> should switch to 0/-errno... for consistency with rest of kernel).
> 
> Thank you,
> 								Pavel
> 								
>> +++ b/fs/f2fs/super.c
>> @@ -3487,7 +3487,7 @@ int f2fs_sanity_check_ckpt(struct f2fs_sb_info *sbi)
>>   		NR_CURSEG_PERSIST_TYPE + nat_bits_blocks >= blocks_per_seg)) {
>>   		f2fs_warn(sbi, "Insane cp_payload: %u, nat_bits_blocks: %u)",
>>   			  cp_payload, nat_bits_blocks);
>> -		return -EFSCORRUPTED;
>> +		return 1;
>>   	}
>>   
>>   	if (unlikely(f2fs_cp_error(sbi))) {
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [f2fs-dev] [PATCH] f2fs: fix incorrect return value in f2fs_sanity_check_ckpt()
@ 2021-10-27  2:19     ` Chao Yu
  0 siblings, 0 replies; 7+ messages in thread
From: Chao Yu @ 2021-10-27  2:19 UTC (permalink / raw)
  To: jaegeuk, Pavel Machek; +Cc: linux-kernel, linux-f2fs-devel

Jaegeuk,

Missed to apply this patch?

Thanks,

On 2021/9/24 17:50, Pavel Machek wrote:
> Hi!
> 
>> This code looks quite confused: part of function returns 1 on
>> corruption, part returns -errno. The problem is not stable-specific.
>>
>> [1] https://lkml.org/lkml/2021/9/19/207
>>
>> Let's fix to make 'insane cp_payload case' to return 1 rater than
>> EFSCORRUPTED, so that return value can be kept consistent for all
>> error cases, it can avoid confusion of code logic.
>>
>> Fixes: 65ddf6564843 ("f2fs: fix to do sanity check for sb/cp fields correctly")
>> Reported-by: Pavel Machek <pavel@denx.de>
>> Signed-off-by: Chao Yu <chao@kernel.org>
> 
> Reviewed-by: Pavel Machek <pavel@denx.de>
> 
> (This is good minimal fix, but eventually I believe the function
> should switch to 0/-errno... for consistency with rest of kernel).
> 
> Thank you,
> 								Pavel
> 								
>> +++ b/fs/f2fs/super.c
>> @@ -3487,7 +3487,7 @@ int f2fs_sanity_check_ckpt(struct f2fs_sb_info *sbi)
>>   		NR_CURSEG_PERSIST_TYPE + nat_bits_blocks >= blocks_per_seg)) {
>>   		f2fs_warn(sbi, "Insane cp_payload: %u, nat_bits_blocks: %u)",
>>   			  cp_payload, nat_bits_blocks);
>> -		return -EFSCORRUPTED;
>> +		return 1;
>>   	}
>>   
>>   	if (unlikely(f2fs_cp_error(sbi))) {
> 


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] f2fs: fix incorrect return value in f2fs_sanity_check_ckpt()
  2021-10-27  2:19     ` [f2fs-dev] " Chao Yu
@ 2021-10-27 22:34       ` Jaegeuk Kim
  -1 siblings, 0 replies; 7+ messages in thread
From: Jaegeuk Kim @ 2021-10-27 22:34 UTC (permalink / raw)
  To: Chao Yu; +Cc: Pavel Machek, linux-f2fs-devel, linux-kernel

Could you post the patch again? I don't see this in my box.

On 10/27, Chao Yu wrote:
> Jaegeuk,
> 
> Missed to apply this patch?
> 
> Thanks,
> 
> On 2021/9/24 17:50, Pavel Machek wrote:
> > Hi!
> > 
> > > This code looks quite confused: part of function returns 1 on
> > > corruption, part returns -errno. The problem is not stable-specific.
> > > 
> > > [1] https://lkml.org/lkml/2021/9/19/207
> > > 
> > > Let's fix to make 'insane cp_payload case' to return 1 rater than
> > > EFSCORRUPTED, so that return value can be kept consistent for all
> > > error cases, it can avoid confusion of code logic.
> > > 
> > > Fixes: 65ddf6564843 ("f2fs: fix to do sanity check for sb/cp fields correctly")
> > > Reported-by: Pavel Machek <pavel@denx.de>
> > > Signed-off-by: Chao Yu <chao@kernel.org>
> > 
> > Reviewed-by: Pavel Machek <pavel@denx.de>
> > 
> > (This is good minimal fix, but eventually I believe the function
> > should switch to 0/-errno... for consistency with rest of kernel).
> > 
> > Thank you,
> > 								Pavel
> > 								
> > > +++ b/fs/f2fs/super.c
> > > @@ -3487,7 +3487,7 @@ int f2fs_sanity_check_ckpt(struct f2fs_sb_info *sbi)
> > >   		NR_CURSEG_PERSIST_TYPE + nat_bits_blocks >= blocks_per_seg)) {
> > >   		f2fs_warn(sbi, "Insane cp_payload: %u, nat_bits_blocks: %u)",
> > >   			  cp_payload, nat_bits_blocks);
> > > -		return -EFSCORRUPTED;
> > > +		return 1;
> > >   	}
> > >   	if (unlikely(f2fs_cp_error(sbi))) {
> > 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [f2fs-dev] [PATCH] f2fs: fix incorrect return value in f2fs_sanity_check_ckpt()
@ 2021-10-27 22:34       ` Jaegeuk Kim
  0 siblings, 0 replies; 7+ messages in thread
From: Jaegeuk Kim @ 2021-10-27 22:34 UTC (permalink / raw)
  To: Chao Yu; +Cc: Pavel Machek, linux-kernel, linux-f2fs-devel

Could you post the patch again? I don't see this in my box.

On 10/27, Chao Yu wrote:
> Jaegeuk,
> 
> Missed to apply this patch?
> 
> Thanks,
> 
> On 2021/9/24 17:50, Pavel Machek wrote:
> > Hi!
> > 
> > > This code looks quite confused: part of function returns 1 on
> > > corruption, part returns -errno. The problem is not stable-specific.
> > > 
> > > [1] https://lkml.org/lkml/2021/9/19/207
> > > 
> > > Let's fix to make 'insane cp_payload case' to return 1 rater than
> > > EFSCORRUPTED, so that return value can be kept consistent for all
> > > error cases, it can avoid confusion of code logic.
> > > 
> > > Fixes: 65ddf6564843 ("f2fs: fix to do sanity check for sb/cp fields correctly")
> > > Reported-by: Pavel Machek <pavel@denx.de>
> > > Signed-off-by: Chao Yu <chao@kernel.org>
> > 
> > Reviewed-by: Pavel Machek <pavel@denx.de>
> > 
> > (This is good minimal fix, but eventually I believe the function
> > should switch to 0/-errno... for consistency with rest of kernel).
> > 
> > Thank you,
> > 								Pavel
> > 								
> > > +++ b/fs/f2fs/super.c
> > > @@ -3487,7 +3487,7 @@ int f2fs_sanity_check_ckpt(struct f2fs_sb_info *sbi)
> > >   		NR_CURSEG_PERSIST_TYPE + nat_bits_blocks >= blocks_per_seg)) {
> > >   		f2fs_warn(sbi, "Insane cp_payload: %u, nat_bits_blocks: %u)",
> > >   			  cp_payload, nat_bits_blocks);
> > > -		return -EFSCORRUPTED;
> > > +		return 1;
> > >   	}
> > >   	if (unlikely(f2fs_cp_error(sbi))) {
> > 


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-10-27 22:40 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-22 15:27 [PATCH] f2fs: fix incorrect return value in f2fs_sanity_check_ckpt() Chao Yu
2021-09-22 15:27 ` [f2fs-dev] " Chao Yu
2021-09-24  9:50 ` Pavel Machek
2021-10-27  2:19   ` Chao Yu
2021-10-27  2:19     ` [f2fs-dev] " Chao Yu
2021-10-27 22:34     ` Jaegeuk Kim
2021-10-27 22:34       ` [f2fs-dev] " Jaegeuk Kim

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.