)]}'
{
  "commit": "ea3cc330ac0cd521ff07c7cd432a1848c19a7e92",
  "tree": "82f3e84e28ebf5ae33d05ec0142c22b30a21c60a",
  "parents": [
    "f480fe3916de2e2cbb6e384cb685f0f1d8272188"
  ],
  "author": {
    "name": "Benjamin Herrenschmidt",
    "email": "benh@kernel.crashing.org",
    "time": "Tue Aug 18 19:00:34 2009 +0000"
  },
  "committer": {
    "name": "Benjamin Herrenschmidt",
    "email": "benh@kernel.crashing.org",
    "time": "Thu Aug 27 13:12:51 2009 +1000"
  },
  "message": "powerpc/mm: Cleanup handling of execute permission\n\nThis is an attempt at cleaning up a bit the way we handle execute\npermission on powerpc. _PAGE_HWEXEC is gone, _PAGE_EXEC is now only\ndefined by CPUs that can do something with it, and the myriad of\n#ifdef\u0027s in the I$/D$ coherency code is reduced to 2 cases that\nhopefully should cover everything.\n\nThe logic on BookE is a little bit different than what it was though\nnot by much. Since now, _PAGE_EXEC will be set by the generic code\nfor executable pages, we need to filter out if they are unclean and\nrecover it. However, I don\u0027t expect the code to be more bloated than\nit already was in that area due to that change.\n\nI could boast that this brings proper enforcing of per-page execute\npermissions to all BookE and 40x but in fact, we\u0027ve had that now for\nsome time as a side effect of my previous rework in that area (and\nI didn\u0027t even know it :-) We would only enable execute permission if\nthe page was cache clean and we would only cache clean it if we took\nand exec fault. Since we now enforce that the later only work if\nVM_EXEC is part of the VMA flags, we de-fact already enforce per-page\nexecute permissions... Unless I missed something\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c9ff9d75990eb94eaf55944482dff6b5301d3afe",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/pgtable-ppc32.h",
      "new_id": "f2c52e25395680a84001e23f6e6a7d79a4ccf955",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/pgtable-ppc32.h"
    },
    {
      "type": "modify",
      "old_id": "200ec2dfa034adbc971c2992b5f4153cc6eb36cb",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/pgtable-ppc64.h",
      "new_id": "806abe7a3fa58c32523a167f90ad18a0ef5f8aa0",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/pgtable-ppc64.h"
    },
    {
      "type": "modify",
      "old_id": "07630faae029c0f956c04868b56cab906f204ed6",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/pte-40x.h",
      "new_id": "6c3e1f4378d49efd93655a8d4d4d781cbd480682",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/pte-40x.h"
    },
    {
      "type": "modify",
      "old_id": "37e98bcf83e0150753466dd07bd08e24ae4fdc18",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/pte-44x.h",
      "new_id": "4192b9bad90164b41d928685547fa32ddf0aafd0",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/pte-44x.h"
    },
    {
      "type": "modify",
      "old_id": "8c6e31251034d853783152bdb36eaa245a37be36",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/pte-8xx.h",
      "new_id": "94e979718dcf34011a1bcfb68c32a705d55cd4e3",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/pte-8xx.h"
    },
    {
      "type": "modify",
      "old_id": "1d27c77d7704ef0b2db2426f89964ca14981aecd",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/pte-book3e.h",
      "new_id": "9800565aebb84835b6c65dc3903281f0c9d3f634",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/pte-book3e.h"
    },
    {
      "type": "modify",
      "old_id": "8bb6464ba619e790deb2a1023fdfa9304cc8b096",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/pte-common.h",
      "new_id": "c3b65076a2635b1f43de1a7515492a529a6a74df",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/pte-common.h"
    },
    {
      "type": "modify",
      "old_id": "10820f58acf572355b973a62e5b9d1cb8a1886a5",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/pte-fsl-booke.h",
      "new_id": "ce8a9e94ce7f854739c34e5e1a36a060cdb99912",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/pte-fsl-booke.h"
    },
    {
      "type": "modify",
      "old_id": "16e571c7f9efef1d00e6727e9c5ea7da1c1423f4",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/pte-hash32.h",
      "new_id": "4aad4132d0a87fa3e677ebe00b05d0d317fe7292",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/pte-hash32.h"
    },
    {
      "type": "modify",
      "old_id": "656cfb2d66666f7a140f8e8994bd5dd290c7b3cd",
      "old_mode": 33188,
      "old_path": "arch/powerpc/kernel/head_44x.S",
      "new_id": "711368b993f2caabafdc972a299739ab13588933",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kernel/head_44x.S"
    },
    {
      "type": "modify",
      "old_id": "eca80482ae72242c543ec01dfbce99455e32cb0b",
      "old_mode": 33188,
      "old_path": "arch/powerpc/kernel/head_fsl_booke.S",
      "new_id": "2c5af52564794bd2b27f3e5e6a8f570bcd464ce0",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kernel/head_fsl_booke.S"
    },
    {
      "type": "modify",
      "old_id": "29954dc28942ff8408c940402f9cac7a72b7ebd3",
      "old_mode": 33188,
      "old_path": "arch/powerpc/mm/40x_mmu.c",
      "new_id": "f5e7b9ce63ddaa46f9ee10da0636b6d070b95431",
      "new_mode": 33188,
      "new_path": "arch/powerpc/mm/40x_mmu.c"
    },
    {
      "type": "modify",
      "old_id": "b6b32487e74057129fc18755d3e8f23264aba69a",
      "old_mode": 33188,
      "old_path": "arch/powerpc/mm/pgtable.c",
      "new_id": "83f1551ec2c9182d9299b0504fcdc2138ea3c917",
      "new_mode": 33188,
      "new_path": "arch/powerpc/mm/pgtable.c"
    },
    {
      "type": "modify",
      "old_id": "5422169626ba8f7baa5b0f1a4930ee57a91e246f",
      "old_mode": 33188,
      "old_path": "arch/powerpc/mm/pgtable_32.c",
      "new_id": "cb96cb2e17cc0560e947550690013a342f63929c",
      "new_mode": 33188,
      "new_path": "arch/powerpc/mm/pgtable_32.c"
    },
    {
      "type": "modify",
      "old_id": "10d524ded7b2bff624bda56bc1b3fab3e4737e2a",
      "old_mode": 33188,
      "old_path": "arch/powerpc/mm/tlb_low_64e.S",
      "new_id": "cd92f62f9cf5eaf4220690bc1099b8e67efcf13f",
      "new_mode": 33188,
      "new_path": "arch/powerpc/mm/tlb_low_64e.S"
    }
  ]
}
