All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Fix mmap return checking
@ 2014-07-28 16:05 Don Slutz
  2014-07-28 16:05 ` [PATCH 1/4] libxc/xc_linux_osdep.c: Fix return handling for case of mmap failure Don Slutz
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Don Slutz @ 2014-07-28 16:05 UTC (permalink / raw)
  To: xen-devel
  Cc: Daniel De Graaf, Ian Jackson, Ian Campbell, Don Slutz,
	Stefano Stabellini

On Linux MAP_FAILED is not the same as NULL.

Since lots of other calls check for MAP_FAILED, fix to use
MAP_FAILED.

tools/blktap/drivers/tapdisk.c does check for -1 not MAP_FAILED.  I
did not change since it was not clearly wrong.


Don Slutz (3):
  loadpolicy.c: Fix return handling for case of mmap failure
  libxl_internal.c: Fix return handling for case of mmap failure
  xenbaked.c: Fix return handling for case of mmap failure

Harry Hart (1):
  libxc/xc_linux_osdep.c: Fix return handling for case of mmap failure

 tools/flask/utils/loadpolicy.c | 2 +-
 tools/libxc/xc_linux_osdep.c   | 5 +++++
 tools/libxl/libxl_internal.c   | 2 +-
 tools/xenmon/xenbaked.c        | 2 +-
 4 files changed, 8 insertions(+), 3 deletions(-)

-- 
1.8.4

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

* [PATCH 1/4] libxc/xc_linux_osdep.c: Fix return handling for case of mmap failure
  2014-07-28 16:05 [PATCH 0/4] Fix mmap return checking Don Slutz
@ 2014-07-28 16:05 ` Don Slutz
  2014-07-30 11:42   ` Ian Campbell
  2014-07-28 16:06 ` [PATCH 2/4] loadpolicy.c: " Don Slutz
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 8+ messages in thread
From: Don Slutz @ 2014-07-28 16:05 UTC (permalink / raw)
  To: xen-devel
  Cc: Ian Campbell, Harry Hart, Stefano Stabellini, Ian Jackson,
	Don Slutz, Daniel De Graaf

From: Harry Hart <hhart@verizon.com>

Callers expect NULL on errors not MAP_FAILED.

Signed-off-by: Harry Hart <hhart@verizon.com>
Signed-off-by: Don Slutz <dslutz@verizon.com>
---
 tools/libxc/xc_linux_osdep.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tools/libxc/xc_linux_osdep.c b/tools/libxc/xc_linux_osdep.c
index 86bff3e..9745feb 100644
--- a/tools/libxc/xc_linux_osdep.c
+++ b/tools/libxc/xc_linux_osdep.c
@@ -102,6 +102,11 @@ static void *linux_privcmd_alloc_hypercall_buffer(xc_interface *xch, xc_osdep_ha
         return NULL;
     }
 
+    if (p == MAP_FAILED) {
+        PERROR ("linux_privcmd_alloc_hypercall_buffer: mmap failed");
+        return NULL;
+    }
+
     /* Do not copy the VMA to child process on fork. Avoid the page being COW
         on hypercall. */
     rc = madvise(p, npages * XC_PAGE_SIZE, MADV_DONTFORK);
-- 
1.8.4

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

* [PATCH 2/4] loadpolicy.c: Fix return handling for case of mmap failure
  2014-07-28 16:05 [PATCH 0/4] Fix mmap return checking Don Slutz
  2014-07-28 16:05 ` [PATCH 1/4] libxc/xc_linux_osdep.c: Fix return handling for case of mmap failure Don Slutz
@ 2014-07-28 16:06 ` Don Slutz
  2014-07-28 16:06 ` [PATCH 3/4] libxl_internal.c: " Don Slutz
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Don Slutz @ 2014-07-28 16:06 UTC (permalink / raw)
  To: xen-devel
  Cc: Daniel De Graaf, Ian Jackson, Ian Campbell, Don Slutz,
	Stefano Stabellini

mmap() returns MAP_FAILED not NULL.

Signed-off-by: Don Slutz <dslutz@verizon.com>
---
 tools/flask/utils/loadpolicy.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/flask/utils/loadpolicy.c b/tools/flask/utils/loadpolicy.c
index 2edcf97..47b5139 100644
--- a/tools/flask/utils/loadpolicy.c
+++ b/tools/flask/utils/loadpolicy.c
@@ -61,7 +61,7 @@ int main (int argCnt, const char *args[])
 
 #ifdef USE_MMAP
     polMem = mmap(NULL, info.st_size, PROT_READ, MAP_SHARED, polFd, 0);
-    if ( !polMem )
+    if ( polMem == MAP_FAILED )
     {
         fprintf(stderr, "Error occurred mapping policy file in memory: %s\n",
                 strerror(errno));
-- 
1.8.4

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

* [PATCH 3/4] libxl_internal.c: Fix return handling for case of mmap failure
  2014-07-28 16:05 [PATCH 0/4] Fix mmap return checking Don Slutz
  2014-07-28 16:05 ` [PATCH 1/4] libxc/xc_linux_osdep.c: Fix return handling for case of mmap failure Don Slutz
  2014-07-28 16:06 ` [PATCH 2/4] loadpolicy.c: " Don Slutz
@ 2014-07-28 16:06 ` Don Slutz
  2014-07-28 16:06 ` [PATCH 4/4] xenbaked.c: " Don Slutz
  2014-07-30 11:58 ` [PATCH 0/4] Fix mmap return checking Ian Campbell
  4 siblings, 0 replies; 8+ messages in thread
