All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: Theodore Ts'o <tytso@mit.edu>
Cc: stable@vger.kernel.org
Subject: Re: [FOR STABLE] ext4: in ext4_seek_{hole,data}, return -ENXIO for negative offsets
Date: Thu, 12 Oct 2017 13:38:13 +0200	[thread overview]
Message-ID: <20171012113813.GA32149@kroah.com> (raw)
In-Reply-To: <20171010214425.42e6voatru2fowft@thunk.org>

On Tue, Oct 10, 2017 at 05:44:25PM -0400, Theodore Ts'o wrote:
> On Tue, Oct 10, 2017 at 08:10:49PM +0200, Greg KH wrote:
> > No, it fails to apply to 4.9:
> > 
> > Applying patch ext4-in-ext4_seek_-hole-data-return-enxio-for-negative-offsets.patch
> > patching file fs/ext4/file.c
> > Hunk #1 succeeded at 590 (offset -5 lines).
> > Hunk #2 FAILED at 658.
> > 1 out of 2 hunks FAILED -- rejects in file fs/ext4/file.c
> 
> Here you go.
> 
> 					- Ted
> 
> >From 9bb648f3a9a41adac5d345b7a0c7308e17dbf3a9 Mon Sep 17 00:00:00 2001
> From: "Darrick J. Wong" <darrick.wong@oracle.com>
> Date: Thu, 24 Aug 2017 13:22:06 -0400
> Subject: [PATCH] ext4: in ext4_seek_{hole,data}, return -ENXIO for negative
>  offsets
> 
> [ Upstream commit 1bd8d6cd3e413d64e543ec3e69ff43e75a1cf1ea ]
> 
> In the ext4 implementations of SEEK_HOLE and SEEK_DATA, make sure we
> return -ENXIO for negative offsets instead of banging around inside
> the extent code and returning -EFSCORRUPTED.
> 
> Reported-by: Mateusz S <muttdini@gmail.com>
> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
> Cc: stable@vger.kernel.org # 4.6
> ---
>  fs/ext4/file.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/ext4/file.c b/fs/ext4/file.c
> index d17d12ed6f73..510e66422f04 100644
> --- a/fs/ext4/file.c
> +++ b/fs/ext4/file.c
> @@ -527,7 +527,7 @@ static loff_t ext4_seek_data(struct file *file, loff_t offset, loff_t maxsize)
>  	inode_lock(inode);
>  
>  	isize = i_size_read(inode);
> -	if (offset >= isize) {
> +	if (offset < 0 || offset >= isize) {
>  		inode_unlock(inode);
>  		return -ENXIO;
>  	}
> @@ -590,7 +590,7 @@ static loff_t ext4_seek_hole(struct file *file, loff_t offset, loff_t maxsize)
>  	inode_lock(inode);
>  
>  	isize = i_size_read(inode);
> -	if (offset >= isize) {
> +	if (offset < 0 || offset >= isize) {
>  		inode_unlock(inode);
>  		return -ENXIO;
>  	}

That worked, thanks!  All now applied.

greg k-h

      reply	other threads:[~2017-10-12 11:38 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-08  4:06 [FOR STABLE] ext4: in ext4_seek_{hole,data}, return -ENXIO for negative offsets Theodore Ts'o
2017-10-10 18:10 ` Greg KH
2017-10-10 21:44   ` Theodore Ts'o
2017-10-12 11:38     ` Greg KH [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171012113813.GA32149@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=stable@vger.kernel.org \
    --cc=tytso@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.