diff mbox series

block/nfs: fix int overflow in nfs_client_open_qdict

Message ID 20201209121735.16437-1-pl@kamp.de (mailing list archive)
State New, archived
Headers show
Series block/nfs: fix int overflow in nfs_client_open_qdict | expand

Commit Message

Peter Lieven Dec. 9, 2020, 12:17 p.m. UTC
nfs_client_open returns the file size in sectors. This effectively
makes it impossible to open files larger than 1TB.

Fixes: a1a42af422d46812f1f0cebe6b230c20409a3731
Cc: qemu-stable@nongnu.org
Signed-off-by: Peter Lieven <pl@kamp.de>
---
 block/nfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Stefano Garzarella Dec. 10, 2020, 9 a.m. UTC | #1
On Wed, Dec 09, 2020 at 01:17:35PM +0100, Peter Lieven wrote:
>nfs_client_open returns the file size in sectors. This effectively
>makes it impossible to open files larger than 1TB.
>
>Fixes: a1a42af422d46812f1f0cebe6b230c20409a3731
>Cc: qemu-stable@nongnu.org
>Signed-off-by: Peter Lieven <pl@kamp.de>
>---
> block/nfs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

The issue seems to be pre-existing to the commit 
a1a42af422d46812f1f0cebe6b230c20409a3731, but of course that commit 
touched this code and this patch would not apply before, so it seems 
okay to me:

Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>

Thanks,
Stefano

>
>diff --git a/block/nfs.c b/block/nfs.c
>index 77905f516d..8c1968bb41 100644
>--- a/block/nfs.c
>+++ b/block/nfs.c
>@@ -592,7 +592,7 @@ static int64_t nfs_client_open_qdict(NFSClient *client, QDict *options,
>                                      int flags, int open_flags, Error **errp)
> {
>     BlockdevOptionsNfs *opts;
>-    int ret;
>+    int64_t ret;
>
>     opts = nfs_options_qdict_to_qapi(options, errp);
>     if (opts == NULL) {
>-- 
>2.17.1
>
>
>
Kevin Wolf Dec. 15, 2020, 4:03 p.m. UTC | #2
Am 10.12.2020 um 10:00 hat Stefano Garzarella geschrieben:
> On Wed, Dec 09, 2020 at 01:17:35PM +0100, Peter Lieven wrote:
> > nfs_client_open returns the file size in sectors. This effectively
> > makes it impossible to open files larger than 1TB.
> > 
> > Fixes: a1a42af422d46812f1f0cebe6b230c20409a3731
> > Cc: qemu-stable@nongnu.org
> > Signed-off-by: Peter Lieven <pl@kamp.de>
> > ---
> > block/nfs.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> The issue seems to be pre-existing to the commit
> a1a42af422d46812f1f0cebe6b230c20409a3731, but of course that commit touched
> this code and this patch would not apply before, so it seems okay to me:

I think it's commit c22a0345, which is the one right before a1a42af4.
I'll update the commit message accordingly.

> Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>

Thanks, applied to the block branch.

Kevin
diff mbox series

Patch

diff --git a/block/nfs.c b/block/nfs.c
index 77905f516d..8c1968bb41 100644
--- a/block/nfs.c
+++ b/block/nfs.c
@@ -592,7 +592,7 @@  static int64_t nfs_client_open_qdict(NFSClient *client, QDict *options,
                                      int flags, int open_flags, Error **errp)
 {
     BlockdevOptionsNfs *opts;
-    int ret;
+    int64_t ret;
 
     opts = nfs_options_qdict_to_qapi(options, errp);
     if (opts == NULL) {