)]}'
{
  "log": [
    {
      "commit": "0541881502a1276149889fe468662ff6a8fc8f6d",
      "tree": "14bdb51938b710d8b224215bccaea4cbf680b818",
      "parents": [
        "d8d386c10630d8f7837700f4c466443d49e12cc0"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Thu Jun 13 13:17:02 2013 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Tue Jun 18 11:32:10 2013 -0500"
      },
      "message": "range: Do not add new blank slot with add_range_with_merge\n\nJoshua reported: Commit cd7b304dfaf1 (x86, range: fix missing merge\nduring add range) broke mtrr cleanup on his setup in 3.9.5.\ncorresponding commit in upstream is fbe06b7bae7c.\n\nThe reason is add_range_with_merge could generate blank spot.\n\nWe could avoid that by searching new expanded start/end, that\nnew range should include all connected ranges in range array.\nAt last add the new expanded start/end to the range array.\nAlso move up left array so do not add new blank slot in the\nrange array.\n\n-v2: move left array to avoid enhance add_range()\n-v3: include fix from Joshua about memmove declaring when\n     DYN_DEBUG is used.\n\nReported-by: Joshua Covington \u003cjoshuacov@googlemail.com\u003e\nTested-by: Joshua Covington \u003cjoshuacov@googlemail.com\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1371154622-8929-3-git-send-email-yinghai@kernel.org\nCc: \u003cstable@vger.kernel.org\u003e v3.9\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "fbe06b7bae7c9cf6ab05168fce5ee93b2f4bae7c",
      "tree": "a740e8823520c183d965e4b51a2394c25ee5fa2c",
      "parents": [
        "8f710dd34a46500e135203816c71c3ec567c46fd"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri May 17 11:49:10 2013 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Fri May 17 11:49:10 2013 -0700"
      },
      "message": "x86, range: fix missing merge during add range\n\nChristian found v3.9 does not work with E350 with EFI is enabled.\n\n[    1.658832] Trying to unpack rootfs image as initramfs...\n[    1.679935] BUG: unable to handle kernel paging request at ffff88006e3fd000\n[    1.686940] IP: [\u003cffffffff813661df\u003e] memset+0x1f/0xb0\n[    1.692010] PGD 1f77067 PUD 1f7a067 PMD 61420067 PTE 0\n\nbut early memtest report all memory could be accessed without problem.\n\nearly page table is set in following sequence:\n[    0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]\n[    0.000000] init_memory_mapping: [mem 0x6e600000-0x6e7fffff]\n[    0.000000] init_memory_mapping: [mem 0x6c000000-0x6e5fffff]\n[    0.000000] init_memory_mapping: [mem 0x00100000-0x6bffffff]\n[    0.000000] init_memory_mapping: [mem 0x6e800000-0x6ea07fff]\nbut later efi_enter_virtual_mode try set mapping again wrongly.\n[    0.010644] pid_max: default: 32768 minimum: 301\n[    0.015302] init_memory_mapping: [mem 0x640c5000-0x6e3fcfff]\nthat means it fails with pfn_range_is_mapped.\n\nIt turns out that we have a bug in add_range_with_merge and it does not\nmerge range properly when new add one fill the hole between two exsiting\nranges. In the case when [mem 0x00100000-0x6bffffff] is the hole between\n[mem 0x00000000-0x000fffff] and [mem 0x6c000000-0x6e7fffff].\n\nFix the add_range_with_merge by calling itself recursively.\n\nReported-by: \"Christian König\" \u003cchristian.koenig@amd.com\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLink: http://lkml.kernel.org/r/CAE9FiQVofGoSk7q5-0irjkBxemqK729cND4hov-1QCBJDhxpgQ@mail.gmail.com\nCc: \u003cstable@vger.kernel.org\u003e v3.9\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "7fba2c27a3e0cf7fa411fbab4839e1807a3e0734",
      "tree": "70e4c22a99a682752f7802162108de8e653eb604",
      "parents": [
        "58c7be84fec87b3a96964d65129b36c0e8c59a19"
      ],
      "author": {
        "name": "Lin Feng",
        "email": "linfeng@cn.fujitsu.com",
        "time": "Tue Apr 30 15:27:07 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:01 2013 -0700"
      },
      "message": "kernel/range.c: subtract_range: fix the broken phrase issued by printk\n\nAlso replace deprecated printk(KERN_ERR...) with pr_err() as suggested\nby Yinghai, attaching the function name to provide plenty info.\n\nSigned-off-by: Lin Feng \u003clinfeng@cn.fujitsu.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a418455134f5dc23f124d2818b2e8e1cea997a1",
      "tree": "00ea2166df995f4e03adfbc93807f54421ce4e80",
      "parents": [
        "639938eb606e94af498c589feae2f0b8a5c285d1"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed May 25 09:52:21 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 09:20:11 2011 -0400"
      },
      "message": "range: fix bogus misuse of module.h to get printk()\n\nThis file isn\u0027t doing anything with modules and so it should\nnot be including \u003clinux/module.h\u003e just to get basic stuff\nlike printk() and min/max.  Revector it to \u003clinux/kernel.h\u003e.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "834b40380e93e36f1c9b48ec1d280cebe3d7bd8c",
      "tree": "acb6c23488baaf50e1cabd218738281973616734",
      "parents": [
        "aec04288904a7308f2900926902040e7a69ae2be"
      ],
      "author": {
        "name": "Alexey Khoroshilov",
        "email": "khoroshilov@ispras.ru",
        "time": "Thu Nov 11 14:05:14 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:31 2010 -0800"
      },
      "message": "kernel/range.c: fix clean_sort_range() for the case of full array\n\nclean_sort_range() should return a number of nonempty elements of range\narray, but if the array is full clean_sort_range() returns 0.\n\nThe problem is that the number of nonempty elements is evaluated by\nfinding the first empty element of the array.  If there is no such element\nit returns an initial value of local variable nr_range that is zero.\n\nThe fix is trivial: it changes initial value of nr_range to size of the\narray.\n\nThe bug can lead to loss of information regarding all ranges, since\ntypically returned value of clean_sort_range() is considered as an actual\nnumber of ranges in the array after a series of add/subtract operations.\n\nFound by Analytical Verification project of Linux Verification Center\n(linuxtesting.org), thanks to Alexander Kolosov.\n\nSigned-off-by: Alexey Khoroshilov \u003ckhoroshilov@ispras.ru\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "459b37d423104f00e87d1934821bc8739979d0e4",
      "tree": "22433f169c493acb46c6c46ba26c0e1bc6cb24a9",
      "parents": [
        "2ee7c922f20c96dba56fd378a466790d87f42e84"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Mon Aug 09 17:20:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:06 2010 -0700"
      },
      "message": "kernel/range: remove unused definition of ARRAY_SIZE()\n\nRemove duplicate definition of ARRAY_SIZE(), which was never used anyway.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e9a0064ad03b899938059bb576615ad9ed0f27f9",
      "tree": "b1c7dd0c7844fb4b8f56bb991684ece56bcd6e1c",
      "parents": [
        "284f933d45a1e60404328440910bc2651c0fb51d"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Feb 10 01:20:13 2010 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Feb 10 17:47:17 2010 -0800"
      },
      "message": "x86: Change range end to start+size\n\nSo make interface more consistent with early_res.\nLater we can share some code with early_res.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c1265793639-15071-10-git-send-email-yinghai@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "27811d8cabe56e0c3622251b049086f49face4ff",
      "tree": "d3966301efca0886fa2b53d74d1f9e5f1cf55056",
      "parents": [
        "c85e4aae699360e8db4ebfe710e917ac9b6fc77e"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Feb 10 01:20:07 2010 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Feb 10 17:47:17 2010 -0800"
      },
      "message": "x86: Move range related operation to one file\n\nWe have almost the same code for mtrr cleanup and amd_bus checkup, and\nthis code  will also be used in replacing bootmem with early_res,\nso try to move them together and reuse it from different parts.\n\nAlso rename update_range to subtract_range as that is what the\nfunction is actually doing.\n\n-v2: update comments as Christoph requested\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c1265793639-15071-4-git-send-email-yinghai@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    }
  ]
}
