)]}'
{
  "log": [
    {
      "commit": "5f2c80f9311587b314d781b04917b8bcab9f9571",
      "tree": "055079ab4072d44131c4884ddc2a814b6f1d9e1c",
      "parents": [
        "f2224bdbbed243f3fe9f2a9e8628fb7d4872fe5c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 18 14:56:13 2014 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 18 14:56:13 2014 -0500"
      },
      "message": "... and several more architectures can use generic scatterlist.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f2224bdbbed243f3fe9f2a9e8628fb7d4872fe5c",
      "tree": "1951349816bf42296cd4f325ce7b423a117b667c",
      "parents": [
        "d9e13edd590674fbd4804d1b92323e1ea897cef8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 18 14:53:08 2014 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 18 14:53:08 2014 -0500"
      },
      "message": "get rid of ARCH_HAS_SG_CHAIN\n\nturn it into selected bool in Kconfig\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d9e13edd590674fbd4804d1b92323e1ea897cef8",
      "tree": "2b2ee8f1761a16221c8ee6753f80eaa75afc0cea",
      "parents": [
        "b2fa83b309a76fe475e2d1946c085b58545f6256"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 18 14:41:49 2014 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 18 14:41:49 2014 -0500"
      },
      "message": "switch the obvious cases to generic scatterlist.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b2fa83b309a76fe475e2d1946c085b58545f6256",
      "tree": "74beaddf905f456d330bf2486152e4aa24e1a586",
      "parents": [
        "9bb5911ada4d4e82eb7d3cadc4d4129eadca8c3b"
      ],
      "author": {
        "name": "Rakesh Pandit",
        "email": "rakesh@tuxera.com",
        "time": "Wed Jan 15 19:58:28 2014 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 16 00:54:11 2014 -0500"
      },
      "message": "befs: iget_locked() doesn\u0027t return an ERR_PTR\n\nAlso fix befs_iget return value if iget_locked fails.\n\nSigned-off-by: Rakesh Pandit \u003crakesh@tuxera.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9bb5911ada4d4e82eb7d3cadc4d4129eadca8c3b",
      "tree": "d0cdf3cde1b7da6eaa4066db6c07749751a95f54",
      "parents": [
        "89ceb5e703adcf66f388ff91b13b884fd4911837"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Jan 13 16:49:06 2014 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 13 18:44:03 2014 -0500"
      },
      "message": "fs: __fget_light() can use __fget() in slow path\n\nThe slow path in __fget_light() can use __fget() to avoid the\ncode duplication. Saves 232 bytes.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "89ceb5e703adcf66f388ff91b13b884fd4911837",
      "tree": "90cf92a341174c341834933f1d594ff70cbcd6d8",
      "parents": [
        "9e57221eb2e1ba5020d89ea772d25bed35858928"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Jan 13 16:48:40 2014 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 13 18:44:03 2014 -0500"
      },
      "message": "fs: factor out common code in fget_light() and fget_raw_light()\n\nApart from FMODE_PATH check fget_light() and fget_raw_light() are\nidentical, shift the code into the new helper, __fget_light(fd, mask).\nSaves 208 bytes.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9e57221eb2e1ba5020d89ea772d25bed35858928",
      "tree": "af7d800e7a8925ddadc0726fab717898a7771c8d",
      "parents": [
        "9255a42119bac1ae0ff8a97af20496b37e71ea9b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Jan 13 16:48:19 2014 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 13 18:44:02 2014 -0500"
      },
      "message": "fs: factor out common code in fget() and fget_raw()\n\nApart from FMODE_PATH check fget() and fget_raw() are identical,\nshift the code into the new simple helper, __fget(fd, mask). Saves\n160 bytes.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9255a42119bac1ae0ff8a97af20496b37e71ea9b",
      "tree": "89e932ac7aa4c3b27f5a138247bc72555ec2ea6d",
      "parents": [
        "0fe56f75a745cad9da4e3d9313bb611e175070cf"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sat Jan 11 19:19:53 2014 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 13 18:43:41 2014 -0500"
      },
      "message": "change close_files() to use rcu_dereference_raw(files-\u003efdt)\n\nput_files_struct() and close_files() do rcu_read_lock() to make\nrcu_dereference_check_fdtable() happy.\n\nThis looks a bit ugly, files_fdtable() just reads the pointer,\nwe can simply use rcu_dereference_raw() to avoid the warning.\n\nThe patch also changes close_files() to return fdt, this avoids\nanother rcu_read_lock()/files_fdtable() in put_files_struct().\n\nI think close_files() needs more cleanups:\n\n\t- we do not need xchg() exactly because we are the last\n\t  user of this files_struct\n\n\t- \"if (file)\" should be turned into WARN_ON(!file)\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0fe56f75a745cad9da4e3d9313bb611e175070cf",
      "tree": "416fa4bc445e2daaeba3b6e0f065184a7f3f3dfa",
      "parents": [
        "ddb967179eb2c91fb3488e9dbacf2f6d5768085e"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sat Jan 11 19:19:32 2014 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 13 18:42:40 2014 -0500"
      },
      "message": "introduce __fcheck_files() to fix rcu_dereference_check_fdtable(), kill rcu_my_thread_group_empty()\n\nrcu_dereference_check_fdtable() looks very wrong,\n\n1. rcu_my_thread_group_empty() was added by 844b9a8707f1 \"vfs: fix\n   RCU-lockdep false positive due to /proc\" but it doesn\u0027t really\n   fix the problem. A CLONE_THREAD (without CLONE_FILES) task can\n   hit the same race with get_files_struct().\n\n   And otoh rcu_my_thread_group_empty() can suppress the correct\n   warning if the caller is the CLONE_FILES (without CLONE_THREAD)\n   task.\n\n2. files-\u003ecount \u003d\u003d 1 check is not really right too. Even if this\n   files_struct is not shared it is not safe to access it lockless\n   unless the caller is the owner.\n\n   Otoh, this check is sub-optimal. files-\u003ecount \u003d\u003d 0 always means\n   it is safe to use it lockless even if files !\u003d current-\u003efiles,\n   but put_files_struct() has to take rcu_read_lock(). See the next\n   patch.\n\nThis patch removes the buggy checks and turns fcheck_files() into\n__fcheck_files() which uses rcu_dereference_raw(), the \"unshared\"\ncallers, fget_light() and fget_raw_light(), can use it to avoid\nthe warning from RCU-lockdep.\n\nfcheck_files() is trivially reimplemented as rcu_lockdep_assert()\nplus __fcheck_files().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ddb967179eb2c91fb3488e9dbacf2f6d5768085e",
      "tree": "1b1c25832532737d3951465f60f804058f1fa9e0",
      "parents": [
        "79ff52614cfea2f58830783323718129e9b343c1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 22 13:25:39 2013 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 22 13:25:39 2013 -0500"
      },
      "message": "kill reiserfs_bdevname()\n\nit\u0027s never called with NULL argument...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "79ff52614cfea2f58830783323718129e9b343c1",
      "tree": "67d6f601c456252283595ea59779cb9d2bc25f4a",
      "parents": [
        "a57a260ffca92787c8c55c7468625ed3aa9c518d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 22 01:53:47 2013 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 22 02:07:50 2013 -0500"
      },
      "message": "afs: get rid of junk in fs/afs/proc.c\n\nkill pointless method instances and don\u0027t bother with -\u003eowner - it\u0027s\nignored for procfs files anyway, make use of remove_proc_subtree() for\nremoval, get rid of cell-\u003eproc_dir.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a57a260ffca92787c8c55c7468625ed3aa9c518d",
      "tree": "7caec160dbfcd99885a6a59e620d28ef5f2f61a6",
      "parents": [
        "20343dcd93b2a1d8480a136578b9bff57ca36867"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 22 01:45:04 2013 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 22 01:47:22 2013 -0500"
      },
      "message": "nls: have register_nls() set -\u003eowner\n\npass owner explicitly to __register_nls(), make register_nls() a macro passing\nTHIS_MODULE as the owner argument to __register_nls().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "20343dcd93b2a1d8480a136578b9bff57ca36867",
      "tree": "5029854ce6ceb6c1ceb49286c5154b1416abaa34",
      "parents": [
        "9736335ccd1d5c64db7a65aabc2932563b280239"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 03 13:37:45 2013 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 20 19:35:24 2013 -0500"
      },
      "message": "[splitme] use %p[dD]\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9736335ccd1d5c64db7a65aabc2932563b280239",
      "tree": "2412e991e75e514860e15a344e92db21465cbb52",
      "parents": [
        "527d1511310a89650000081869260394e20c7013"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 30 10:51:04 2013 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 20 19:24:15 2013 -0500"
      },
      "message": "lose the redundant argument of __generic_file_aio_write()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "527d1511310a89650000081869260394e20c7013",
      "tree": "f23f76433f3b67de5eb64ec0963f18737f677b06",
      "parents": [
        "d5bdaf4f68f0590fc481bca54bcaffeb27b75fca",
        "280270828f108be56f0c486def58acabb070244f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 15:13:47 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 15:13:47 2013 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\nPull powerpc LE updates from Ben Herrenschmidt:\n \"With my previous pull request I mentioned some remaining Little Endian\n  patches, notably support for our new ABI, which I was sitting on\n  making sure it was all finalized.\n\n  The toolchain folks confirmed it now, the new ABI is stable and merged\n  with gcc, so we are all good.  Oh and we actually missed the actual\n  Kconfig switch for LE so here it is, along with a couple more bug\n  fixes.\n\n  I have more fixes but not related to LE so I\u0027ll send them as a\n  separate pull request tomorrow, let\u0027s get this one out of the way.\n\n  Note that this supports running user space binaries using the new ABI,\n  but the kernel itself still needs to be built with the old one.  We\u0027ll\n  bring fixes for that after -rc1.\n\n  Here\u0027s Anton log that goes with this series:\n\n     This patch series adds support for the new ABI, LPAR support for\n     H_SET_MODE and finally adds a kconfig option and defconfig.\n\n     ABIv2 support was recently committed to binutils and gcc, and should\n     be merged into glibc soon.  There are a number of very nice\n     improvements including the removal of function descriptors.  Rusty\u0027s\n     kernel patches allow binaries of either ABI to work, easing the\n     transition\"\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc: Wrong DWARF CFI in the kernel vdso for little-endian / ELFv2\n  powerpc: Add pseries_le_defconfig\n  powerpc: Add CONFIG_CPU_LITTLE_ENDIAN kernel config option.\n  powerpc: Don\u0027t use ELFv2 ABI to build the kernel\n  powerpc: ELF2 binaries signal handling\n  powerpc: ELF2 binaries launched directly.\n  powerpc: Set eflags correctly for ELF ABIv2 core dumps.\n  powerpc: Add TIF_ELF2ABI flag.\n  pseries: Add H_SET_MODE to change exception endianness\n  powerpc/pseries: Fix endian issues in pseries EEH code\n"
    },
    {
      "commit": "d5bdaf4f68f0590fc481bca54bcaffeb27b75fca",
      "tree": "a3c02e146c8c3b33e77e212f15d4851b6febd26b",
      "parents": [
        "dc6ec87d4c77029457a79fd6fa9b6f8304dc8348",
        "5cfe8f1ba5eebe6f4b6e5858cdb1a5be4f3272a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 15:03:45 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 15:03:45 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha\n\nPull alpha updates from Matt Turner:\n \"It contains a few fixes and some work from Richard to make alpha\n  emulation under QEMU much more usable\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha:\n  alpha: Prevent a NULL ptr dereference in csum_partial_copy.\n  alpha: perf: fix out-of-bounds array access triggered from raw event\n  alpha: Use qemu+cserve provided high-res clock and alarm.\n  alpha: Switch to GENERIC_CLOCKEVENTS\n  alpha: Enable the rpcc clocksource for single processor\n  alpha: Reorganize rtc handling\n  alpha: Primitive support for CPU power down.\n  alpha: Allow HZ to be configured\n  alpha: Notice if we\u0027re being run under QEMU\n  alpha: Eliminate compiler warning from memset macro\n"
    },
    {
      "commit": "dc6ec87d4c77029457a79fd6fa9b6f8304dc8348",
      "tree": "966392c36ef35c8cf388c0b7a57d1d7c1fe429dc",
      "parents": [
        "8a60ba0a0512c00553c9a20f83f7eabd2662ac0b",
        "964f413323e8306ac0acb5e08ccdb5f12418835b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 15:02:50 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 15:02:50 2013 -0800"
      },
      "message": "Merge branch \u0027parisc-3.13\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux\n\nPull parisc fixes from Helge Deller:\n - revert an access_ok() patch which broke 32bit userspace on 64bit\n   kernels\n - avoid a gcc miscompilation in two internal pa_memcpy() functions by\n   not inlining those\n - do not export the definition of SOCK_NONBLOCK via uapi header (fixes\n   build of audit package)\n - depending on the fault type we now correctly report either SIGBUS or\n   SIGSEGV\n - a small fix to not compare a size_t variable for \u003c 0\n\n* \u0027parisc-3.13\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:\n  parisc: size_t is unsigned, so comparison size \u003c 0 doesn\u0027t make sense.\n  parisc: improve SIGBUS/SIGSEGV error reporting\n  parisc: break out SOCK_NONBLOCK define to own asm header file\n  parisc: do not inline pa_memcpy() internal functions\n  Revert \"parisc: implement full version of access_ok()\"\n"
    },
    {
      "commit": "8a60ba0a0512c00553c9a20f83f7eabd2662ac0b",
      "tree": "7e203d6a4dec465cdd58f1b5e75c8f4ad6368578",
      "parents": [
        "af2e2f328052082f58f041d574ed50c7f21c598f",
        "e7f2c8c1f0e5b062c23001dac229e570228940e8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 15:02:22 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 15:02:22 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32\n\nPull AVR32 updates from Hans-Christian Egtvedt.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32:\n  avr32: uapi: be sure of \"_UAPI\" prefix for all guard macros\n  avr32: add kprobe_ctlblk memory struct\n  avr32: fix out-of-range jump in large kernels\n  avr32: setup crt for early panic()\n"
    },
    {
      "commit": "af2e2f328052082f58f041d574ed50c7f21c598f",
      "tree": "aad7fdd9fe6f3016596b1be8098eaaaa7e0a85f7",
      "parents": [
        "8b2e9b712f6139df9c754af0d67fecc4bbc88545",
        "ed4f381ec15e5f11724cdbc68cffd2c22d1eaebd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 14:51:37 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 14:51:37 2013 -0800"
      },
      "message": "Merge tag \u0027squashfs-updates\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-next\n\nPull squashfs updates from Phillip Lougher:\n \"These patches optionally improve the multi-threading peformance of\n  Squashfs by adding parallel decompression, and direct decompression\n  into the page cache, eliminating an intermediate buffer (removing\n  memcpy overhead and lock contention)\"\n\n* tag \u0027squashfs-updates\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-next:\n  Squashfs: Check stream is not NULL in decompressor_multi.c\n  Squashfs: Directly decompress into the page cache for file data\n  Squashfs: Restructure squashfs_readpage()\n  Squashfs: Generalise paging handling in the decompressors\n  Squashfs: add multi-threaded decompression using percpu variable\n  squashfs: Enhance parallel I/O\n  Squashfs: Refactor decompressor interface and code\n"
    },
    {
      "commit": "8b2e9b712f6139df9c754af0d67fecc4bbc88545",
      "tree": "4260126ffc11a2e60d92f3f9304bc2ea02516332",
      "parents": [
        "b5898cd057001336888b6aff601385b5f5e79b01"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 14:41:47 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 14:41:47 2013 -0800"
      },
      "message": "Revert \"mm: create a separate slab for page-\u003eptl allocation\"\n\nThis reverts commit ea1e7ed33708c7a760419ff9ded0a6cb90586a50.\n\nAl points out that while the commit *does* actually create a separate\nslab for the page-\u003eptl allocation, that slab is never actually used, and\nthe code continues to use kmalloc/kfree.\n\nDamien Wyart points out that the original patch did have the conversion\nto use kmem_cache_alloc/free, so it got lost somewhere on its way to me.\n\nRevert the half-arsed attempt that didn\u0027t do anything.  If we really do\nwant the special slab (remember: this is all relevant just for debug\nbuilds, so it\u0027s not necessarily all that critical) we might as well redo\nthe patch fully.\n\nReported-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Kirill A Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b5898cd057001336888b6aff601385b5f5e79b01",
      "tree": "80f456b6b879c84800f7006e98b29e9c6bdd3831",
      "parents": [
        "2a46eed54a28c1e3de701ca4237ce4f8bebf14c6",
        "31dec1327e377b6d91a8a6c92b5cd8513939a233"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 14:25:39 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 14:25:39 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs bits and pieces from Al Viro:\n \"Assorted bits that got missed in the first pull request + fixes for a\n  couple of coredump regressions\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  fold try_to_ascend() into the sole remaining caller\n  dcache.c: get rid of pointless macros\n  take read_seqbegin_or_lock() and friends to seqlock.h\n  consolidate simple -\u003ed_delete() instances\n  gfs2: endianness misannotations\n  dump_emit(): use __kernel_write(), not vfs_write()\n  dump_align(): fix the dumb braino\n"
    },
    {
      "commit": "2a46eed54a28c1e3de701ca4237ce4f8bebf14c6",
      "tree": "d1bb3671fed7746110175a480b72a543bfd3d271",
      "parents": [
        "82023bb7f75b0052f40d3e74169d191c3e4e6286"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Wed Nov 20 22:16:36 2013 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 14:22:14 2013 -0800"
      },
      "message": "Wrong page freed on preallocate_pmds() failure exit\n\nNote that pmds[i] is simply uninitialized at that point...\n\nGranted, it\u0027s very hard to hit (you need split page locks *and*\nkmalloc(sizeof(spinlock_t), GFP_KERNEL) failing), but the code is\nobviously bogus.\n\nIntroduced by commit 09ef4939850a (\"x86: add missed\npgtable_pmd_page_ctor/dtor calls for preallocated pmds\")\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "280270828f108be56f0c486def58acabb070244f",
      "tree": "60e3a4b2fdc31af724e0fdc5cc111cda7f8e2bcb",
      "parents": [
        "f53e462e907cbaed29c49c0f10f5b8f614e1bf1d"
      ],
      "author": {
        "name": "Ulrich Weigand",
        "email": "Ulrich.Weigand@de.ibm.com",
        "time": "Thu Nov 21 07:38:05 2013 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 21 09:19:23 2013 +1100"
      },
      "message": "powerpc: Wrong DWARF CFI in the kernel vdso for little-endian / ELFv2\n\nI\u0027ve finally tracked down why my CR signal-unwind test case still\nfails on little-endian.  The problem turned to be that the kernel\ninstalls a signal trampoline in the vDSO, and provides a DWARF CFI\nrecord for that trampoline.  This CFI describes the save location\nfor CR:\n\n  rsave (70, 38*RSIZE + (RSIZE - CRSIZE))\n\nwhich is correct for big-endian, but points to the wrong word on\nlittle-endian.   This is wrong no matter which ABI.\n\nIn addition, for the ELFv2 ABI, we should not only provide a CFI\nrecord for register 70 (cr2), but for all CR fields separately.\nStrictly speaking, I guess this would mean providing two separate\nvDSO images, one for ELFv1 processes and one for ELFv2 processes (or\nmaybe playing some tricks with conditional DWARF expressions).\nHowever, having CFI records for the other CR fields in ELFv1 is not\nactually wrong, they just will be ignored.   So it seems the simplest\nfix would be just to always provide CFI for all the fields.\n\nSigned-off-by: Ulrich Weigand \u003cUlrich.Weigand@de.ibm.com\u003e\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "f53e462e907cbaed29c49c0f10f5b8f614e1bf1d",
      "tree": "f9bb545c9759e6e21e424a6deea1dbae66382936",
      "parents": [
        "7c105b63bd9887f10ec281b0020492e7c774d0fc"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Nov 20 22:15:06 2013 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 21 09:19:23 2013 +1100"
      },
      "message": "powerpc: Add pseries_le_defconfig\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "7c105b63bd9887f10ec281b0020492e7c774d0fc",
      "tree": "6ff54e40e92ae6ddda94d0da1479c1266475478e",
      "parents": [
        "b2ca8c895e711b10d6f28b26248358bfa2f354ad"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Nov 20 22:15:05 2013 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 21 09:19:22 2013 +1100"
      },
      "message": "powerpc: Add CONFIG_CPU_LITTLE_ENDIAN kernel config option.\n\nWith the little endian support merged, we can add the\nCONFIG_CPU_LITTLE_ENDIAN kernel config option.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "b2ca8c895e711b10d6f28b26248358bfa2f354ad",
      "tree": "6696afef9cf421c631386d0c1cc8dbe534934e4f",
      "parents": [
        "d606b92aedb0542e60965e9058ab37efcebfaec6"
      ],
      "author": {
        "name": "Alistair Popple",
        "email": "alistair@popple.id.au",
        "time": "Wed Nov 20 22:15:04 2013 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 21 09:19:21 2013 +1100"
      },
      "message": "powerpc: Don\u0027t use ELFv2 ABI to build the kernel\n\nThe kernel doesn\u0027t build correctly using the ELFv2 ABI.  This patch\nensures that the ELFv1 ABI is used when building a kernel with an\nELFv2 enabled compiler.\n\nSigned-off-by: Alistair Popple \u003calistair@popple.id.au\u003e\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "d606b92aedb0542e60965e9058ab37efcebfaec6",
      "tree": "6759af3889c447578dc5ee8ac90d3c0bf71d0e0d",
      "parents": [
        "94af3abf995b17f6a008b00152c94841242ec6c7"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Nov 20 22:15:03 2013 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 21 09:19:20 2013 +1100"
      },
      "message": "powerpc: ELF2 binaries signal handling\n\nFor the ELFv2 ABI, the hander is the entry point, not a function descriptor.\nWe also need to set up r12, and fortunately the fast_exception_return\nexit path restores r12 for us so nothing else is required.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "94af3abf995b17f6a008b00152c94841242ec6c7",
      "tree": "97f860cd9c2957d3c51cccfaa927ae94b3b898e4",
      "parents": [
        "918d03552e031dcbdaa2a22da3c2abff5952c38a"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Nov 20 22:15:02 2013 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 21 09:19:19 2013 +1100"
      },
      "message": "powerpc: ELF2 binaries launched directly.\n\nNo function descriptor, but we set r12 up and set TIF_RESTOREALL as it\nnormally isn\u0027t restored on return from syscall.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "918d03552e031dcbdaa2a22da3c2abff5952c38a",
      "tree": "682e693754ec01ef3dd67c54c88a6a0e6f4f74ed",
      "parents": [
        "373c76d62240cd3c1a3af42440b0a73cb7296bda"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Nov 20 22:15:01 2013 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 21 09:19:18 2013 +1100"
      },
      "message": "powerpc: Set eflags correctly for ELF ABIv2 core dumps.\n\nWe leave it at zero (though it could be 1) for old tasks.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "373c76d62240cd3c1a3af42440b0a73cb7296bda",
      "tree": "2d42b5eb695ef1b2ead78147af26a72e6af9e5c2",
      "parents": [
        "e844b1eeae42dc93bf13e67812a95ee7b58be8c7"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Nov 20 22:15:00 2013 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 21 09:19:17 2013 +1100"
      },
      "message": "powerpc: Add TIF_ELF2ABI flag.\n\nLittle endian ppc64 is getting an exciting new ABI.  This is reflected\nby the bottom two bits of e_flags in the ELF header:\n\n\t0 \u003d\u003d legacy binaries (v1 ABI)\n\t1 \u003d\u003d binaries using the old ABI (compiled with a new toolchain)\n\t2 \u003d\u003d binaries using the new ABI.\n\nWe store this in a thread flag, because we need to set it in core\ndumps and for signal delivery.  Our chief concern is that it doesn\u0027t\nuse function descriptors.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "e844b1eeae42dc93bf13e67812a95ee7b58be8c7",
      "tree": "7c36d37d883ed5ec6b386277c38e20d9485fdaca",
      "parents": [
        "b91da2d4ce896c324bdbf1a078dbbe2db9a35ef1"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Nov 20 22:14:59 2013 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 21 09:19:16 2013 +1100"
      },
      "message": "pseries: Add H_SET_MODE to change exception endianness\n\nOn little endian builds call H_SET_MODE so exceptions have the\ncorrect endianness. We need to reset the endian during kexec\nso do that in the MMU hashtable clear callback.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "b91da2d4ce896c324bdbf1a078dbbe2db9a35ef1",
      "tree": "ffb3823c46165a9b3b4e54207d8746f8b1e7046f",
      "parents": [
        "0c4888ef1d8a8b82c29075ce7e257ff795af15c7"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Nov 20 22:14:58 2013 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 21 09:19:15 2013 +1100"
      },
      "message": "powerpc/pseries: Fix endian issues in pseries EEH code\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "82023bb7f75b0052f40d3e74169d191c3e4e6286",
      "tree": "06ad7f507852adf41a2ca33d5cb7100faeaf8499",
      "parents": [
        "e6d69a60b77a6ea8d5f9d41765c7571bb8d45531",
        "ed6a82546d2e8f6b5902269541733814d4adacc2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 13:25:04 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 13:25:04 2013 -0800"
      },
      "message": "Merge tag \u0027pm+acpi-2-3.13-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull more ACPI and power management updates from Rafael Wysocki:\n\n - ACPI-based device hotplug fixes for issues introduced recently and a\n   fix for an older error code path bug in the ACPI PCI host bridge\n   driver\n\n - Fix for recently broken OMAP cpufreq build from Viresh Kumar\n\n - Fix for a recent hibernation regression related to s2disk\n\n - Fix for a locking-related regression in the ACPI EC driver from\n   Puneet Kumar\n\n - System suspend error code path fix related to runtime PM and runtime\n   PM documentation update from Ulf Hansson\n\n - cpufreq\u0027s conservative governor fix from Xiaoguang Chen\n\n - New processor IDs for intel_idle and turbostat and removal of an\n   obsolete Kconfig option from Len Brown\n\n - New device IDs for the ACPI LPSS (Low-Power Subsystem) driver and\n   ACPI-based PCI hotplug (ACPIPHP) cleanup from Mika Westerberg\n\n - Removal of several ACPI video DMI blacklist entries that are not\n   necessary any more from Aaron Lu\n\n - Rework of the ACPI companion representation in struct device and code\n   cleanup related to that change from Rafael J Wysocki, Lan Tianyu and\n   Jarkko Nikula\n\n - Fixes for assigning names to ACPI-enumerated I2C and SPI devices from\n   Jarkko Nikula\n\n* tag \u0027pm+acpi-2-3.13-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (24 commits)\n  PCI / hotplug / ACPI: Drop unused acpiphp_debug declaration\n  ACPI / scan: Set flags.match_driver in acpi_bus_scan_fixed()\n  ACPI / PCI root: Clear driver_data before failing enumeration\n  ACPI / hotplug: Fix PCI host bridge hot removal\n  ACPI / hotplug: Fix acpi_bus_get_device() return value check\n  cpufreq: governor: Remove fossil comment in the cpufreq_governor_dbs()\n  ACPI / video: clean up DMI table for initial black screen problem\n  ACPI / EC: Ensure lock is acquired before accessing ec struct members\n  PM / Hibernate: Do not crash kernel in free_basic_memory_bitmaps()\n  ACPI / AC: Remove struct acpi_device pointer from struct acpi_ac\n  spi: Use stable dev_name for ACPI enumerated SPI slaves\n  i2c: Use stable dev_name for ACPI enumerated I2C slaves\n  ACPI: Provide acpi_dev_name accessor for struct acpi_device device name\n  ACPI / bind: Use (put|get)_device() on ACPI device objects too\n  ACPI: Eliminate the DEVICE_ACPI_HANDLE() macro\n  ACPI / driver core: Store an ACPI device pointer in struct acpi_dev_node\n  cpufreq: OMAP: Fix compilation error \u0027r \u0026 ret undeclared\u0027\n  PM / Runtime: Fix error path for prepare\n  PM / Runtime: Update documentation around probe|remove|suspend\n  cpufreq: conservative: set requested_freq to policy max when it is over policy max\n  ...\n"
    },
    {
      "commit": "e6d69a60b77a6ea8d5f9d41765c7571bb8d45531",
      "tree": "4ea3fe7c49a864da2ce7ffb51a703661826dc15d",
      "parents": [
        "5a1efc6e68a095917277459091fafba6a6baef17",
        "df12a3178d340319b1955be6b973a4eb84aff754"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 13:20:24 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 13:20:24 2013 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.infradead.org/users/vkoul/slave-dma\n\nPull slave-dmaengine changes from Vinod Koul:\n \"This brings for slave dmaengine:\n\n   - Change dma notification flag to DMA_COMPLETE from DMA_SUCCESS as\n     dmaengine can only transfer and not verify validaty of dma\n     transfers\n\n   - Bunch of fixes across drivers:\n\n      - cppi41 driver fixes from Daniel\n\n      - 8 channel freescale dma engine support and updated bindings from\n        Hongbo\n\n      - msx-dma fixes and cleanup by Markus\n\n   - DMAengine updates from Dan:\n\n      - Bartlomiej and Dan finalized a rework of the dma address unmap\n        implementation.\n\n      - In the course of testing 1/ a collection of enhancements to\n        dmatest fell out.  Notably basic performance statistics, and\n        fixed / enhanced test control through new module parameters\n        \u0027run\u0027, \u0027wait\u0027, \u0027noverify\u0027, and \u0027verbose\u0027.  Thanks to Andriy and\n        Linus [Walleij] for their review.\n\n      - Testing the raid related corner cases of 1/ triggered bugs in\n        the recently added 16-source operation support in the ioatdma\n        driver.\n\n      - Some minor fixes / cleanups to mv_xor and ioatdma\"\n\n* \u0027next\u0027 of git://git.infradead.org/users/vkoul/slave-dma: (99 commits)\n  dma: mv_xor: Fix mis-usage of mmio \u0027base\u0027 and \u0027high_base\u0027 registers\n  dma: mv_xor: Remove unneeded NULL address check\n  ioat: fix ioat3_irq_reinit\n  ioat: kill msix_single_vector support\n  raid6test: add new corner case for ioatdma driver\n  ioatdma: clean up sed pool kmem_cache\n  ioatdma: fix selection of 16 vs 8 source path\n  ioatdma: fix sed pool selection\n  ioatdma: Fix bug in selftest after removal of DMA_MEMSET.\n  dmatest: verbose mode\n  dmatest: convert to dmaengine_unmap_data\n  dmatest: add a \u0027wait\u0027 parameter\n  dmatest: add basic performance metrics\n  dmatest: add support for skipping verification and random data setup\n  dmatest: use pseudo random numbers\n  dmatest: support xor-only, or pq-only channels in tests\n  dmatest: restore ability to start test at module load and init\n  dmatest: cleanup redundant \"dmatest: \" prefixes\n  dmatest: replace stored results mechanism, with uniform messages\n  Revert \"dmatest: append verify result to results\"\n  ...\n"
    },
    {
      "commit": "5a1efc6e68a095917277459091fafba6a6baef17",
      "tree": "9f3d9b14893689cee1b7918e51b15ca135f6563a",
      "parents": [
        "6d6e352c80f22c446d933ca8103e02bac1f09129",
        "01b983c9fcfeea5774ca2df2e167b68c3c299278"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 13:06:20 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 13:06:20 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\nPull block IO fixes from Jens Axboe:\n \"Normally I\u0027d defer my initial for-linus pull request until after the\n  merge window, but a race was uncovered in the virtio-blk conversion to\n  blk-mq that could cause hangs.  So here\u0027s a small collection of fixes\n  for you to pull:\n\n   - The fix for the virtio-blk IO hang reported by Dave Chinner, from\n     Shaohua and myself.\n\n   - Add the Insert blktrace event for blk-mq.  This makes \u0027btt\u0027 happy\n     when it is doing it\u0027s state transition analysis.\n\n   - Ensure that blk-mq has disk/partition stats enabled by default,\n     instead of making it opt-in.\n\n   - A fix for __bio_add_page() and large sector counts\"\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  blk-mq: add blktrace insert event trace\n  virtio-blk: virtqueue_kick() must be ordered with other virtqueue operations\n  blk-mq: ensure that we set REQ_IO_STAT so diskstats work\n  bio: fix argument of __bio_add_page() for max_sectors \u003e 0xffff\n"
    },
    {
      "commit": "6d6e352c80f22c446d933ca8103e02bac1f09129",
      "tree": "248a6a7ebc5ea95986da5bccdd6d75b255cf28e4",
      "parents": [
        "b4789b8e6be3151a955ade74872822f30e8cd914",
        "60aaf933854511630e16be4efe0f96485e132de4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 13:05:25 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 13:05:25 2013 -0800"
      },
      "message": "Merge tag \u0027md/3.13\u0027 of git://neil.brown.name/md\n\nPull md update from Neil Brown:\n \"Mostly optimisations and obscure bug fixes.\n   - raid5 gets less lock contention\n   - raid1 gets less contention between normal-io and resync-io during\n     resync\"\n\n* tag \u0027md/3.13\u0027 of git://neil.brown.name/md:\n  md/raid5: Use conf-\u003edevice_lock protect changing of multi-thread resources.\n  md/raid5: Before freeing old multi-thread worker, it should flush them.\n  md/raid5: For stripe with R5_ReadNoMerge, we replace REQ_FLUSH with REQ_NOMERGE.\n  UAPI: include \u003casm/byteorder.h\u003e in linux/raid/md_p.h\n  raid1: Rewrite the implementation of iobarrier.\n  raid1: Add some macros to make code clearly.\n  raid1: Replace raise_barrier/lower_barrier with freeze_array/unfreeze_array when reconfiguring the array.\n  raid1: Add a field array_frozen to indicate whether raid in freeze state.\n  md: Convert use of typedef ctl_table to struct ctl_table\n  md/raid5: avoid deadlock when raid5 array has unack badblocks during md_stop_writes.\n  md: use MD_RECOVERY_INTR instead of kthread_should_stop in resync thread.\n  md: fix some places where mddev_lock return value is not checked.\n  raid5: Retry R5_ReadNoMerge flag when hit a read error.\n  raid5: relieve lock contention in get_active_stripe()\n  raid5: relieve lock contention in get_active_stripe()\n  wait: add wait_event_cmd()\n  md/raid5.c: add proper locking to error path of raid5_start_reshape.\n  md: fix calculation of stacking limits on level change.\n  raid5: Use slow_path to release stripe when mddev-\u003ethread is null\n"
    },
    {
      "commit": "e7f2c8c1f0e5b062c23001dac229e570228940e8",
      "tree": "228a988fa2a0c5da303504add19604cabb31b61c",
      "parents": [
        "dbc0d691a4dd7787efd94aa26fe7682a457e53d8"
      ],
      "author": {
        "name": "Chen Gang",
        "email": "gang.chen@asianux.com",
        "time": "Tue Nov 12 16:38:47 2013 +0800"
      },
      "committer": {
        "name": "Hans-Christian Egtvedt",
        "email": "hegtvedt@cisco.com",
        "time": "Wed Nov 20 09:53:22 2013 +0100"
      },
      "message": "avr32: uapi: be sure of \"_UAPI\" prefix for all guard macros\n\nFor all uapi headers, need use \"_UAPI\" prefix for its guard macro\n(which will be stripped by \"scripts/headers_installer.sh\").\n\nAlso remove redundant files (bitsperlong.h, errno.h, fcntl.h, ioctl.h,\nioctls.h, ipcbuf.h, kvm_para.h, mman.h, poll.h, resource.h, siginfo.h,\nstatfs.h, and unistd.h) which are already in Kbuild.\n\nAlso be sure that all \"#endif\" only have one empty line above, and each\nfile has guard macro.\n\nSigned-off-by: Chen Gang \u003cgang.chen@asianux.com\u003e\nSigned-off-by: Hans-Christian Egtvedt \u003chegtvedt@cisco.com\u003e\n"
    },
    {
      "commit": "dbc0d691a4dd7787efd94aa26fe7682a457e53d8",
      "tree": "3d66d4d5a8b5cbf711309b6b7bc359110877e474",
      "parents": [
        "d617b338bbfdd77e9cbd8e7dc949cee3dd73d575"
      ],
      "author": {
        "name": "Eirik Aanonsen",
        "email": "eaa@wprmedical.com",
        "time": "Wed Nov 06 22:00:33 2013 +0100"
      },
      "committer": {
        "name": "Hans-Christian Egtvedt",
        "email": "hegtvedt@cisco.com",
        "time": "Wed Nov 20 09:53:22 2013 +0100"
      },
      "message": "avr32: add kprobe_ctlblk memory struct\n\nThis re-enables kprobes on AVR32 architecture.\n\nSigned-off-by: Eirik Aanonsen \u003ceaa@wprmedical.com\u003e\nSigned-off-by: Hans-Christian Egtvedt \u003cegtvedt@samfundet.no\u003e\n"
    },
    {
      "commit": "d617b338bbfdd77e9cbd8e7dc949cee3dd73d575",
      "tree": "fb8f14a63ccc6338ec5acc89dfdeb8b449461ff2",
      "parents": [
        "7a2a74f4b856993218aa7cdeeb6c3103101340db"
      ],
      "author": {
        "name": "Andreas Bießmann",
        "email": "andreas@biessmann.de",
        "time": "Thu Oct 24 12:31:04 2013 +0200"
      },
      "committer": {
        "name": "Hans-Christian Egtvedt",
        "email": "hegtvedt@cisco.com",
        "time": "Wed Nov 20 09:53:21 2013 +0100"
      },
      "message": "avr32: fix out-of-range jump in large kernels\n\nThis patch fixes following error (for big kernels):\n\n---8\u003c---\narch/avr32/boot/u-boot/head.o: In function `no_tag_table\u0027:\n(.init.text+0x44): relocation truncated to fit: R_AVR32_22H_PCREL against symbol `panic\u0027 defined in .text.unlikely section in kernel/built-in.o\narch/avr32/kernel/built-in.o: In function `bad_return\u0027:\n(.ex.text+0x236): relocation truncated to fit: R_AVR32_22H_PCREL against symbol `panic\u0027 defined in .text.unlikely section in kernel/built-in.o\n---\u003e8---\n\nIt comes up when the kernel increases and \u0027panic()\u0027 is too far away to fit in\nthe +/- 2MiB range. Which in turn issues from the 21-bit displacement in\n\u0027br{cond4}\u0027 mnemonic which is one of the two ways to do jumps (rjmp has just\n10-bit displacement and therefore a way smaller range). This fact was stated\nbefore in 8d29b7b9f81d6b83d869ff054e6c189d6da73f1f.\nOne solution to solve this is to add a local storage for the symbol address\nand just load the $pc with that value.\n\nSigned-off-by: Andreas Bießmann \u003candreas@biessmann.de\u003e\nAcked-by: Hans-Christian Egtvedt \u003cegtvedt@samfundet.no\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@gmail.com\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "7a2a74f4b856993218aa7cdeeb6c3103101340db",
      "tree": "a33d46eda9bf3a8c28e90b34e0868426ecd7b0f8",
      "parents": [
        "b4789b8e6be3151a955ade74872822f30e8cd914"
      ],
      "author": {
        "name": "Andreas Bießmann",
        "email": "andreas@biessmann.de",
        "time": "Thu Oct 24 12:31:03 2013 +0200"
      },
      "committer": {
        "name": "Hans-Christian Egtvedt",
        "email": "hegtvedt@cisco.com",
        "time": "Wed Nov 20 09:53:21 2013 +0100"
      },
      "message": "avr32: setup crt for early panic()\n\nBefore the CRT was (fully) set up in kernel_entry (bss cleared before in\n_start, but also not before jump to panic() in no_tag_table case).\n\nThis patch fixes this up to have a fully working CRT when branching to panic()\nin no_tag_table.\n\nSigned-off-by: Andreas Bießmann \u003candreas@biessmann.de\u003e\nAcked-by: Hans-Christian Egtvedt \u003cegtvedt@samfundet.no\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@gmail.com\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "ed4f381ec15e5f11724cdbc68cffd2c22d1eaebd",
      "tree": "164317dc8f4526510179bab62e3c53f0f89080b1",
      "parents": [
        "0d455c12c6428647547bacccaaced3cae0f35570"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Sun Nov 10 00:02:29 2013 +0000"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Wed Nov 20 03:59:20 2013 +0000"
      },
      "message": "Squashfs: Check stream is not NULL in decompressor_multi.c\n\nFix static checker complaint that stream is not checked in\nsquashfs_decompressor_destroy().\n\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Phillip Lougher \u003cphillip@squashfs.org.uk\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\n"
    },
    {
      "commit": "0d455c12c6428647547bacccaaced3cae0f35570",
      "tree": "a0c47256d66de9d70942b0d7f9422c8d7d5c5a41",
      "parents": [
        "5f55dbc0c5c466a9cdfa4da7ac1bfe351c7fc52a"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Wed Nov 13 02:04:19 2013 +0000"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Wed Nov 20 03:59:13 2013 +0000"
      },
      "message": "Squashfs: Directly decompress into the page cache for file data\n\nThis introduces an implementation of squashfs_readpage_block()\nthat directly decompresses into the page cache.\n\nThis uses the previously added page handler abstraction to push\ndown the necessary kmap_atomic/kunmap_atomic operations on the\npage cache buffers into the decompressors.  This enables\ndirect copying into the page cache without using the slow\nkmap/kunmap calls.\n\nThe code detects when multiple threads are racing in\nsquashfs_readpage() to decompress the same block, and avoids\nthis regression by falling back to using an intermediate\nbuffer.\n\nThis patch enhances the performance of Squashfs significantly\nwhen multiple processes are accessing the filesystem simultaneously\nbecause it not only reduces memcopying, but it more importantly\neliminates the lock contention on the intermediate buffer.\n\nUsing single-thread decompression.\n\n        dd if\u003dfile1 of\u003d/dev/null bs\u003d4096 \u0026\n        dd if\u003dfile2 of\u003d/dev/null bs\u003d4096 \u0026\n        dd if\u003dfile3 of\u003d/dev/null bs\u003d4096 \u0026\n        dd if\u003dfile4 of\u003d/dev/null bs\u003d4096\n\nBefore:\n\n629145600 bytes (629 MB) copied, 45.8046 s, 13.7 MB/s\n\nAfter:\n\n629145600 bytes (629 MB) copied, 9.29414 s, 67.7 MB/s\n\nSigned-off-by: Phillip Lougher \u003cphillip@squashfs.org.uk\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\n"
    },
    {
      "commit": "5f55dbc0c5c466a9cdfa4da7ac1bfe351c7fc52a",
      "tree": "dccfe66c090bfd05c75f5d6a1cc31bf138bd76b1",
      "parents": [
        "846b730e99518a1c9945afcb2afbe4d08a02ed80"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Thu Oct 31 19:24:27 2013 +0000"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Wed Nov 20 03:59:07 2013 +0000"
      },
      "message": "Squashfs: Restructure squashfs_readpage()\n\nRestructure squashfs_readpage() splitting it into separate\nfunctions for datablocks, fragments and sparse blocks.\n\nMove the memcpying (from squashfs cache entry) implementation of\nsquashfs_readpage_block into file_cache.c\n\nThis allows different implementations to be supported.\n\nSigned-off-by: Phillip Lougher \u003cphillip@squashfs.org.uk\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\n"
    },
    {
      "commit": "846b730e99518a1c9945afcb2afbe4d08a02ed80",
      "tree": "c70eb16cbec15e5bfa1db80c5f18e062673331a9",
      "parents": [
        "d208383d640727b70cd6689bc17e67e9b5ebf4ff"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Mon Nov 18 02:59:12 2013 +0000"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Wed Nov 20 03:59:01 2013 +0000"
      },
      "message": "Squashfs: Generalise paging handling in the decompressors\n\nFurther generalise the decompressors by adding a page handler\nabstraction.  This adds helpers to allow the decompressors\nto access and process the output buffers in an implementation\nindependant manner.\n\nThis allows different types of output buffer to be passed\nto the decompressors, with the implementation specific\naspects handled at decompression time, but without the\nknowledge being held in the decompressor wrapper code.\n\nThis will allow the decompressors to handle Squashfs\ncache buffers, and page cache pages.\n\nThis patch adds the abstraction and an implementation for\nthe caches.\n\nSigned-off-by: Phillip Lougher \u003cphillip@squashfs.org.uk\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\n"
    },
    {
      "commit": "d208383d640727b70cd6689bc17e67e9b5ebf4ff",
      "tree": "03a6146c22473beb13e2ebda605d6a332ddb758b",
      "parents": [
        "cd59c2ec5f37a2bc1315c9324aab6c21d43ffa1a"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Mon Nov 18 02:31:36 2013 +0000"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Wed Nov 20 03:58:03 2013 +0000"
      },
      "message": "Squashfs: add multi-threaded decompression using percpu variable\n\nAdd a multi-threaded decompression implementation which uses\npercpu variables.\n\nUsing percpu variables has advantages and disadvantages over\nimplementations which do not use percpu variables.\n\nAdvantages:\n  * the nature of percpu variables ensures decompression is\n    load-balanced across the multiple cores.\n  * simplicity.\n\nDisadvantages: it limits decompression to one thread per core.\n\nSigned-off-by: Phillip Lougher \u003cphillip@squashfs.org.uk\u003e\n"
    },
    {
      "commit": "cd59c2ec5f37a2bc1315c9324aab6c21d43ffa1a",
      "tree": "10c3dca3e50bdc1f58f025f02cd85a2bfd8d3420",
      "parents": [
        "9508c6b90b3f57ecea4e7a896cf8325400fc0c6e"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan@kernel.org",
        "time": "Mon Oct 28 14:26:30 2013 +0900"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Wed Nov 20 03:35:18 2013 +0000"
      },
      "message": "squashfs: Enhance parallel I/O\n\nNow squashfs have used for only one stream buffer for decompression\nso it hurts parallel read performance so this patch supports\nmultiple decompressor to enhance performance parallel I/O.\n\nFour 1G file dd read on KVM machine which has 2 CPU and 4G memory.\n\ndd if\u003dtest/test1.dat of\u003d/dev/null \u0026\ndd if\u003dtest/test2.dat of\u003d/dev/null \u0026\ndd if\u003dtest/test3.dat of\u003d/dev/null \u0026\ndd if\u003dtest/test4.dat of\u003d/dev/null \u0026\n\nold : 1m39s -\u003e new : 9s\n\n* From v1\n  * Change comp_strm with decomp_strm - Phillip\n  * Change/add comments - Phillip\n\nSigned-off-by: Minchan Kim \u003cminchan@kernel.org\u003e\nSigned-off-by: Phillip Lougher \u003cphillip@squashfs.org.uk\u003e\n"
    },
    {
      "commit": "9508c6b90b3f57ecea4e7a896cf8325400fc0c6e",
      "tree": "a31589009d7d85d722b52c0ef21838ca6d2888da",
      "parents": [
        "959f58544b7f20c92d5eb43d1232c96c15c01bfb"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Wed Nov 13 02:56:26 2013 +0000"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Wed Nov 20 03:35:18 2013 +0000"
      },
      "message": "Squashfs: Refactor decompressor interface and code\n\nThe decompressor interface and code was written from\nthe point of view of single-threaded operation.  In doing\nso it mixed a lot of single-threaded implementation specific\naspects into the decompressor code and elsewhere which makes it\ndifficult to seamlessly support multiple different decompressor\nimplementations.\n\nThis patch does the following:\n\n1.  It removes compressor_options parsing from the decompressor\n    init() function.  This allows the decompressor init() function\n    to be dynamically called to instantiate multiple decompressors,\n    without the compressor options needing to be read and parsed each\n    time.\n\n2.  It moves threading and all sleeping operations out of the\n    decompressors.  In doing so, it makes the decompressors\n    non-blocking wrappers which only deal with interfacing with\n    the decompressor implementation.\n\n3. It splits decompressor.[ch] into decompressor generic functions\n   in decompressor.[ch], and moves the single threaded\n   decompressor implementation into decompressor_single.c.\n\nThe result of this patch is Squashfs should now be able to\nsupport multiple decompressors by adding new decompressor_xxx.c\nfiles with specialised implementations of the functions in\ndecompressor_single.c\n\nSigned-off-by: Phillip Lougher \u003cphillip@squashfs.org.uk\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\n"
    },
    {
      "commit": "01b983c9fcfeea5774ca2df2e167b68c3c299278",
      "tree": "be2bdbbd77472f73ec758f69b5320216c101a90b",
      "parents": [
        "f02b9ac35a47dff745c7637fbc095f01cc03646e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Nov 19 18:59:10 2013 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Nov 19 19:00:45 2013 -0700"
      },
      "message": "blk-mq: add blktrace insert event trace\n\nWe need it to make \u0027btt\u0027 from blktrace happy, otherwise\nwe are missing one state transition.\n\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "f02b9ac35a47dff745c7637fbc095f01cc03646e",
      "tree": "3615c099998adb4d8b65681acb16d9b060b1ee89",
      "parents": [
        "94eddfbeaafa3e8040a2c47d370dea0e58e76941"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shli@fusionio.com",
        "time": "Tue Nov 19 18:57:24 2013 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Nov 19 19:00:45 2013 -0700"
      },
      "message": "virtio-blk: virtqueue_kick() must be ordered with other virtqueue operations\n\nIt isn\u0027t safe to call it without holding the vblk-\u003evq_lock.\n\nReported-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Shaohua Li \u003cshli@fusionio.com\u003e\n\nFixed another condition of virtqueue_kick() not holding the lock.\n\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "b4789b8e6be3151a955ade74872822f30e8cd914",
      "tree": "070da93a2dea0db435ae935b90e73cb807440f79",
      "parents": [
        "1ee2dcc2245340cf4ac94b99c4d00efbeba61824"
      ],
      "author": {
        "name": "Mahesh Rajashekhara",
        "email": "Mahesh.Rajashekhara@pmcs.com",
        "time": "Thu Oct 31 14:01:02 2013 +0530"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 16:27:39 2013 -0800"
      },
      "message": "aacraid: prevent invalid pointer dereference\n\nIt appears that driver runs into a problem here if fibsize is too small\nbecause we allocate user_srbcmd with fibsize size only but later we\naccess it until user_srbcmd-\u003esg.count to copy it over to srbcmd.\n\nIt is not correct to test (fibsize \u003c sizeof(*user_srbcmd)) because this\nstructure already includes one sg element and this is not needed for\ncommands without data.  So, we would recommend to add the following\n(instead of test for fibsize \u003d\u003d 0).\n\nSigned-off-by: Mahesh Rajashekhara \u003cMahesh.Rajashekhara@pmcs.com\u003e\nReported-by: Nico Golde \u003cnico@ngolde.de\u003e\nReported-by: Fabian Yamaguchi \u003cfabs@goesec.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ee2dcc2245340cf4ac94b99c4d00efbeba61824",
      "tree": "5339e55add987379525177011dde6e3756b1430c",
      "parents": [
        "4457e6f6c9f6052cd5f44a79037108b5ddeb0ce7",
        "091e0662ee2c37867ad918ce7b6ddd17f0e090e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 15:50:47 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 15:50:47 2013 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n \"Mostly these are fixes for fallout due to merge window changes, as\n  well as cures for problems that have been with us for a much longer\n  period of time\"\n\n 1) Johannes Berg noticed two major deficiencies in our genetlink\n    registration.  Some genetlink protocols we passing in constant\n    counts for their ops array rather than something like\n    ARRAY_SIZE(ops) or similar.  Also, some genetlink protocols were\n    using fixed IDs for their multicast groups.\n\n    We have to retain these fixed IDs to keep existing userland tools\n    working, but reserve them so that other multicast groups used by\n    other protocols can not possibly conflict.\n\n    In dealing with these two problems, we actually now use less state\n    management for genetlink operations and multicast groups.\n\n 2) When configuring interface hardware timestamping, fix several\n    drivers that simply do not validate that the hwtstamp_config value\n    is one the driver actually supports.  From Ben Hutchings.\n\n 3) Invalid memory references in mwifiex driver, from Amitkumar Karwar.\n\n 4) In dev_forward_skb(), set the skb-\u003eprotocol in the right order\n    relative to skb_scrub_packet().  From Alexei Starovoitov.\n\n 5) Bridge erroneously fails to use the proper wrapper functions to make\n    calls to netdev_ops-\u003endo_vlan_rx_{add,kill}_vid.  Fix from Toshiaki\n    Makita.\n\n 6) When detaching a bridge port, make sure to flush all VLAN IDs to\n    prevent them from leaking, also from Toshiaki Makita.\n\n 7) Put in a compromise for TCP Small Queues so that deep queued devices\n    that delay TX reclaim non-trivially don\u0027t have such a performance\n    decrease.  One particularly problematic area is 802.11 AMPDU in\n    wireless.  From Eric Dumazet.\n\n 8) Fix crashes in tcp_fastopen_cache_get(), we can see NULL socket dsts\n    here.  Fix from Eric Dumzaet, reported by Dave Jones.\n\n 9) Fix use after free in ipv6 SIT driver, from Willem de Bruijn.\n\n10) When computing mergeable buffer sizes, virtio-net fails to take the\n    virtio-net header into account.  From Michael Dalton.\n\n11) Fix seqlock deadlock in ip4_datagram_connect() wrt.  statistic\n    bumping, this one has been with us for a while.  From Eric Dumazet.\n\n12) Fix NULL deref in the new TIPC fragmentation handling, from Erik\n    Hugne.\n\n13) 6lowpan bit used for traffic classification was wrong, from Jukka\n    Rissanen.\n\n14) macvlan has the same issue as normal vlans did wrt.  propagating LRO\n    disabling down to the real device, fix it the same way.  From Michal\n    Kubecek.\n\n15) CPSW driver needs to soft reset all slaves during suspend, from\n    Daniel Mack.\n\n16) Fix small frame pacing in FQ packet scheduler, from Eric Dumazet.\n\n17) The xen-netfront RX buffer refill timer isn\u0027t properly scheduled on\n    partial RX allocation success, from Ma JieYue.\n\n18) When ipv6 ping protocol support was added, the AF_INET6 protocol\n    initialization cleanup path on failure was borked a little.  Fix\n    from Vlad Yasevich.\n\n19) If a socket disconnects during a read/recvmsg/recvfrom/etc that\n    blocks we can do the wrong thing with the msg_name we write back to\n    userspace.  From Hannes Frederic Sowa.  There is another fix in the\n    works from Hannes which will prevent future problems of this nature.\n\n20) Fix route leak in VTI tunnel transmit, from Fan Du.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (106 commits)\n  genetlink: make multicast groups const, prevent abuse\n  genetlink: pass family to functions using groups\n  genetlink: add and use genl_set_err()\n  genetlink: remove family pointer from genl_multicast_group\n  genetlink: remove genl_unregister_mc_group()\n  hsr: don\u0027t call genl_unregister_mc_group()\n  quota/genetlink: use proper genetlink multicast APIs\n  drop_monitor/genetlink: use proper genetlink multicast APIs\n  genetlink: only pass array to genl_register_family_with_ops()\n  tcp: don\u0027t update snd_nxt, when a socket is switched from repair mode\n  atm: idt77252: fix dev refcnt leak\n  xfrm: Release dst if this dst is improper for vti tunnel\n  netlink: fix documentation typo in netlink_set_err()\n  be2net: Delete secondary unicast MAC addresses during be_close\n  be2net: Fix unconditional enabling of Rx interface options\n  net, virtio_net: replace the magic value\n  ping: prevent NULL pointer dereference on write to msg_name\n  bnx2x: Prevent \"timeout waiting for state X\"\n  bnx2x: prevent CFC attention\n  bnx2x: Prevent panic during DMAE timeout\n  ...\n"
    },
    {
      "commit": "4457e6f6c9f6052cd5f44a79037108b5ddeb0ce7",
      "tree": "394733989d9f68e8380ace4948976a92336e6b16",
      "parents": [
        "e87e7be92979480ee5a2d4a746dc88f2eeca79ca",
        "6a328f3fe042396c6525d7bf84cfd941440cc045"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 15:50:03 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 15:50:03 2013 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc\n\nPull sparc fixes from David Miller:\n \"Two merge window fallout build fixes\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:\n  sparc64: merge fix\n  sparc64: fix build regession\n"
    },
    {
      "commit": "e87e7be92979480ee5a2d4a746dc88f2eeca79ca",
      "tree": "e30366e742d61bdeb2ad5ba13859b14480213224",
      "parents": [
        "dec8e46178bad9f1717a948572d76e0f804be801",
        "24b9fdc59ac365e7e313e5af44c7bfe31c15c774"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 15:49:31 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 15:49:31 2013 -0800"
      },
      "message": "Merge tag \u0027please-pull-fixia64\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux\n\nPull ia64 fix from Tony Luck:\n \"Unbreak ia64 build by avoiding circular dependency\"\n\n* tag \u0027please-pull-fixia64\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:\n  kernel/bounds: avoid circular dependencies in generated headers\n"
    },
    {
      "commit": "964f413323e8306ac0acb5e08ccdb5f12418835b",
      "tree": "717807e78c2b118180264b4b3bc1115cfa6ebe07",
      "parents": [
        "49d1cb2bcadfc5cea4b700a0ec6b957567889714"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Tue Nov 12 21:01:24 2013 +0100"
      },
      "committer": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Wed Nov 20 00:09:42 2013 +0100"
      },
      "message": "parisc: size_t is unsigned, so comparison size \u003c 0 doesn\u0027t make sense.\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\nCC: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\n"
    },
    {
      "commit": "49d1cb2bcadfc5cea4b700a0ec6b957567889714",
      "tree": "233750543d819d8a12fefdc0b244b883c2c4e5b3",
      "parents": [
        "38c7937379276a5ea8c54481205003af2f2b5694"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Mon Nov 18 22:12:11 2013 +0100"
      },
      "committer": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Tue Nov 19 23:36:18 2013 +0100"
      },
      "message": "parisc: improve SIGBUS/SIGSEGV error reporting\n\nThis patch fixes most of the Linux Test Project testcases, e.g. fstat05.\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\n"
    },
    {
      "commit": "38c7937379276a5ea8c54481205003af2f2b5694",
      "tree": "b0ebe038356be388a22ce5d2d13e9d8d7324c64e",
      "parents": [
        "9af63aedb84c4281cde1610280246f7749c27799"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Mon Oct 14 21:04:13 2013 +0200"
      },
      "committer": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Tue Nov 19 23:36:17 2013 +0100"
      },
      "message": "parisc: break out SOCK_NONBLOCK define to own asm header file\n\nBreak SOCK_NONBLOCK out to its own asm-file as other arches do. This\nfixes build errors with auditd and probably other packages.\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\n"
    },
    {
      "commit": "9af63aedb84c4281cde1610280246f7749c27799",
      "tree": "dde2e68264739ba40a02384af5c3dcedff84538d",
      "parents": [
        "a0ffa8f06f77a6197405521324501614d281bee1"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Sun Nov 17 22:03:11 2013 +0100"
      },
      "committer": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Tue Nov 19 23:36:16 2013 +0100"
      },
      "message": "parisc: do not inline pa_memcpy() internal functions\n\ngcc (4.8.x) creates wrong code when the pa_memcpy() functions are\ninlined.  Especially in 32bit builds it calculates wrong return values\nif we encounter a fault during execution of the memcpy.\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\n"
    },
    {
      "commit": "a0ffa8f06f77a6197405521324501614d281bee1",
      "tree": "d8e5ea262abf8c86bd2bddb66bdf56f2f26477db",
      "parents": [
        "dec8e46178bad9f1717a948572d76e0f804be801"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Tue Nov 19 23:31:35 2013 +0100"
      },
      "committer": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Tue Nov 19 23:31:35 2013 +0100"
      },
      "message": "Revert \"parisc: implement full version of access_ok()\"\n\nThis reverts commit 63379c135331c724d40a87b98eb62d2122981341.\n\nIt broke userspace and adding more checking is not needed.\nEven checking if a syscall would access memory in page zero doesn\u0027t\nmakes sense since it may lead to some syscalls returning -EFAULT\nwhere we would return other error codes on other platforms.\nIn summary, just drop this change and return to always return 1.\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\n"
    },
    {
      "commit": "24b9fdc59ac365e7e313e5af44c7bfe31c15c774",
      "tree": "e30366e742d61bdeb2ad5ba13859b14480213224",
      "parents": [
        "dec8e46178bad9f1717a948572d76e0f804be801"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill.shutemov@linux.intel.com",
        "time": "Mon Nov 18 10:47:27 2013 +0200"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue Nov 19 14:20:12 2013 -0800"
      },
      "message": "kernel/bounds: avoid circular dependencies in generated headers\n\n\u003clinux/spinlock.h\u003e has heavy dependencies on other header files.\nIt triggers circular dependencies in generated headers on IA64, at\nleast:\n\n  CC      kernel/bounds.s\nIn file included from /home/space/kas/git/public/linux/arch/ia64/include/asm/thread_info.h:9:0,\n                 from include/linux/thread_info.h:54,\n                 from include/asm-generic/preempt.h:4,\n                 from arch/ia64/include/generated/asm/preempt.h:1,\n                 from include/linux/preempt.h:18,\n                 from include/linux/spinlock.h:50,\n                 from kernel/bounds.c:14:\n/home/space/kas/git/public/linux/arch/ia64/include/asm/asm-offsets.h:1:35: fatal error: generated/asm-offsets.h: No such file or directory\ncompilation terminated.\n\nLet\u0027s replace \u003clinux/spinlock.h\u003e with \u003clinux/spinlock_types.h\u003e, it\u0027s\nenough to find out size of spinlock_t.\n\nSigned-off-by: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\nReported-and-Tested-by: Tony Luck \u003ctony.luck@intel.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "091e0662ee2c37867ad918ce7b6ddd17f0e090e2",
      "tree": "e5a066d8f83d8822d448421019a4503f361295f9",
      "parents": [
        "dbde497966804e63a38fdedc1e3815e77097efc2",
        "2a94fe48f32ccf7321450a2cc07f2b724a444e5b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 16:39:42 2013 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 16:39:42 2013 -0500"
      },
      "message": "Merge branch \u0027genetlink_mcast\u0027\n\nJohannes Berg says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\ngenetlink: clean up multicast group APIs\n\nThe generic netlink multicast group registration doesn\u0027t have to\nbe dynamic, and can thus be simplified just like I did with the\nops. This removes some complexity in registration code.\n\nAdditionally, two users of generic netlink already use multicast\ngroups in a wrong way, add workarounds for those two to keep the\nuserspace API working, but at the same time make them not clash\nwith other users of multicast groups as might happen now.\n\nWhile making it all a bit easier, also prevent such abuse by adding\nchecks to the APIs so each family can only use the groups it owns.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a94fe48f32ccf7321450a2cc07f2b724a444e5b",
      "tree": "e5a066d8f83d8822d448421019a4503f361295f9",
      "parents": [
        "68eb55031da7c967d954e5f9415cd05f4abdb692"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 19 15:19:39 2013 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 16:39:06 2013 -0500"
      },
      "message": "genetlink: make multicast groups const, prevent abuse\n\nRegister generic netlink multicast groups as an array with\nthe family and give them contiguous group IDs. Then instead\nof passing the global group ID to the various functions that\nsend messages, pass the ID relative to the family - for most\nfamilies that\u0027s just 0 because the only have one group.\n\nThis avoids the list_head and ID in each group, adding a new\nfield for the mcast group ID offset to the family.\n\nAt the same time, this allows us to prevent abusing groups\nagain like the quota and dropmon code did, since we can now\ncheck that a family only uses a group it owns.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68eb55031da7c967d954e5f9415cd05f4abdb692",
      "tree": "75751944b0c808ba191bcc6a752389593c41e805",
      "parents": [
        "62b68e99faa802352e9cb2ae91adecd8dfddf1b8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 19 15:19:38 2013 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 16:39:06 2013 -0500"
      },
      "message": "genetlink: pass family to functions using groups\n\nThis doesn\u0027t really change anything, but prepares for the\nnext patch that will change the APIs to pass the group ID\nwithin the family, rather than the global group ID.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62b68e99faa802352e9cb2ae91adecd8dfddf1b8",
      "tree": "a76d8342a57b8451bef657919201c76a5333f1f1",
      "parents": [
        "c2ebb908469d507ff400dad94efc755e6c799672"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 19 15:19:37 2013 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 16:39:06 2013 -0500"
      },
      "message": "genetlink: add and use genl_set_err()\n\nAdd a static inline to generic netlink to wrap netlink_set_err()\nto make it easier to use here - use it in openvswitch (the only\ngeneric netlink user of netlink_set_err()).\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2ebb908469d507ff400dad94efc755e6c799672",
      "tree": "d5a8ef3abc30ed3fa6303bb72a3bf1ce5a84a61b",
      "parents": [
        "06fb555a273dc8ef0d876f4e864ad11cfcea63e0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 19 15:19:36 2013 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 16:39:06 2013 -0500"
      },
      "message": "genetlink: remove family pointer from genl_multicast_group\n\nThere\u0027s no reason to have the family pointer there since it\ncan just be passed internally where needed, so remove it.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06fb555a273dc8ef0d876f4e864ad11cfcea63e0",
      "tree": "780b6e332c0411d67ad3e8428e4240bb54f60c33",
      "parents": [
        "03ed3827463ffb7210c5ef6a1a6f64c776f9daec"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 19 15:19:35 2013 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 16:39:06 2013 -0500"
      },
      "message": "genetlink: remove genl_unregister_mc_group()\n\nThere are no users of this API remaining, and we\u0027ll soon\nchange group registration to be static (like ops are now)\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "03ed3827463ffb7210c5ef6a1a6f64c776f9daec",
      "tree": "ee24f76d36268221b90c860b7eed6c7be7ab6497",
      "parents": [
        "2ecf7536b2787580616d23b6507005d930975ca0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 19 15:19:34 2013 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 16:39:06 2013 -0500"
      },
      "message": "hsr: don\u0027t call genl_unregister_mc_group()\n\nThere\u0027s no need to unregister the multicast group if the\ngeneric netlink family is registered immediately after.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2ecf7536b2787580616d23b6507005d930975ca0",
      "tree": "050b07aaf96d86a83ed42c34511a3f28e1c0d1d4",
      "parents": [
        "e5dcecba015f9774a402ba559b80b16999747e3b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 19 15:19:33 2013 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 16:39:05 2013 -0500"
      },
      "message": "quota/genetlink: use proper genetlink multicast APIs\n\nThe quota code is abusing the genetlink API and is using\nits family ID as the multicast group ID, which is invalid\nand may belong to somebody else (and likely will.)\n\nMake the quota code use the correct API, but since this\nis already used as-is by userspace, reserve a family ID\nfor this code and also reserve that group ID to not break\nuserspace assumptions.\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5dcecba015f9774a402ba559b80b16999747e3b",
      "tree": "866103a98e1987c6b52a05a41cc0f5cbc1c14add",
      "parents": [
        "c53ed7423619b4e8108914a9f31b426dd58ad591"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 19 15:19:32 2013 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 16:39:05 2013 -0500"
      },
      "message": "drop_monitor/genetlink: use proper genetlink multicast APIs\n\nThe drop monitor code is abusing the genetlink API and is\nstatically using the generic netlink multicast group 1, even\nif that group belongs to somebody else (which it invariably\nwill, since it\u0027s not reserved.)\n\nMake the drop monitor code use the proper APIs to reserve a\ngroup ID, but also reserve the group id 1 in generic netlink\ncode to preserve the userspace API. Since drop monitor can\nbe a module, don\u0027t clear the bit for it on unregistration.\n\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c53ed7423619b4e8108914a9f31b426dd58ad591",
      "tree": "03a469a7f00d99ff73bf947b5306369bfaff18f5",
      "parents": [
        "dbde497966804e63a38fdedc1e3815e77097efc2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 19 15:19:31 2013 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 16:39:05 2013 -0500"
      },
      "message": "genetlink: only pass array to genl_register_family_with_ops()\n\nAs suggested by David Miller, make genl_register_family_with_ops()\na macro and pass only the array, evaluating ARRAY_SIZE() in the\nmacro, this is a little safer.\n\nThe openvswitch has some indirection, assing ops/n_ops directly in\nthat code. This might ultimately just assign the pointers in the\nfamily initializations, saving the struct genl_family_and_ops and\ncode (once mcast groups are handled differently.)\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dbde497966804e63a38fdedc1e3815e77097efc2",
      "tree": "7bcddd4944052ec4a367bf80aaf4730f03e25671",
      "parents": [
        "b5de4a22f157ca345cdb3575207bf46402414bc1"
      ],
      "author": {
        "name": "Andrey Vagin",
        "email": "avagin@openvz.org",
        "time": "Tue Nov 19 22:10:06 2013 +0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 16:14:20 2013 -0500"
      },
      "message": "tcp: don\u0027t update snd_nxt, when a socket is switched from repair mode\n\nsnd_nxt must be updated synchronously with sk_send_head.  Otherwise\ntp-\u003epackets_out may be updated incorrectly, what may bring a kernel panic.\n\nHere is a kernel panic from my host.\n[  103.043194] BUG: unable to handle kernel NULL pointer dereference at 0000000000000048\n[  103.044025] IP: [\u003cffffffff815aaaaf\u003e] tcp_rearm_rto+0xcf/0x150\n...\n[  146.301158] Call Trace:\n[  146.301158]  [\u003cffffffff815ab7f0\u003e] tcp_ack+0xcc0/0x12c0\n\nBefore this panic a tcp socket was restored. This socket had sent and\nunsent data in the write queue. Sent data was restored in repair mode,\nthen the socket was switched from reapair mode and unsent data was\nrestored. After that the socket was switched back into repair mode.\n\nIn that moment we had a socket where write queue looks like this:\nsnd_una    snd_nxt   write_seq\n   |_________|________|\n             |\n\t  sk_send_head\n\nAfter a second switching from repair mode the state of socket was\nchanged:\n\nsnd_una          snd_nxt, write_seq\n   |_________ ________|\n             |\n\t  sk_send_head\n\nThis state is inconsistent, because snd_nxt and sk_send_head are not\nsynchronized.\n\nBellow you can find a call trace, how packets_out can be incremented\ntwice for one skb, if snd_nxt and sk_send_head are not synchronized.\nIn this case packets_out will be always positive, even when\nsk_write_queue is empty.\n\ntcp_write_wakeup\n\tskb \u003d tcp_send_head(sk);\n\ttcp_fragment\n\t\tif (!before(tp-\u003esnd_nxt, TCP_SKB_CB(buff)-\u003eend_seq))\n\t\t\ttcp_adjust_pcount(sk, skb, diff);\n\ttcp_event_new_data_sent\n\t\ttp-\u003epackets_out +\u003d tcp_skb_pcount(skb);\n\nI think update of snd_nxt isn\u0027t required, when a socket is switched from\nrepair mode.  Because it\u0027s initialized in tcp_connect_init. Then when a\nwrite queue is restored, snd_nxt is incremented in tcp_event_new_data_sent,\nso it\u0027s always is in consistent state.\n\nI have checked, that the bug is not reproduced with this patch and\nall tests about restoring tcp connections work fine.\n\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrey Vagin \u003cavagin@openvz.org\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5de4a22f157ca345cdb3575207bf46402414bc1",
      "tree": "c88e8ec5f27650e3b5ca593e83f6d037cbf57afa",
      "parents": [
        "236c9f84868534c718b6889aa624de64763281f9"
      ],
      "author": {
        "name": "Ying Xue",
        "email": "ying.xue@windriver.com",
        "time": "Tue Nov 19 18:09:27 2013 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 15:53:02 2013 -0500"
      },
      "message": "atm: idt77252: fix dev refcnt leak\n\ninit_card() calls dev_get_by_name() to get a network deceive. But it\ndoesn\u0027t decrease network device reference count after the device is\nused.\n\nSigned-off-by: Ying Xue \u003cying.xue@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "236c9f84868534c718b6889aa624de64763281f9",
      "tree": "f4f6ff344b2ef8e0f77de798733777f037bf78de",
      "parents": [
        "840e93f2eee6ff0553cc2739ebc2395167a729f3"
      ],
      "author": {
        "name": "fan.du",
        "email": "fan.du@windriver.com",
        "time": "Tue Nov 19 16:53:28 2013 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 15:50:57 2013 -0500"
      },
      "message": "xfrm: Release dst if this dst is improper for vti tunnel\n\nAfter searching rt by the vti tunnel dst/src parameter,\nif this rt has neither attached to any transformation\nnor the transformation is not tunnel oriented, this rt\nshould be released back to ip layer.\n\notherwise causing dst memory leakage.\n\nSigned-off-by: Fan Du \u003cfan.du@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed6a82546d2e8f6b5902269541733814d4adacc2",
      "tree": "a7c472289a1e3813057fb47cb50d95e55cdf7e65",
      "parents": [
        "b38f67c4ae35eb4bcea0bf42a0a18a778a5d04c2",
        "296e5809ee567e41d55da41a882abef9d8071e5e"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Nov 19 21:18:13 2013 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Nov 19 21:18:13 2013 +0100"
      },
      "message": "Merge branch \u0027acpi-hotplug\u0027\n\n* acpi-hotplug:\n  PCI / hotplug / ACPI: Drop unused acpiphp_debug declaration\n"
    },
    {
      "commit": "296e5809ee567e41d55da41a882abef9d8071e5e",
      "tree": "3230981edad49366b770ce993e1a923b2ad430ce",
      "parents": [
        "883461679ad1ed6e09135adf8c02bb98d7962623"
      ],
      "author": {
        "name": "Mika Westerberg",
        "email": "mika.westerberg@linux.intel.com",
        "time": "Tue Nov 19 16:15:35 2013 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Nov 19 21:17:59 2013 +0100"
      },
      "message": "PCI / hotplug / ACPI: Drop unused acpiphp_debug declaration\n\nCommit bd950799d951 (PCI: acpiphp: Convert to dynamic debug) removed users\nof acpiphp_debug variable and the variable itself but the declaration was\nleft in the header file. Drop this unused declaration.\n\nSigned-off-by: Mika Westerberg \u003cmika.westerberg@linux.intel.com\u003e\nAcked-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "840e93f2eee6ff0553cc2739ebc2395167a729f3",
      "tree": "00febe0c8df7ca4ee31e4981b5b11af4d3d6fe44",
      "parents": [
        "d11a347de3f521af62da25e74156ea39e3774f19"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 19 10:35:40 2013 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 15:07:01 2013 -0500"
      },
      "message": "netlink: fix documentation typo in netlink_set_err()\n\nThe parameter is just \u0027group\u0027, not \u0027groups\u0027, fix the documentation typo.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dec8e46178bad9f1717a948572d76e0f804be801",
      "tree": "d0feaa9474f4406cb220cccdb7d39a3d031f00a6",
      "parents": [
        "806dace637e4d37a5569c3e2345adcbd473b3d12",
        "cd5dfd0e1685530cb3159dec2d2a95421104093d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 11:44:15 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 11:44:15 2013 -0800"
      },
      "message": "Merge tag \u0027arc-v3.13-rc1-part2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc\n\nPull second set of ARC changes from Vineet Gupta:\n - Support for Perf from Mischa\n - Enabling GPIO/Pinctrl drivers for Abilis TB10x platform\n - New defconfig for buildroot\n\n* tag \u0027arc-v3.13-rc1-part2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:\n  ARC: [plat-arcfpga] Add defconfig without initramfs location\n  ARC: perf: ARC 700 PMU doesn\u0027t support sampling events\n  ARC: Add documentation on DT binding for ARC700 PMU\n  ARC: Add perf support for ARC700 cores\n  ARC: [TB10x] Updates for GPIO and pinctrl\n"
    },
    {
      "commit": "806dace637e4d37a5569c3e2345adcbd473b3d12",
      "tree": "c897b9da1bfcf687e05faf82eb4677369af94adc",
      "parents": [
        "cdc7ef8981317cfa9a462b784935e4d2705c6776",
        "d795ddad36cbc828176c898a5084549030539162"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 11:43:21 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 11:43:21 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux\n\nPull second set of s390 patches from Martin Schwidefsky:\n \"The handling of the PCI hotplug notifications has been improved, the\n  zfcp dumper can now detect the HSA size dynamically and the default\n  install kernel has been changed to the compressed bzImage.  And two\n  bug-fixes for scm and 3720\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:\n  s390/pci: implement hotplug notifications\n  s390/scm_block: do not hide eadm subchannel dependency\n  s390/sclp: Consolidate early sclp init calls to sclp_early_detect()\n  s390/sclp: Move early code from sclp_cmd.c to sclp_early.c\n  s390/sclp: Determine HSA size dynamically for zfcpdump\n  s390/sclp: Move declarations for sclp_sdias into separate header file\n  s390/pci: implement pcibios_remove_bus\n  s390/pci: improve handling of bus resources\n  s390/3270: fix missing device_destroy() call\n  s390/boot: Install bzImage as default kernel image\n"
    },
    {
      "commit": "cdc7ef8981317cfa9a462b784935e4d2705c6776",
      "tree": "b81a0424a333e72a6223b5764ccde0c8ea36549b",
      "parents": [
        "9066d9b250679f259f06c10f489dfdfa75fb54dd",
        "33a7d42999b1857d4494f6ad6367e3aef0ae8137"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 11:42:32 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 11:42:32 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml\n\nPull UML changes from Richard Weinberger:\n \"This pile contains a nice defconfig cleanup, a rewritten stack\n  unwinder and various cleanups\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:\n  um: Remove unused declarations from \u003cas-layout.h\u003e\n  um: remove used STDIO_CONSOLE Kconfig param\n  um/vdso: add .gitignore for a couple of targets\n  arch/um: make it work with defconfig and x86_64\n  um: Make kstack_depth_to_print conform to arch/x86\n  um: Get rid of thread_struct-\u003esaved_task\n  um: Make stack trace reliable against kernel mode faults\n  um: Rewrite show_stack()\n"
    },
    {
      "commit": "9066d9b250679f259f06c10f489dfdfa75fb54dd",
      "tree": "aa62e5910c865ab09a262a2cb3139d4379352189",
      "parents": [
        "4007162647b3b2e2e438904471b620aba013c4af",
        "cc08e04c3fdcaab767b8db27527002b2b4d758cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 10:48:19 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 10:48:19 2013 -0800"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 fix from Ingo Molnar:\n \"A modular build fix for certain .config\u0027s\"\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86: Export \u0027boot_cpu_physical_apicid\u0027 to modules\n"
    },
    {
      "commit": "4007162647b3b2e2e438904471b620aba013c4af",
      "tree": "2798671e1fd62b632ccae6e03eda9c49ab95763a",
      "parents": [
        "801a76050bcf8d4e500eb8d048ff6265f37a61c8",
        "00d1a39e69d5afa7523dad515a05b21abd17c389"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 10:40:00 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 10:40:00 2013 -0800"
      },
      "message": "Merge branch \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull irq cleanups from Ingo Molnar:\n \"This is a multi-arch cleanup series from Thomas Gleixner, which we\n  kept to near the end of the merge window, to not interfere with\n  architecture updates.\n\n  This series (motivated by the -rt kernel) unifies more aspects of IRQ\n  handling and generalizes PREEMPT_ACTIVE\"\n\n* \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  preempt: Make PREEMPT_ACTIVE generic\n  sparc: Use preempt_schedule_irq\n  ia64: Use preempt_schedule_irq\n  m32r: Use preempt_schedule_irq\n  hardirq: Make hardirq bits generic\n  m68k: Simplify low level interrupt handling code\n  genirq: Prevent spurious detection for unconditionally polled interrupts\n"
    },
    {
      "commit": "94eddfbeaafa3e8040a2c47d370dea0e58e76941",
      "tree": "52cdf7a26b27d9cab3b1eba9b424a6d1432bdf8d",
      "parents": [
        "34f2fd8dfe6185b0eaaf7d661281713a6170b077"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Nov 19 09:25:07 2013 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Nov 19 09:25:07 2013 -0700"
      },
      "message": "blk-mq: ensure that we set REQ_IO_STAT so diskstats work\n\nIf disk stats are enabled on the queue, a request needs to\nbe marked with REQ_IO_STAT for accounting to be active on\nthat request. This fixes an issue with virtio-blk not\nshowing up in /proc/diskstats after the conversion to\nblk-mq.\n\nAdd QUEUE_FLAG_MQ_DEFAULT, setting stats and same cpu-group\ncompletion on by default.\n\nReported-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "60aaf933854511630e16be4efe0f96485e132de4",
      "tree": "123612bc22106a77a6af562b41f0d1163af3f6b2",
      "parents": [
        "d206dcfa9809ec3409483e93b5e362f801fa0c27"
      ],
      "author": {
        "name": "majianpeng",
        "email": "majianpeng@gmail.com",
        "time": "Thu Nov 14 15:16:20 2013 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 19 15:19:18 2013 +1100"
      },
      "message": "md/raid5: Use conf-\u003edevice_lock protect changing of multi-thread resources.\n\nWhen we change group_thread_cnt from sysfs entry, it can OOPS.\n\nThe kernel messages are:\n[  135.299021] BUG: unable to handle kernel NULL pointer dereference at           (null)\n[  135.299073] IP: [\u003cffffffff815188ab\u003e] handle_active_stripes+0x32b/0x440\n[  135.299107] PGD 0\n[  135.299122] Oops: 0000 [#1] SMP\n[  135.299144] Modules linked in: netconsole e1000e ptp pps_core\n[  135.299188] CPU: 3 PID: 2225 Comm: md0_raid5 Not tainted 3.12.0+ #24\n[  135.299214] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./To be filled by O.E.M., BIOS 080015  11/09/2011\n[  135.299255] task: ffff8800b9638f80 ti: ffff8800b77a4000 task.ti: ffff8800b77a4000\n[  135.299283] RIP: 0010:[\u003cffffffff815188ab\u003e]  [\u003cffffffff815188ab\u003e] handle_active_stripes+0x32b/0x440\n[  135.299323] RSP: 0018:ffff8800b77a5c48  EFLAGS: 00010002\n[  135.299344] RAX: ffff880037bb5c70 RBX: 0000000000000000 RCX: 0000000000000008\n[  135.299371] RDX: ffff880037bb5cb8 RSI: 0000000000000001 RDI: ffff880037bb5c00\n[  135.299398] RBP: ffff8800b77a5d08 R08: 0000000000000001 R09: 0000000000000000\n[  135.299425] R10: ffff8800b77a5c98 R11: 00000000ffffffff R12: ffff880037bb5c00\n[  135.299452] R13: 0000000000000000 R14: 0000000000000000 R15: ffff880037bb5c70\n[  135.299479] FS:  0000000000000000(0000) GS:ffff88013fd80000(0000) knlGS:0000000000000000\n[  135.299510] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n[  135.299532] CR2: 0000000000000000 CR3: 0000000001c0b000 CR4: 00000000000407e0\n[  135.299559] Stack:\n[  135.299570]  ffff8800b77a5c88 ffffffff8107383e ffff8800b77a5c88 ffff880037a64300\n[  135.299611]  000000000000ec08 ffff880037bb5cb8 ffff8800b77a5c98 ffffffffffffffd8\n[  135.299654]  000000000000ec08 ffff880037bb5c60 ffff8800b77a5c98 ffff8800b77a5c98\n[  135.299696] Call Trace:\n[  135.299711]  [\u003cffffffff8107383e\u003e] ? __wake_up+0x4e/0x70\n[  135.299733]  [\u003cffffffff81518f88\u003e] raid5d+0x4c8/0x680\n[  135.299756]  [\u003cffffffff817174ed\u003e] ? schedule_timeout+0x15d/0x1f0\n[  135.299781]  [\u003cffffffff81524c9f\u003e] md_thread+0x11f/0x170\n[  135.299804]  [\u003cffffffff81069cd0\u003e] ? wake_up_bit+0x40/0x40\n[  135.299826]  [\u003cffffffff81524b80\u003e] ? md_rdev_init+0x110/0x110\n[  135.299850]  [\u003cffffffff81069656\u003e] kthread+0xc6/0xd0\n[  135.299871]  [\u003cffffffff81069590\u003e] ? kthread_freezable_should_stop+0x70/0x70\n[  135.299899]  [\u003cffffffff81722ffc\u003e] ret_from_fork+0x7c/0xb0\n[  135.299923]  [\u003cffffffff81069590\u003e] ? kthread_freezable_should_stop+0x70/0x70\n[  135.299951] Code: ff ff ff 0f 84 d7 fe ff ff e9 5c fe ff ff 66 90 41 8b b4 24 d8 01 00 00 45 31 ed 85 f6 0f 8e 7b fd ff ff 49 8b 9c 24 d0 01 00 00 \u003c48\u003e 3b 1b 49 89 dd 0f 85 67 fd ff ff 48 8d 43 28 31 d2 eb 17 90\n[  135.300005] RIP  [\u003cffffffff815188ab\u003e] handle_active_stripes+0x32b/0x440\n[  135.300005]  RSP \u003cffff8800b77a5c48\u003e\n[  135.300005] CR2: 0000000000000000\n[  135.300005] ---[ end trace 504854e5bb7562ed ]---\n[  135.300005] Kernel panic - not syncing: Fatal exception\n\nThis is because raid5d() can be running when the multi-thread\nresources are changed via system. We see need to provide locking.\n\nmddev-\u003edevice_lock is suitable, but we cannot simple call\nalloc_thread_groups under this lock as we cannot allocate memory\nwhile holding a spinlock.\nSo change alloc_thread_groups() to allocate and return the data\nstructures, then raid5_store_group_thread_cnt() can take the lock\nwhile updating the pointers to the data structures.\n\nThis fixes a bug introduced in 3.12 and so is suitable for the 3.12.x\nstable series.\n\nFixes: b721420e8719131896b009b11edbbd27\nCc: stable@vger.kernel.org (3.12)\nSigned-off-by: Jianpeng Ma \u003cmajianpeng@gmail.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nReviewed-by: Shaohua Li \u003cshli@kernel.org\u003e\n"
    },
    {
      "commit": "d206dcfa9809ec3409483e93b5e362f801fa0c27",
      "tree": "d2b2ebdde341d37a6fe634feadfcd38eb9658134",
      "parents": [
        "e59aa23f4c0c61b4baa5d535a2071d6666e83502"
      ],
      "author": {
        "name": "majianpeng",
        "email": "majianpeng@gmail.com",
        "time": "Thu Nov 14 15:16:19 2013 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 19 15:19:18 2013 +1100"
      },
      "message": "md/raid5: Before freeing old multi-thread worker, it should flush them.\n\nWhen changing group_thread_cnt from sysfs entry, the kernel can oops.\n\nThe kernel messages are:\n[  740.961389] BUG: unable to handle kernel NULL pointer dereference at 0000000000000008\n[  740.961444] IP: [\u003cffffffff81062570\u003e] process_one_work+0x30/0x500\n[  740.961476] PGD b9013067 PUD b651e067 PMD 0\n[  740.961503] Oops: 0000 [#1] SMP\n[  740.961525] Modules linked in: netconsole e1000e ptp pps_core\n[  740.961577] CPU: 0 PID: 3683 Comm: kworker/u8:5 Not tainted 3.12.0+ #23\n[  740.961602] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./To be filled by O.E.M., BIOS 080015  11/09/2011\n[  740.961646] task: ffff88013abe0000 ti: ffff88013a246000 task.ti: ffff88013a246000\n[  740.961673] RIP: 0010:[\u003cffffffff81062570\u003e]  [\u003cffffffff81062570\u003e] process_one_work+0x30/0x500\n[  740.961708] RSP: 0018:ffff88013a247e08  EFLAGS: 00010086\n[  740.961730] RAX: ffff8800b912b400 RBX: ffff88013a61e680 RCX: ffff8800b912b400\n[  740.961757] RDX: ffff8800b912b600 RSI: ffff8800b912b600 RDI: ffff88013a61e680\n[  740.961782] RBP: ffff88013a247e48 R08: ffff88013a246000 R09: 000000000002c09d\n[  740.961808] R10: 000000000000010f R11: 0000000000000000 R12: ffff88013b00cc00\n[  740.961833] R13: 0000000000000000 R14: ffff88013b00cf80 R15: ffff88013a61e6b0\n[  740.961861] FS:  0000000000000000(0000) GS:ffff88013fc00000(0000) knlGS:0000000000000000\n[  740.961893] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n[  740.962001] CR2: 00000000000000b8 CR3: 00000000b24fe000 CR4: 00000000000407f0\n[  740.962001] Stack:\n[  740.962001]  0000000000000008 ffff8800b912b600 ffff88013b00cc00 ffff88013a61e680\n[  740.962001]  ffff88013b00cc00 ffff88013b00cc18 ffff88013b00cf80 ffff88013a61e6b0\n[  740.962001]  ffff88013a247eb8 ffffffff810639c6 0000000000012a80 ffff88013a247fd8\n[  740.962001] Call Trace:\n[  740.962001]  [\u003cffffffff810639c6\u003e] worker_thread+0x206/0x3f0\n[  740.962001]  [\u003cffffffff810637c0\u003e] ? manage_workers+0x2c0/0x2c0\n[  740.962001]  [\u003cffffffff81069656\u003e] kthread+0xc6/0xd0\n[  740.962001]  [\u003cffffffff81069590\u003e] ? kthread_freezable_should_stop+0x70/0x70\n[  740.962001]  [\u003cffffffff81722ffc\u003e] ret_from_fork+0x7c/0xb0\n[  740.962001]  [\u003cffffffff81069590\u003e] ? kthread_freezable_should_stop+0x70/0x70\n[  740.962001] Code: 89 e5 41 57 41 56 41 55 45 31 ed 41 54 53 48 89 fb 48 83 ec 18 48 8b 06 4c 8b 67 48 48 89 c1 30 c9 a8 04 4c 0f 45 e9 80 7f 58 00 \u003c49\u003e 8b 45 08 44 8b b0 00 01 00 00 78 0c 41 f6 44 24 10 04 0f 84\n[  740.962001] RIP  [\u003cffffffff81062570\u003e] process_one_work+0x30/0x500\n[  740.962001]  RSP \u003cffff88013a247e08\u003e\n[  740.962001] CR2: 0000000000000008\n[  740.962001] ---[ end trace 39181460000748de ]---\n[  740.962001] Kernel panic - not syncing: Fatal exception\n\nThis can happen if there are some stripes left, fewer than MAX_STRIPE_BATCH.\nA worker is queued to handle them.\nBut before calling raid5_do_work, raid5d handles those\nstripes making conf-\u003eactive_stripe \u003d 0.\nSo mddev_suspend() can return.\nWe might then free old worker resources before the queued\nraid5_do_work() handled them.  When it runs, it crashes.\n\n\traid5d()\t\traid5_store_group_thread_cnt()\n\tqueue_work\t\tmddev_suspend()\n\t\t\t\thandle_strips\n\t\t\t\tactive_stripe\u003d0\n\t\t\t\tfree(old worker resources)\n\tprocess_one_work\n\traid5_do_work\n\nTo avoid this, we should only flush the worker resources before freeing them.\n\nThis fixes a bug introduced in 3.12 so is suitable for the 3.12.x\nstable series.\n\nCc: stable@vger.kernel.org (3.12)\nFixes: b721420e8719131896b009b11edbbd27\nSigned-off-by: Jianpeng Ma \u003cmajianpeng@gmail.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nReviewed-by: Shaohua Li \u003cshli@kernel.org\u003e\n"
    },
    {
      "commit": "e59aa23f4c0c61b4baa5d535a2071d6666e83502",
      "tree": "954517a8875ef8bd9ffc1f3a3686d1f160dd12a1",
      "parents": [
        "c0f8bd146a8b3e630798561c605f5669823107af"
      ],
      "author": {
        "name": "majianpeng",
        "email": "majianpeng@gmail.com",
        "time": "Thu Nov 14 15:16:19 2013 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 19 15:19:18 2013 +1100"
      },
      "message": "md/raid5: For stripe with R5_ReadNoMerge, we replace REQ_FLUSH with REQ_NOMERGE.\n\nFor R5_ReadNoMerge,it mean this bio can\u0027t merge with other bios or\nrequest.It used REQ_FLUSH to achieve this. But REQ_NOMERGE can do the\nsame work.\n\nSigned-off-by: Jianpeng Ma \u003cmajianpeng@gmail.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "c0f8bd146a8b3e630798561c605f5669823107af",
      "tree": "1773655dfcc772b43174b85721d889f785ffd779",
      "parents": [
        "79ef3a8aa1cb1523cc231c9a90a278333c21f761"
      ],
      "author": {
        "name": "Aurelien Jarno",
        "email": "aurelien@aurel32.net",
        "time": "Thu Nov 14 15:16:19 2013 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 19 15:19:18 2013 +1100"
      },
      "message": "UAPI: include \u003casm/byteorder.h\u003e in linux/raid/md_p.h\n\nlinux/raid/md_p.h is using conditionals depending on endianess and fails\nwith an error if neither of __BIG_ENDIAN, __LITTLE_ENDIAN or\n__BYTE_ORDER are defined, but it doesn\u0027t include any header which can\ndefine these constants. This make this header unusable alone.\n\nThis patch adds a #include \u003casm/byteorder.h\u003e at the beginning of this\nheader to make it usable alone. This is needed to compile klibc on MIPS.\n\nSigned-off-by: Aurelien Jarno \u003caurelien@aurel32.net\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "79ef3a8aa1cb1523cc231c9a90a278333c21f761",
      "tree": "f5895697b8f2153fe8c0af2ff6b90967e7ab6cbb",
      "parents": [
        "8e005f7c0276317cfa8fcb0291a0df57f9ef832c"
      ],
      "author": {
        "name": "majianpeng",
        "email": "majianpeng@gmail.com",
        "time": "Fri Nov 15 14:55:02 2013 +0800"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 19 15:19:18 2013 +1100"
      },
      "message": "raid1: Rewrite the implementation of iobarrier.\n\nThere is an iobarrier in raid1 because of contention between normal IO and\nresync IO.  It suspends all normal IO when resync/recovery happens.\n\nHowever if normal IO is out side the resync window, there is no contention.\nSo this patch changes the barrier mechanism to only block IO that\ncould contend with the resync that is currently happening.\n\nWe partition the whole space into five parts.\n|---------|-----------|------------|----------------|-------|\n        start   next_resync   start_next_window    end_window\n\nstart + RESYNC_WINDOW \u003d next_resync\nnext_resync + NEXT_NORMALIO_DISTANCE \u003d start_next_window\nstart_next_window + NEXT_NORMALIO_DISTANCE \u003d end_window\n\nFirstly we introduce some concepts:\n\n1 - RESYNC_WINDOW: For resync, there are 32 resync requests at most at the\n      same time. A sync request is RESYNC_BLOCK_SIZE(64*1024).\n      So the RESYNC_WINDOW is 32 * RESYNC_BLOCK_SIZE, that is 2MB.\n2 - NEXT_NORMALIO_DISTANCE: the distance between next_resync\n      and start_next_window.  It also indicates the distance between\n      start_next_window and end_window.\n      It is currently 3 * RESYNC_WINDOW_SIZE but could be tuned if\n      this turned out not to be optimal.\n3 - next_resync: the next sector at which we will do sync IO.\n4 - start: a position which is at most RESYNC_WINDOW before\n      next_resync.\n5 - start_next_window:  a position which is NEXT_NORMALIO_DISTANCE\n      beyond next_resync.  Normal-io after this position doesn\u0027t need to\n      wait for resync-io to complete.\n6 - end_window:  a position which is 2 * NEXT_NORMALIO_DISTANCE beyond\n      next_resync.  This also doesn\u0027t need to wait, but is counted\n      differently.\n7 - current_window_requests:  the count of normalIO between\n      start_next_window and end_window.\n8 - next_window_requests: the count of normalIO after end_window.\n\nNormalIO will be partitioned into four types:\n\nNormIO1:  the end sector of bio is smaller or equal the start\nNormIO2:  the start sector of bio larger or equal to end_window\nNormIO3:  the start sector of bio larger or equal to\n          start_next_window.\nNormIO4:  the location between start_next_window and end_window\n\n|--------|-----------|--------------------|----------------|-------------|\n    | start   |   next_resync   |  start_next_window   |  end_window |\n NormIO1   NormIO4            NormIO4                NormIO3      NormIO2\n\nFor NormIO1, we don\u0027t need any io barrier.\nFor NormIO4, we used a similar approach to the original iobarrier\n    mechanism.  The normalIO and resyncIO must be kept separate.\nFor NormIO2/3, we add two fields to struct r1conf: \"current_window_requests\"\n    and \"next_window_requests\". They indicate the count of active\n    requests in the two window.\n    For these, we don\u0027t wait for resync io to complete.\n\nFor resync action, if there are NormIO4s, we must wait for it.\nIf not, we can proceed.\nBut if resync action reaches start_next_window and\ncurrent_window_requests \u003e 0 (that is there are NormIO3s), we must\nwait until the current_window_requests becomes zero.\nWhen current_window_requests becomes zero,  start_next_window also\nmoves forward. Then current_window_requests will replaced by\nnext_window_requests.\n\nThere is a problem which when and how to change from NormIO2 to\nNormIO3.  Only then can sync action progress.\n\nWe add a field in struct r1conf \"start_next_window\".\n\nA: if start_next_window \u003d\u003d MaxSector, it means there are no NormIO2/3.\n   So start_next_window \u003d next_resync + NEXT_NORMALIO_DISTANCE\nB: if current_window_requests \u003d\u003d 0 \u0026\u0026 next_window_requests !\u003d 0, it\n   means start_next_window move to end_window\n\nThere is another problem which how to differentiate between\nold NormIO2(now it is NormIO3) and NormIO2.\nFor example, there are many bios which are NormIO2 and a bio which is\nNormIO3. NormIO3 firstly completed, so the bios of NormIO2 became NormIO3.\n\nWe add a field in struct r1bio \"start_next_window\".\nThis is used to record the position conf-\u003estart_next_window when the call\nto wait_barrier() is made in make_request().\n\nIn allow_barrier(), we check the conf-\u003estart_next_window.\nIf r1bio-\u003estat_next_window \u003d\u003d conf-\u003estart_next_window, it means\nthere is no transition between NormIO2 and NormIO3.\nIf r1bio-\u003estart_next_window !\u003d conf-\u003estart_next_window, it mean\nthere was a transition between NormIO2 and NormIO3.  There can only\nhave been one transition.  So it only means the bio is old NormIO2.\n\nFor one bio, there may be many r1bio\u0027s. So we make sure\nall the r1bio-\u003estart_next_window are the same value.\nIf we met blocked_dev in make_request(), it must call allow_barrier\nand wait_barrier. So the former and the later value of\nconf-\u003estart_next_window will be change.\nIf there are many r1bio\u0027s with differnet start_next_window,\nfor the relevant bio, it depend on the last value of r1bio.\nIt will cause error. To avoid this, we must wait for previous r1bios\nto complete.\n\nSigned-off-by: Jianpeng Ma \u003cmajianpeng@gmail.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "8e005f7c0276317cfa8fcb0291a0df57f9ef832c",
      "tree": "277d1be6569695e963cb660563b8dc6de7e2df87",
      "parents": [
        "07169fd478ed2fbb3c894d524be9400658f16747"
      ],
      "author": {
        "name": "majianpeng",
        "email": "majianpeng@gmail.com",
        "time": "Thu Nov 14 15:16:18 2013 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 19 15:19:18 2013 +1100"
      },
      "message": "raid1: Add some macros to make code clearly.\n\nIn a subsequent patch, we\u0027ll use some const parameters.\nUsing macros will make the code clearly.\n\nSigned-off-by: Jianpeng Ma \u003cmajianpeng@gmail.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "07169fd478ed2fbb3c894d524be9400658f16747",
      "tree": "54f3ee7b83d33459ae3a3ff4b6e84cd264979b7d",
      "parents": [
        "b364e3d048e49b1d177eb7ee7853e77aa0560464"
      ],
      "author": {
        "name": "majianpeng",
        "email": "majianpeng@gmail.com",
        "time": "Thu Nov 14 15:16:18 2013 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 19 15:19:18 2013 +1100"
      },
      "message": "raid1: Replace raise_barrier/lower_barrier with freeze_array/unfreeze_array when reconfiguring the array.\n\nWe used to use raise_barrier to suspend normal IO while we reconfigure\nthe array.  However raise_barrier will soon only suspend some normal\nIO, not all.  So we need something else.\nChange it to use freeze_array.\nBut freeze_array not only suspends normal io, it also suspends\nresync io.\nFor the place where call raise_barrier for reconfigure, it isn\u0027t a\nproblem.\n\nSigned-off-by: Jianpeng Ma \u003cmajianpeng@gmail.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "b364e3d048e49b1d177eb7ee7853e77aa0560464",
      "tree": "5d13c7e1a010f3976567bfbc3a1b6226b9db96d6",
      "parents": [
        "82592c38a85889fc9b52bf67afd4f6a336858a96"
      ],
      "author": {
        "name": "majianpeng",
        "email": "majianpeng@gmail.com",
        "time": "Thu Nov 14 15:16:18 2013 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 19 15:19:18 2013 +1100"
      },
      "message": "raid1: Add a field array_frozen to indicate whether raid in freeze state.\n\nBecause the following patch will rewrite the content between normal IO\nand resync IO. So we used a parameter to indicate whether raid is in freeze\narray.\n\nSigned-off-by: Jianpeng Ma \u003cmajianpeng@gmail.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "82592c38a85889fc9b52bf67afd4f6a336858a96",
      "tree": "9f50566b0b920bac1eb31971bbba733df5ee5334",
      "parents": [
        "30b8feb730f9b9b3c5de02580897da03f59b6b16"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Nov 14 15:16:18 2013 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 19 15:19:18 2013 +1100"
      },
      "message": "md: Convert use of typedef ctl_table to struct ctl_table\n\nThis typedef is unnecessary and should just be removed.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "30b8feb730f9b9b3c5de02580897da03f59b6b16",
      "tree": "7e902a3be606c7f46b16c62b0621dc58580fbbd9",
      "parents": [
        "c91abf5a3546a4ff0838d2905f4d7eae2795f724"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Nov 14 15:16:17 2013 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 19 15:19:17 2013 +1100"
      },
      "message": "md/raid5: avoid deadlock when raid5 array has unack badblocks during md_stop_writes.\n\nWhen raid5 recovery hits a fresh badblock, this badblock will flagged as unack\nbadblock until md_update_sb() is called.\nBut md_stop will take reconfig lock which means raid5d can\u0027t call\nmd_update_sb() in md_check_recovery(), the badblock will always\nbe unack, so raid5d thread enters an infinite loop and md_stop_write()\ncan never stop sync_thread. This causes deadlock.\n\nTo solve this, when STOP_ARRAY ioctl is issued and sync_thread is\nrunning, we need set md-\u003erecovery FROZEN and INTR flags and wait for\nsync_thread to stop before we (re)take reconfig lock.\n\nThis requires that raid5 reshape_request notices MD_RECOVERY_INTR\n(which it probably should have noticed anyway) and stops waiting for a\nmetadata update in that case.\n\nReported-by: Jianpeng Ma \u003cmajianpeng@gmail.com\u003e\nReported-by: Bian Yu \u003cbianyu@kedacom.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "c91abf5a3546a4ff0838d2905f4d7eae2795f724",
      "tree": "39b3735cebfa73ff370f2738bd8578a113fe4215",
      "parents": [
        "29f097c4d968021ee4fad1b033be5825ff78330e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 19 12:02:01 2013 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 19 15:19:17 2013 +1100"
      },
      "message": "md: use MD_RECOVERY_INTR instead of kthread_should_stop in resync thread.\n\nWe currently use kthread_should_stop() in various places in the\nsync/reshape code to abort early.\nHowever some places set MD_RECOVERY_INTR but don\u0027t immediately call\nmd_reap_sync_thread() (and we will shortly get another one).\nWhen this happens we are relying on md_check_recovery() to reap the\nthread and that only happen when it finishes normally.\nSo MD_RECOVERY_INTR must lead to a normal finish without the\nkthread_should_stop() test.\n\nSo replace all relevant tests, and be more careful when the thread is\ninterrupted not to acknowledge that latest step in a reshape as it may\nnot be fully committed yet.\n\nAlso add a test on MD_RECOVERY_INTR in the \u0027is_mddev_idle\u0027 loop\nso we don\u0027t wait have to wait for the speed to drop before we can abort.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "29f097c4d968021ee4fad1b033be5825ff78330e",
      "tree": "e530eecfcf85846c26d824176cd65a60ee093b8d",
      "parents": [
        "edfa1f651e93261eecb034d02284ece103dd691a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Nov 14 17:54:51 2013 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 19 15:19:17 2013 +1100"
      },
      "message": "md: fix some places where mddev_lock return value is not checked.\n\nSometimes we need to lock and mddev and cannot cope with\nfailure due to interrupt.\nIn these cases we should use mutex_lock, not mutex_lock_interruptible.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "edfa1f651e93261eecb034d02284ece103dd691a",
      "tree": "0a4087a7fb9a26089e99592f87bc515bbe60e789",
      "parents": [
        "4bda556aea1d2916260326c6afa77b84a1f1345a"
      ],
      "author": {
        "name": "Bian Yu",
        "email": "bianyu@kedacom.com",
        "time": "Thu Nov 14 15:16:17 2013 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 19 15:18:24 2013 +1100"
      },
      "message": "raid5: Retry R5_ReadNoMerge flag when hit a read error.\n\nBecause of block layer merge, one bio fails will cause other bios\nwhich belongs to the same request fails, so raid5_end_read_request\nwill record all these bios as badblocks.\nIf retry request with R5_ReadNoMerge flag to avoid bios merge,\nbadblocks can only record sector which is bad exactly.\n\ntest:\nhdparm --yes-i-know-what-i-am-doing --make-bad-sector 300000 /dev/sdb\nmdadm -C /dev/md0 -l5 -n3 /dev/sd[bcd] --assume-clean\nmdadm /dev/md0 -f /dev/sdd\nmdadm /dev/md0 -r /dev/sdd\nmdadm --zero-superblock /dev/sdd\nmdadm /dev/md0 -a /dev/sdd\n\n1. Without this patch:\ncat /sys/block/md0/md/rd*/bad_blocks\n299776 256\n299776 256\n\n2. With this patch:\ncat /sys/block/md0/md/rd*/bad_blocks\n300000 8\n300000 8\n\nSigned-off-by: Bian Yu \u003cbianyu@kedacom.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "4bda556aea1d2916260326c6afa77b84a1f1345a",
      "tree": "5233a0470d29eb5976ec9f6296ef129adf097ed8",
      "parents": [
        "566c09c53455d7c4f1130928ef8071da1a24ea65"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shli@kernel.org",
        "time": "Thu Nov 14 15:16:17 2013 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 19 15:18:22 2013 +1100"
      },
      "message": "raid5: relieve lock contention in get_active_stripe()\n\ntrack empty inactive list count, so md_raid5_congested() can use it to make\ndecision.\n\nSigned-off-by: Shaohua Li \u003cshli@fusionio.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "801a76050bcf8d4e500eb8d048ff6265f37a61c8",
      "tree": "261258d2a4f61f07f238c18ea1087fca6eea9947",
      "parents": [
        "27b5c3f3cc9c5ce0702db1cca718c827e8b689e9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Tue Nov 19 01:20:43 2013 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 18 19:07:53 2013 -0800"
      },
      "message": "seq_file: always clear m-\u003ecount when we free m-\u003ebuf\n\nOnce we\u0027d freed m-\u003ebuf, m-\u003ecount should become zero - we have no valid\ncontents reachable via m-\u003ebuf.\n\nReported-by: Charley (Hao Chuan) Chu \u003ccharley.chu@broadcom.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b38f67c4ae35eb4bcea0bf42a0a18a778a5d04c2",
      "tree": "16718edcebee40195a12dc01c7037b17c8f619f0",
      "parents": [
        "9bad5845485ec22b31d4489c3bd6d96d78442437",
        "6a0c7cd33075f6b7f1d80145bb19812beb3fc5c9"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Nov 19 01:07:08 2013 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Nov 19 01:07:08 2013 +0100"
      },
      "message": "Merge branch \u0027pm-sleep\u0027\n\n* pm-sleep:\n  PM / Hibernate: Do not crash kernel in free_basic_memory_bitmaps()\n"
    },
    {
      "commit": "9bad5845485ec22b31d4489c3bd6d96d78442437",
      "tree": "69df1e3566d4174e4b79438be0bd427b813d6339",
      "parents": [
        "77aa26514a3858cabce748fa093d871b5a51d269",
        "aae467c79b14db0d286764ed9ddbaefe3715ebd2"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Nov 19 01:07:00 2013 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Nov 19 01:07:00 2013 +0100"
      },
      "message": "Merge branch \u0027pm-cpufreq\u0027\n\n* pm-cpufreq:\n  cpufreq: governor: Remove fossil comment in the cpufreq_governor_dbs()\n  cpufreq: OMAP: Fix compilation error \u0027r \u0026 ret undeclared\u0027\n  cpufreq: conservative: set requested_freq to policy max when it is over policy max\n"
    },
    {
      "commit": "77aa26514a3858cabce748fa093d871b5a51d269",
      "tree": "6625ffc28c4d1eef7f69818964f4e484e92fd3f2",
      "parents": [
        "6431b430973c1c6eb2597da1533764cb4f696526",
        "aa1b9f13b3346352455bfdc343ecff7667b84ff5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Nov 19 01:06:49 2013 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Nov 19 01:06:49 2013 +0100"
      },
      "message": "Merge branch \u0027pm-runtime\u0027\n\n* pm-runtime:\n  PM / Runtime: Fix error path for prepare\n  PM / Runtime: Update documentation around probe|remove|suspend\n"
    },
    {
      "commit": "6431b430973c1c6eb2597da1533764cb4f696526",
      "tree": "a7eb955ea8dca07ba8cb97ea1f6b1e63df304b9e",
      "parents": [
        "077a671d7bac2fd792eb04136d4fc08fd962a55e",
        "144b44b1355df48eac7fee4c7519f4be0aafa4a3"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Nov 19 01:06:38 2013 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Nov 19 01:06:38 2013 +0100"
      },
      "message": "Merge branch \u0027pm-tools\u0027\n\n* pm-tools:\n  tools / power turbostat: Support Silvermont\n"
    }
  ],
  "next": "077a671d7bac2fd792eb04136d4fc08fd962a55e"
}
