Update Linux's cocci files
[akaros.git] / scripts / spatch / linux / memory.cocci
index 3b65631..19d573e 100644 (file)
@@ -6,17 +6,22 @@
 @@
 @@
 -GFP_KERNEL
-+KMALLOC_WAIT
++MEM_WAIT
 
 @@
 @@
 -GFP_WAIT
-+KMALLOC_WAIT
++MEM_WAIT
+
+@@
+@@
+-GFP_NOFS
++MEM_WAIT
 
 @@
 @@
 -__GFP_WAIT
-+KMALLOC_WAIT
++MEM_WAIT
 
 @@
 expression SZ;
@@ -33,19 +38,21 @@ expression FL;
 -kcalloc(CNT, SZ, FL)
 +kzmalloc((CNT) * (SZ), FL)
 
+// These are dangerous in Akaros.  If someone is using a page* for multiple
+// pages, it's probably okay, but we should look closely.
 @@
 expression ADDR;
 expression ORDER;
 @@
 -__free_pages(ADDR, ORDER)
-+free_cont_pages(ADDR, ORDER)
++free_cont_pages(page2kva(ADDR), ORDER)
 
 @@
 expression FLAGS;
 expression ORDER;
 @@
 -alloc_pages(FLAGS, ORDER)
-+get_cont_pages(ORDER, FLAGS)
++kva2page(get_cont_pages(ORDER, FLAGS))
 
 @@
 expression FLAGS;
@@ -57,7 +64,7 @@ expression FLAGS;
 expression PG;
 @@
 -get_page(PG)
-+page_incref(PG)
++get_page_wont_compile_use_mmap(PG)
 
 @@
 expression PG;
@@ -66,6 +73,12 @@ expression PG;
 +page_decref(PG)
 
 @@
+struct page *page;
+@@
+-page->_count
++page->pg_kref.refcount
+
+@@
 expression KVA;
 @@
 -virt_to_head_page(KVA)
@@ -74,5 +87,11 @@ expression KVA;
 @@
 expression KVA;
 @@
+-virt_to_page(KVA)
++kva2page(KVA)
+
+@@
+expression KVA;
+@@
 -virt_to_bus(KVA)
 +PADDR(KVA)