From: Don Slutz @ 2014-07-28 16:06 UTC (permalink / raw)
  To: xen-devel
  Cc: Daniel De Graaf, Ian Jackson, Ian Campbell, Don Slutz,
	Stefano Stabellini

mmap() returns MAP_FAILED not NULL.

Signed-off-by: Don Slutz <dslutz@verizon.com>
---
 tools/libxl/libxl_internal.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 81f8985..b880c89 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -246,7 +246,7 @@ int libxl__file_reference_map(libxl__file_reference *f)
 
     ret = -1;
     data = mmap(NULL, st_buf.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
-    if (data == NULL)
+    if (data == MAP_FAILED)
         goto out;
 
     f->mapped = 1;
-- 
1.8.4

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

* [PATCH 4/4] xenbaked.c: Fix return handling for case of mmap failure
  2014-07-28 16:05 [PATCH 0/4] Fix mmap return checking Don Slutz
                   ` (2 preceding siblings ...)
  2014-07-28 16:06 ` [PATCH 3/4] libxl_internal.c: " Don Slutz
@ 2014-07-28 16:06 ` Don Slutz
  2014-07-30 11:58 ` [PATCH 0/4] Fix mmap return checking Ian Campbell
  4 siblings, 0 replies; 8+ messages in thread
From: Don Slutz @ 2014-07-28 16:06 UTC (permalink / raw)
  To: xen-devel
  Cc: Daniel De Graaf, Ian Jackson, Ian Campbell, Don Slutz,
	Stefano Stabellini

mmap() returns MAP_FAILED not NULL.

Signed-off-by: Don Slutz <dslutz@verizon.com>
---
 tools/xenmon/xenbaked.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/xenmon/xenbaked.c b/tools/xenmon/xenbaked.c
index 985f1dd..dc61d14 100644
--- a/tools/xenmon/xenbaked.c
+++ b/tools/xenmon/xenbaked.c
@@ -674,7 +674,7 @@ static void alloc_qos_data(int ncpu)
         new_qos = (_new_qos_data *) mmap(0, sizeof(_new_qos_data), PROT_READ|PROT_WRITE, 
                                          MAP_SHARED, qos_fd, off);
         off += i;
-        if (new_qos == NULL) {
+        if (new_qos == MAP_FAILED) {
             PERROR("mmap");
             exit(3);
         }
-- 
1.8.4

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

* Re: [PATCH 1/4] libxc/xc_linux_osdep.c: Fix return handling for case of mmap failure
  2014-07-28 16:05 ` [PATCH 1/4] libxc/xc_linux_osdep.c: Fix return handling for case of mmap failure Don Slutz
@ 2014-07-30 11:42   ` Ian Campbell
  2014-07-31  1:11     ` Don Slutz
  0 siblings, 1 reply; 8+ messages in thread
From: Ian Campbell @ 2014-07-30 11:42 UTC (permalink / raw)
  To: Don Slutz
  Cc: Daniel De Graaf, Stefano Stabellini, Ian Jackson, Harry Hart,
	xen-devel

On Mon, 2014-07-28 at 12:05 -0400, Don Slutz wrote:
> From: Harry Hart <hhart@verizon.com>
> 
> Callers expect NULL on errors not MAP_FAILED.
> 
> Signed-off-by: Harry Hart <hhart@verizon.com>
> Signed-off-by: Don Slutz <dslutz@verizon.com>
> ---
>  tools/libxc/xc_linux_osdep.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/tools/libxc/xc_linux_osdep.c b/tools/libxc/xc_linux_osdep.c
> index 86bff3e..9745feb 100644
> --- a/tools/libxc/xc_linux_osdep.c
> +++ b/tools/libxc/xc_linux_osdep.c
> @@ -102,6 +102,11 @@ static void *linux_privcmd_alloc_hypercall_buffer(xc_interface *xch, xc_osdep_ha
>          return NULL;
>      }
>  
> +    if (p == MAP_FAILED) {
> +        PERROR ("linux_privcmd_alloc_hypercall_buffer: mmap failed");
> +        return NULL;
> +    }

The return NULL just above in the context is the same check as this.
Rebasing mistake?

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

* Re: [PATCH 0/4] Fix mmap return checking
  2014-07-28 16:05 [PATCH 0/4] Fix mmap return checking Don Slutz
                   ` (3 preceding siblings ...)
  2014-07-28 16:06 ` [PATCH 4/4] xenbaked.c: " Don Slutz
@ 2014-07-30 11:58 ` Ian Campbell
  4 siblings, 0 replies; 8+ messages in thread
From: Ian Campbell @ 2014-07-30 11:58 UTC (permalink / raw)
  To: Don Slutz; +Cc: Daniel De Graaf, Stefano Stabellini, Ian Jackson, xen-devel

On Mon, 2014-07-28 at 12:05 -0400, Don Slutz wrote:
> On Linux MAP_FAILED is not the same as NULL.
> 
> Since lots of other calls check for MAP_FAILED, fix to use
> MAP_FAILED.
> 
> tools/blktap/drivers/tapdisk.c does check for -1 not MAP_FAILED.  I
> did not change since it was not clearly wrong.

I've acked + applied #2..#4. I replied to #1 which I think is wrong.

Ian.

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

* Re: [PATCH 1/4] libxc/xc_linux_osdep.c: Fix return handling for case of mmap failure
  2014-07-30 11:42   ` Ian Campbell
@ 2014-07-31  1:11     ` Don Slutz
  0 siblings, 0 replies; 8+ messages in thread
From: Don Slutz @ 2014-07-31  1:11 UTC (permalink / raw)
  To: Ian Campbell, Don Slutz
  Cc: Daniel De Graaf, Stefano Stabellini, Ian Jackson, Harry Hart,
	xen-devel


On 07/30/14 07:42, Ian Campbell wrote:
> On Mon, 2014-07-28 at 12:05 -0400, Don Slutz wrote:
>> From: Harry Hart <hhart@verizon.com>
>>
>> Callers expect NULL on errors not MAP_FAILED.
>>
>> Signed-off-by: Harry Hart <hhart@verizon.com>
>> Signed-off-by: Don Slutz <dslutz@verizon.com>
>> ---
>>   tools/libxc/xc_linux_osdep.c | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> diff --git a/tools/libxc/xc_linux_osdep.c b/tools/libxc/xc_linux_osdep.c
>> index 86bff3e..9745feb 100644
>> --- a/tools/libxc/xc_linux_osdep.c
>> +++ b/tools/libxc/xc_linux_osdep.c
>> @@ -102,6 +102,11 @@ static void *linux_privcmd_alloc_hypercall_buffer(xc_interface *xch, xc_osdep_ha
>>           return NULL;
>>       }
>>   
>> +    if (p == MAP_FAILED) {
>> +        PERROR ("linux_privcmd_alloc_hypercall_buffer: mmap failed");
>> +        return NULL;
>> +    }
> The return NULL just above in the context is the same check as this.
> Rebasing mistake?
>
>
>

Yup.

    -Don Slutz

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

end of thread, other threads:[~2014-07-31  1:11 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-28 16:05 [PATCH 0/4] Fix mmap return checking Don Slutz
2014-07-28 16:05 ` [PATCH 1/4] libxc/xc_linux_osdep.c: Fix return handling for case of mmap failure Don Slutz
2014-07-30 11:42   ` Ian Campbell
2014-07-31  1:11     ` Don Slutz
2014-07-28 16:06 ` [PATCH 2/4] loadpolicy.c: " Don Slutz
2014-07-28 16:06 ` [PATCH 3/4] libxl_internal.c: " Don Slutz
2014-07-28 16:06 ` [PATCH 4/4] xenbaked.c: " Don Slutz
2014-07-30 11:58 ` [PATCH 0/4] Fix mmap return checking Ian Campbell

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.