diff mbox series

vfs: return -EOVERFLOW in generic_remap_checks() when overflow check fails

Message ID 20240906033202.1252195-1-sunjunchao2870@gmail.com (mailing list archive)
State New
Headers show
Series vfs: return -EOVERFLOW in generic_remap_checks() when overflow check fails | expand

Commit Message

Julian Sun Sept. 6, 2024, 3:32 a.m. UTC
Keep it consistent with the handling of the same check within
generic_copy_file_checks().
Also, returning -EOVERFLOW in this case is more appropriate.

Signed-off-by: Julian Sun <sunjunchao2870@gmail.com>
---
 fs/remap_range.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jan Kara Sept. 6, 2024, 10:29 a.m. UTC | #1
On Fri 06-09-24 11:32:02, Julian Sun wrote:
> Keep it consistent with the handling of the same check within
> generic_copy_file_checks().
> Also, returning -EOVERFLOW in this case is more appropriate.
> 
> Signed-off-by: Julian Sun <sunjunchao2870@gmail.com>

Well, you were already changing this condition here [1] so maybe just
update the errno in that patch as well? No need to generate unnecessary
patch conflicts...

[1] https://lore.kernel.org/all/20240905121545.ma6zdnswn5s72byb@quack3

								Honza

> ---
>  fs/remap_range.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/remap_range.c b/fs/remap_range.c
> index 28246dfc8485..97171f2191aa 100644
> --- a/fs/remap_range.c
> +++ b/fs/remap_range.c
> @@ -46,7 +46,7 @@ static int generic_remap_checks(struct file *file_in, loff_t pos_in,
>  
>  	/* Ensure offsets don't wrap. */
>  	if (pos_in + count < pos_in || pos_out + count < pos_out)
> -		return -EINVAL;
> +		return -EOVERFLOW;
>  
>  	size_in = i_size_read(inode_in);
>  	size_out = i_size_read(inode_out);
> -- 
> 2.39.2
>
Julian Sun Sept. 6, 2024, 11:12 a.m. UTC | #2
On Fri, 2024-09-06 at 12:29 +0200, Jan Kara wrote:

Sure, I will include this patch in the patch set for the next version. 
But I think it maybe deserves a separate patch, rather than being 
integrated into the original patch?

> On Fri 06-09-24 11:32:02, Julian Sun wrote:
> > Keep it consistent with the handling of the same check within
> > generic_copy_file_checks().
> > Also, returning -EOVERFLOW in this case is more appropriate.
> > 
> > Signed-off-by: Julian Sun <sunjunchao2870@gmail.com>
> 
> Well, you were already changing this condition here [1] so maybe just
> update the errno in that patch as well? No need to generate unnecessary
> patch conflicts...
> 
> [1] https://lore.kernel.org/all/20240905121545.ma6zdnswn5s72byb@quack3
> 
>                                                                 Honza
> 
> > ---
> >  fs/remap_range.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/fs/remap_range.c b/fs/remap_range.c
> > index 28246dfc8485..97171f2191aa 100644
> > --- a/fs/remap_range.c
> > +++ b/fs/remap_range.c
> > @@ -46,7 +46,7 @@ static int generic_remap_checks(struct file *file_in, loff_t pos_in,
> >  
> >         /* Ensure offsets don't wrap. */
> >         if (pos_in + count < pos_in || pos_out + count < pos_out)
> > -               return -EINVAL;
> > +               return -EOVERFLOW;
> >  
> >         size_in = i_size_read(inode_in);
> >         size_out = i_size_read(inode_out);
> > -- 
> > 2.39.2
> > 

Thanks,
Jan Kara Sept. 9, 2024, 10:08 a.m. UTC | #3
On Fri 06-09-24 19:12:08, Julian Sun wrote:
> On Fri, 2024-09-06 at 12:29 +0200, Jan Kara wrote:
> 
> Sure, I will include this patch in the patch set for the next version. 
> But I think it maybe deserves a separate patch, rather than being 
> integrated into the original patch?

Yes, probably a separate patch makes sense.

								Honza

> 
> > On Fri 06-09-24 11:32:02, Julian Sun wrote:
> > > Keep it consistent with the handling of the same check within
> > > generic_copy_file_checks().
> > > Also, returning -EOVERFLOW in this case is more appropriate.
> > > 
> > > Signed-off-by: Julian Sun <sunjunchao2870@gmail.com>
> > 
> > Well, you were already changing this condition here [1] so maybe just
> > update the errno in that patch as well? No need to generate unnecessary
> > patch conflicts...
> > 
> > [1] https://lore.kernel.org/all/20240905121545.ma6zdnswn5s72byb@quack3
> > 
> >                                                                 Honza
> > 
> > > ---
> > >  fs/remap_range.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/fs/remap_range.c b/fs/remap_range.c
> > > index 28246dfc8485..97171f2191aa 100644
> > > --- a/fs/remap_range.c
> > > +++ b/fs/remap_range.c
> > > @@ -46,7 +46,7 @@ static int generic_remap_checks(struct file *file_in, loff_t pos_in,
> > >  
> > >         /* Ensure offsets don't wrap. */
> > >         if (pos_in + count < pos_in || pos_out + count < pos_out)
> > > -               return -EINVAL;
> > > +               return -EOVERFLOW;
> > >  
> > >         size_in = i_size_read(inode_in);
> > >         size_out = i_size_read(inode_out);
> > > -- 
> > > 2.39.2
> > > 
> 
> Thanks,
> -- 
> Julian Sun <sunjunchao2870@gmail.com>
diff mbox series

Patch

diff --git a/fs/remap_range.c b/fs/remap_range.c
index 28246dfc8485..97171f2191aa 100644
--- a/fs/remap_range.c
+++ b/fs/remap_range.c
@@ -46,7 +46,7 @@  static int generic_remap_checks(struct file *file_in, loff_t pos_in,
 
 	/* Ensure offsets don't wrap. */
 	if (pos_in + count < pos_in || pos_out + count < pos_out)
-		return -EINVAL;
+		return -EOVERFLOW;
 
 	size_in = i_size_read(inode_in);
 	size_out = i_size_read(inode_out);