[FIX] mmap allocation atribute 45/47045/1
authorVyacheslav Cherkashin <v.cherkashin@samsung.com>
Fri, 28 Aug 2015 11:10:13 +0000 (14:10 +0300)
committerVyacheslav Cherkashin <v.cherkashin@samsung.com>
Fri, 28 Aug 2015 11:36:27 +0000 (14:36 +0300)
PROT_WRITE atribute is needed for writing into allocated memory

Change-Id: I6beb96bae7c331024b99fb2675bcde4430e1f9f0
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
preload/preload_pd.c

index 568b310..ec7a7ec 100644 (file)
@@ -290,7 +290,7 @@ static unsigned long make_preload_path(void)
                size_t len = strnlen(path, PATH_MAX);
 
                down_write(&current->mm->mmap_sem);
-               page = swap_do_mmap(NULL, 0, PAGE_SIZE, PROT_READ,
+               page = swap_do_mmap(NULL, 0, PAGE_SIZE, PROT_READ | PROT_WRITE,
                                    MAP_ANONYMOUS | MAP_PRIVATE, 0);
                up_write(&current->mm->mmap_sem);
 
@@ -301,7 +301,7 @@ static unsigned long make_preload_path(void)
                }
 
                /* set preload_library path */
-               if (copy_to_user((void __user *)page, path, len) <= 0)
+               if (copy_to_user((void __user *)page, path, len) != 0)
                        printk(KERN_ERR PRELOAD_PREFIX
                               "Cannot copy string to user!\n");
        }