]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
Revert "video: tegra: nvmap: deal with read vs write fault"
authorSri Krishna Chowdary <schowdary@nvidia.com>
Thu, 15 May 2014 18:53:10 +0000 (11:53 -0700)
committerRiham Haidar <rhaidar@nvidia.com>
Tue, 27 May 2014 21:22:58 +0000 (14:22 -0700)
For nvmap managed page, page fault does not occur
if a page is accessed for write in case a read access is
already made. So, even reserved pages can be written by CPU.
Prevent that from happening.

This reverts commit ca19bb9c02ec86570048086c7a4603cbb7eebec.

Bug 1444151

Change-Id: Ifec82fff9fa87d9ddbfcc6dca31ff8e68db4c23b
Signed-off-by: Sri Krishna chowdary <schowdary@nvidia.com>
Reviewed-on: http://git-master/r/410411
Reviewed-by: Hiroshi Doyu <hdoyu@nvidia.com>
drivers/video/tegra/nvmap/nvmap_dev.c

index da9ea8d2ed1214f422a73a3a695994c62fe6a85b..c608bc90ebbb0c05c2c43080d0eff0e5f7e3940e 100644 (file)
@@ -774,12 +774,10 @@ static int nvmap_vma_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
                page = pfn_to_page(pfn);
        } else {
                offs >>= PAGE_SHIFT;
-               if (vmf->flags & (FAULT_FLAG_WRITE | FAULT_FLAG_MKWRITE)) {
-                       if (nvmap_page_reserved(priv->handle->pgalloc.pages[offs]))
-                               return VM_FAULT_SIGBUS;
-                       nvmap_page_mkdirty(&priv->handle->pgalloc.pages[offs]);
-               }
+               if (nvmap_page_reserved(priv->handle->pgalloc.pages[offs]))
+                       return VM_FAULT_SIGBUS;
                page = nvmap_to_page(priv->handle->pgalloc.pages[offs]);
+               nvmap_page_mkdirty(&priv->handle->pgalloc.pages[offs]);
        }
 
        if (page)