)]}'
{
  "log": [
    {
      "commit": "a42efb79d54d9a13c8f68df122c832bca08b74ae",
      "tree": "b49010c84b42ccc5407766471bc94c95efe63d83",
      "parents": [
        "4d5b24dd453b4ff44f69756106b029e8961dcb55"
      ],
      "author": {
        "name": "Zhang Yi",
        "email": "wetpzy@gmail.com",
        "time": "Tue Jun 25 21:19:31 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Aug 20 08:26:28 2013 -0700"
      },
      "message": "futex: Take hugepages into account when generating futex_key\n\ncommit 13d60f4b6ab5b702dc8d2ee20999f98a93728aec upstream.\n\nThe futex_keys of process shared futexes are generated from the page\noffset, the mapping host and the mapping index of the futex user space\naddress. This should result in an unique identifier for each futex.\n\nThough this is not true when futexes are located in different subpages\nof an hugepage. The reason is, that the mapping index for all those\nfutexes evaluates to the index of the base page of the hugetlbfs\nmapping. So a futex at offset 0 of the hugepage mapping and another\none at offset PAGE_SIZE of the same hugepage mapping have identical\nfutex_keys. This happens because the futex code blindly uses\npage-\u003eindex.\n\nSteps to reproduce the bug:\n\n1. Map a file from hugetlbfs. Initialize pthread_mutex1 at offset 0\n   and pthread_mutex2 at offset PAGE_SIZE of the hugetlbfs\n   mapping.\n\n   The mutexes must be initialized as PTHREAD_PROCESS_SHARED because\n   PTHREAD_PROCESS_PRIVATE mutexes are not affected by this issue as\n   their keys solely depend on the user space address.\n\n2. Lock mutex1 and mutex2\n\n3. Create thread1 and in the thread function lock mutex1, which\n   results in thread1 blocking on the locked mutex1.\n\n4. Create thread2 and in the thread function lock mutex2, which\n   results in thread2 blocking on the locked mutex2.\n\n5. Unlock mutex2. Despite the fact that mutex2 got unlocked, thread2\n   still blocks on mutex2 because the futex_key points to mutex1.\n\nTo solve this issue we need to take the normal page index of the page\nwhich contains the futex into account, if the futex is in an hugetlbfs\nmapping. In other words, we calculate the normal page mapping index of\nthe subpage in the hugetlbfs mapping.\n\nMappings which are not based on hugetlbfs are not affected and still\nuse page-\u003eindex.\n\nThanks to Mel Gorman who provided a patch for adding proper evaluation\nfunctions to the hugetlbfs code to avoid exposing hugetlbfs specific\ndetails to the futex code.\n\n[ tglx: Massaged changelog ]\n\nSigned-off-by: Zhang Yi \u003czhang.yi20@zte.com.cn\u003e\nReviewed-by: Jiang Biao \u003cjiang.biao2@zte.com.cn\u003e\nTested-by: Ma Chenggong \u003cma.chenggong@zte.com.cn\u003e\nReviewed-by: \u0027Mel Gorman\u0027 \u003cmgorman@suse.de\u003e\nAcked-by: \u0027Darren Hart\u0027 \u003cdvhart@linux.intel.com\u003e\nCc: \u0027Peter Zijlstra\u0027 \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/000101ce71a6%24a83c5880%24f8b50980%24@com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Mike Galbraith \u003cmgalbraith@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n\n"
    },
    {
      "commit": "99593eb7ca1dd9bfaa431d96e009eda23f001ace",
      "tree": "b1412f07fda67143bc2454bbb6f81e124cae3617",
      "parents": [
        "65280b8ed1cca78ff7fe63ecfdb0fff87fe184a3"
      ],
      "author": {
        "name": "Andrew Vagin",
        "email": "avagin@openvz.org",
        "time": "Fri Aug 02 21:16:43 2013 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Aug 14 22:57:08 2013 -0700"
      },
      "message": "tracing: Fix fields of struct trace_iterator that are zeroed by mistake\n\ncommit ed5467da0e369e65b247b99eb6403cb79172bcda upstream.\n\ntracing_read_pipe zeros all fields bellow \"seq\". The declaration contains\na comment about that, but it doesn\u0027t help.\n\nThe first field is \"snapshot\", it\u0027s true when current open file is\nsnapshot. Looks obvious, that it should not be zeroed.\n\nThe second field is \"started\". It was converted from cpumask_t to\ncpumask_var_t (v2.6.28-4983-g4462344), in other words it was\nconverted from cpumask to pointer on cpumask.\n\nCurrently the reference on \"started\" memory is lost after the first read\nfrom tracing_read_pipe and a proper object will never be freed.\n\nThe \"started\" is never dereferenced for trace_pipe, because trace_pipe\ncan\u0027t have the TRACE_FILE_ANNOTATE options.\n\nLink: http://lkml.kernel.org/r/1375463803-3085183-1-git-send-email-avagin@openvz.org\n\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "2010fa31f8f5c5fa8385459dff03cb844cf79dd1",
      "tree": "f43541e0f5a5169293e2094c5a722f289a96a33d",
      "parents": [
        "c733e1a2c459c09fe2510bfa49e2571b532be97c"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Jul 09 13:19:18 2013 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Aug 04 16:26:03 2013 +0800"
      },
      "message": "virtio: support unlocked queue poll\n\ncommit cc229884d3f77ec3b1240e467e0236c3e0647c0c upstream.\n\nThis adds a way to check ring empty state after enable_cb outside any\nlocks. Will be used by virtio_net.\n\nNote: there\u0027s room for more optimization: caller is likely to have a\nmemory barrier already, which means we might be able to get rid of a\nbarrier here.  Deferring this optimization until we do some\nbenchmarking.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n[wg: Backported to 3.2]\nSigned-off-by: Wolfram Gloger \u003cwmglo@dent.med.uni-muenchen.de\u003e\n[bwh: Backported to 3.4: adjust context]\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "a90a3adeda28c4b701b11770817cf86d92db3228",
      "tree": "4443439c0d4ea52b0cb411b4069286afeea3f170",
      "parents": [
        "8924588cf02036c239cfec4302f8b44ca6e2c6bb"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Jul 22 21:32:09 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Aug 04 16:26:02 2013 +0800"
      },
      "message": "firewire: fix libdc1394/FlyCap2 iso event regression\n\ncommit 0699a73af3811b66b1ab5650575acee5eea841ab upstream.\n\nCommit 18d627113b83 (firewire: prevent dropping of completed iso packet\nheader data) was intended to be an obvious bug fix, but libdc1394 and\nFlyCap2 depend on the old behaviour by ignoring all returned information\nand thus not noticing that not all packets have been received yet.  The\nresult was that the video frame buffers would be saved before they\ncontained the correct data.\n\nReintroduce the old behaviour for old clients.\n\nTested-by: Stepan Salenikovich \u003cstepan.salenikovich@gmail.com\u003e\nTested-by: Josep Bosch \u003cjep250@gmail.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e # 3.4+\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "d11ff32e52d86dfc6d3f100653ad88b83b6ead0e",
      "tree": "77823b56eb1a60cedf52ec4dfa68a465c3d78b27",
      "parents": [
        "d710304c889be7c6320fec4accaee1413efc90ed"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sat Jun 29 00:15:51 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jul 28 16:25:59 2013 -0700"
      },
      "message": "net: Swap ver and type in pppoe_hdr\n\n[ Upstream commit b1a5a34bd0b8767ea689e68f8ea513e9710b671e ]\n\nVer and type in pppoe_hdr should be swapped as defined by RFC2516\nsection-4.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "535fad87e86d33ea41d4b8580fadf62f5865ae6b",
      "tree": "144c7d400374a57142d4e176c6f0ac34ba926028",
      "parents": [
        "5d2a2c717306c11672aef8ca6a1535ff78f57fa8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue May 28 10:55:48 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Jul 03 10:59:06 2013 -0700"
      },
      "message": "perf: Fix perf mmap bugs\n\ncommit 26cb63ad11e04047a64309362674bcbbd6a6f246 upstream.\n\nVince reported a problem found by his perf specific trinity\nfuzzer.\n\nAl noticed 2 problems with perf\u0027s mmap():\n\n - it has issues against fork() since we use vma-\u003evm_mm for accounting.\n - it has an rb refcount leak on double mmap().\n\nWe fix the issues against fork() by using VM_DONTCOPY; I don\u0027t\nthink there\u0027s code out there that uses this; we didn\u0027t hear\nabout weird accounting problems/crashes. If we do need this to\nwork, the previously proposed VM_PINNED could make this work.\n\nAside from the rb reference leak spotted by Al, Vince\u0027s example\nprog was indeed doing a double mmap() through the use of\nperf_event_set_output().\n\nThis exposes another problem, since we now have 2 events with\none buffer, the accounting gets screwy because we account per\nevent. Fix this by making the buffer responsible for its own\naccounting.\n\n[Backporting for 3.4-stable.\nVM_RESERVED flag was replaced with pair \u0027VM_DONTEXPAND | VM_DONTDUMP\u0027 in\n314e51b9 since 3.7.0-rc1, and 314e51b9 comes from a big patchset, we didn\u0027t\nbackport the patchset, so I restored \u0027VM_DNOTEXPAND | VM_DONTDUMP\u0027 as before:\n-       vma-\u003evm_flags |\u003d VM_DONTCOPY | VM_DONTEXPAND | VM_DONTDUMP;\n+       vma-\u003evm_flags |\u003d VM_DONTCOPY | VM_RESERVED;\n -- zliu]\n\nReported-by: Vince Weaver \u003cvincent.weaver@maine.edu\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nLink: http://lkml.kernel.org/r/20130528085548.GA12193@twins.programming.kicks-ass.net\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Zhouping Liu \u003czliu@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "689ec1227270c5b3f009b82fb32d902717a0a03e",
      "tree": "e0c01085c8d7c1d8f5168b5f2af7931076fb76cd",
      "parents": [
        "c0cc94f2f65a682827cca2a79a4d045a20f8897f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed May 29 09:06:27 2013 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jun 27 11:27:32 2013 -0700"
      },
      "message": "net: force a reload of first item in hlist_nulls_for_each_entry_rcu\n\n[ Upstream commit c87a124a5d5e8cf8e21c4363c3372bcaf53ea190 ]\n\nRoman Gushchin discovered that udp4_lib_lookup2() was not reloading\nfirst item in the rcu protected list, in case the loop was restarted.\n\nThis produced soft lockups as in https://lkml.org/lkml/2013/4/16/37\n\nrcu_dereference(X)/ACCESS_ONCE(X) seem to not work as intended if X is\nptr-\u003efield :\n\nIn some cases, gcc caches the value or ptr-\u003efield in a register.\n\nUse a barrier() to disallow such caching, as documented in\nDocumentation/atomic_ops.txt line 114\n\nThanks a lot to Roman for providing analysis and numerous patches.\n\nDiagnosed-by: Roman Gushchin \u003cklamm@yandex-team.ru\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReported-by: Boris Zhmurov \u003czhmurov@yandex-team.ru\u003e\nSigned-off-by: Roman Gushchin \u003cklamm@yandex-team.ru\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "c0cc94f2f65a682827cca2a79a4d045a20f8897f",
      "tree": "5f5ec066b0c72524ccd349861b17666dd49a06e1",
      "parents": [
        "3c353df4ca0f8f6912e103ca6d8d593ff4563b68"
      ],
      "author": {
        "name": "Andy Lutomirski",
        "email": "luto@amacapital.net",
        "time": "Wed May 22 14:07:44 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jun 27 11:27:32 2013 -0700"
      },
      "message": "net: Block MSG_CMSG_COMPAT in send(m)msg and recv(m)msg\n\n[ Upstream commits 1be374a0518a288147c6a7398792583200a67261 and\n  a7526eb5d06b0084ef12d7b168d008fcf516caab ]\n\nMSG_CMSG_COMPAT is (AFAIK) not intended to be part of the API --\nit\u0027s a hack that steals a bit to indicate to other networking code\nthat a compat entry was used.  So don\u0027t allow it from a non-compat\nsyscall.\n\nThis prevents an oops when running this code:\n\nint main()\n{\n\tint s;\n\tstruct sockaddr_in addr;\n\tstruct msghdr *hdr;\n\n\tchar *highpage \u003d mmap((void*)(TASK_SIZE_MAX - 4096), 4096,\n\t                      PROT_READ | PROT_WRITE,\n\t                      MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0);\n\tif (highpage \u003d\u003d MAP_FAILED)\n\t\terr(1, \"mmap\");\n\n\ts \u003d socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);\n\tif (s \u003d\u003d -1)\n\t\terr(1, \"socket\");\n\n        addr.sin_family \u003d AF_INET;\n        addr.sin_port \u003d htons(1);\n        addr.sin_addr.s_addr \u003d htonl(INADDR_LOOPBACK);\n\tif (connect(s, (struct sockaddr*)\u0026addr, sizeof(addr)) !\u003d 0)\n\t\terr(1, \"connect\");\n\n\tvoid *evil \u003d highpage + 4096 - COMPAT_MSGHDR_SIZE;\n\tprintf(\"Evil address is %p\\n\", evil);\n\n\tif (syscall(__NR_sendmmsg, s, evil, 1, MSG_CMSG_COMPAT) \u003c 0)\n\t\terr(1, \"sendmmsg\");\n\n\treturn 0;\n}\n\nSigned-off-by: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "7f259658b1f320b35040a14d7ace371b5cc15fbb",
      "tree": "22b82fc7ded6e3e7ba868dbf2dbab13c2881ffcc",
      "parents": [
        "aa80dd9dbe86743ae6e52c836f6ab1472c469927"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon Mar 25 10:26:30 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jun 20 11:58:47 2013 -0700"
      },
      "message": "libceph: wrap auth methods in a mutex\n\ncommit e9966076cdd952e19f2dd4854cd719be0d7cbebc upstream.\n\nThe auth code is called from a variety of contexts, include the mon_client\n(protected by the monc\u0027s mutex) and the messenger callbacks (currently\nprotected by nothing).  Avoid chaos by protecting all auth state with a\nmutex.  Nothing is blocking, so this should be simple and lightweight.\n\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\nReviewed-by: Alex Elder \u003celder@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "aa80dd9dbe86743ae6e52c836f6ab1472c469927",
      "tree": "1b5a77428bc53dd4cf0988c6328bbea34adaee1f",
      "parents": [
        "29c65a277a64645af853e8c9a9b3dda0ddc421e0"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon Mar 25 10:26:14 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jun 20 11:58:47 2013 -0700"
      },
      "message": "libceph: wrap auth ops in wrapper functions\n\ncommit 27859f9773e4a0b2042435b13400ee2c891a61f4 upstream.\n\nUse wrapper functions that check whether the auth op exists so that callers\ndo not need a bunch of conditional checks.  Simplifies the external\ninterface.\n\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\nReviewed-by: Alex Elder \u003celder@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "29c65a277a64645af853e8c9a9b3dda0ddc421e0",
      "tree": "c2dac081d3aed9b11ece51c4edc5664d963fb536",
      "parents": [
        "aacd9c3626bac2960bbecd35cc6f032f8529d90b"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon Mar 25 10:26:01 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jun 20 11:58:46 2013 -0700"
      },
      "message": "libceph: add update_authorizer auth method\n\ncommit 0bed9b5c523d577378b6f83eab5835fe30c27208 upstream.\n\nCurrently the messenger calls out to a get_authorizer con op, which will\ncreate a new authorizer if it doesn\u0027t yet have one.  In the meantime, when\nwe rotate our service keys, the authorizer doesn\u0027t get updated.  Eventually\nit will be rejected by the server on a new connection attempt and get\ninvalidated, and we will then rebuild a new authorizer, but this is not\nideal.\n\nInstead, if we do have an authorizer, call a new update_authorizer op that\nwill verify that the current authorizer is using the latest secret.  If it\nis not, we will build a new one that does.  This avoids the transient\nfailure.\n\nThis fixes one of the sorry sequence of events for bug\n\n\thttp://tracker.ceph.com/issues/4282\n\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\nReviewed-by: Alex Elder \u003celder@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "f517dfe6d161bf37a9355c86ea5cb605b06d5963",
      "tree": "610e29e1cbcd1f50888bcf131390d900f51f82b9",
      "parents": [
        "0938e135aa8513f9bc379a408d3c6c1fd24eb46a"
      ],
      "author": {
        "name": "Naoya Horiguchi",
        "email": "n-horiguchi@ah.jp.nec.com",
        "time": "Wed Jun 12 14:05:04 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jun 20 11:58:46 2013 -0700"
      },
      "message": "mm: migration: add migrate_entry_wait_huge()\n\ncommit 30dad30922ccc733cfdbfe232090cf674dc374dc upstream.\n\nWhen we have a page fault for the address which is backed by a hugepage\nunder migration, the kernel can\u0027t wait correctly and do busy looping on\nhugepage fault until the migration finishes.  As a result, users who try\nto kick hugepage migration (via soft offlining, for example) occasionally\nexperience long delay or soft lockup.\n\nThis is because pte_offset_map_lock() can\u0027t get a correct migration entry\nor a correct page table lock for hugepage.  This patch introduces\nmigration_entry_wait_huge() to solve this.\n\nSigned-off-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "b3cba474228862814480d40554f77e98483f41ed",
      "tree": "ac70cc8e20df21d9f64b27bd5f2318964b204cd1",
      "parents": [
        "91c930674642f4b849d64398db261ad13c3ab354"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Wed Jun 12 14:04:36 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jun 20 11:58:44 2013 -0700"
      },
      "message": "CPU hotplug: provide a generic helper to disable/enable CPU hotplug\n\ncommit 16e53dbf10a2d7e228709a7286310e629ede5e45 upstream.\n\nThere are instances in the kernel where we would like to disable CPU\nhotplug (from sysfs) during some important operation.  Today the freezer\ncode depends on this and the code to do it was kinda tailor-made for\nthat.\n\nRestructure the code and make it generic enough to be useful for other\nusecases too.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Russ Anderson \u003crja@sgi.com\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nCc: Shawn Guo \u003cshawn.guo@linaro.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "bc4d36c41f16a66c320fd0282110ddc82aa1eb09",
      "tree": "4d15ef32790902916c0b92b33b299dfeb2834b5d",
      "parents": [
        "3a22cc7f184b77731816e55662cd12f0c3d24d56"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jun 07 17:02:08 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jun 13 09:45:03 2013 -0700"
      },
      "message": "ftrace: Move ftrace_filter_lseek out of CONFIG_DYNAMIC_FTRACE section\n\ncommit 7f49ef69db6bbf756c0abca7e9b65b32e999eec8 upstream.\n\nAs ftrace_filter_lseek is now used with ftrace_pid_fops, it needs to\nbe moved out of the #ifdef CONFIG_DYNAMIC_FTRACE section as the\nftrace_pid_fops is defined when DYNAMIC_FTRACE is not.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\n[ lizf: adjust context ]\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "3a22cc7f184b77731816e55662cd12f0c3d24d56",
      "tree": "ce3612a4ea2ec1ed53d5c98a24b88aa80067129c",
      "parents": [
        "ce840e2f7825bfd240782dc209c2f2b8db514287"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Fri Jun 07 17:01:16 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jun 13 09:45:03 2013 -0700"
      },
      "message": "tracing: Fix possible NULL pointer dereferences\n\ncommit 6a76f8c0ab19f215af2a3442870eeb5f0e81998d upstream.\n\nCurrently set_ftrace_pid and set_graph_function files use seq_lseek\nfor their fops.  However seq_open() is called only for FMODE_READ in\nthe fops-\u003eopen() so that if an user tries to seek one of those file\nwhen she open it for writing, it sees NULL seq_file and then panic.\n\nIt can be easily reproduced with following command:\n\n  $ cd /sys/kernel/debug/tracing\n  $ echo 1234 | sudo tee -a set_ftrace_pid\n\nIn this example, GNU coreutils\u0027 tee opens the file with fopen(, \"a\")\nand then the fopen() internally calls lseek().\n\nLink:\nhttp://lkml.kernel.org/r/1365663302-2170-1-git-send-email-namhyung@kernel.org\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n[ lizf: adjust context ]\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "954dc41937054d91766387ea2af400c185a1e96a",
      "tree": "451921b8a4b9e8ae9d18ef4845d256e440f362df",
      "parents": [
        "b6a526aa935210e5a292cd7919fdecf14e240fac"
      ],
      "author": {
        "name": "Imre Deak",
        "email": "imre.deak@intel.com",
        "time": "Fri May 24 15:55:09 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jun 07 12:49:14 2013 -0700"
      },
      "message": "wait: fix false timeouts when using wait_event_timeout()\n\ncommit 4c663cfc523a88d97a8309b04a089c27dc57fd7e upstream.\n\nMany callers of the wait_event_timeout() and\nwait_event_interruptible_timeout() expect that the return value will be\npositive if the specified condition becomes true before the timeout\nelapses.  However, at the moment this isn\u0027t guaranteed.  If the wake-up\nhandler is delayed enough, the time remaining until timeout will be\ncalculated as 0 - and passed back as a return value - even if the\ncondition became true before the timeout has passed.\n\nFix this by returning at least 1 if the condition becomes true.  This\nsemantic is in line with what wait_for_condition_timeout() does; see\ncommit bb10ed09 (\"sched: fix wait_for_completion_timeout() spurious\nfailure under heavy load\").\n\nDaniel said \"We have 3 instances of this bug in drm/i915.  One case even\nwhere we switch between the interruptible and not interruptible\nwait_event_timeout variants, foolishly presuming they have the same\nsemantics.  I very much like this.\"\n\nOne such bug is reported at\n  https://bugs.freedesktop.org/show_bug.cgi?id\u003d64133\n\nSigned-off-by: Imre Deak \u003cimre.deak@intel.com\u003e\nAcked-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: \"Paul E.  McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "dab2d3dc45ae7343216635d981d43637e1cb7d45",
      "tree": "a79004a3fcee0ada81f9dd12ed77caf5807edc58",
      "parents": [
        "dd77cf8cc7aca5902e759c26049730c151bc885f"
      ],
      "author": {
        "name": "Naoya Horiguchi",
        "email": "n-horiguchi@ah.jp.nec.com",
        "time": "Tue May 07 16:18:13 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun May 19 10:54:48 2013 -0700"
      },
      "message": "hugetlbfs: fix mmap failure in unaligned size request\n\ncommit af73e4d9506d3b797509f3c030e7dcd554f7d9c4 upstream.\n\nThe current kernel returns -EINVAL unless a given mmap length is\n\"almost\" hugepage aligned.  This is because in sys_mmap_pgoff() the\ngiven length is passed to vm_mmap_pgoff() as it is without being aligned\nwith hugepage boundary.\n\nThis is a regression introduced in commit 40716e29243d (\"hugetlbfs: fix\nalignment of huge page requests\"), where alignment code is pushed into\nhugetlb_file_setup() and the variable len in caller side is not changed.\n\nTo fix this, this patch partially reverts that commit, and adds\nalignment code in caller side.  And it also introduces hstate_sizelog()\nin order to get proper hstate to specified hugepage size.\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d56881\n\n[akpm@linux-foundation.org: fix warning when CONFIG_HUGETLB_PAGE\u003dn]\nSigned-off-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReported-by: \u003ciceman_dvd@yahoo.com\u003e\nCc: Steven Truelove \u003csteven.truelove@utoronto.ca\u003e\nCc: Jianguo Wu \u003cwujianguo@huawei.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Jianguo Wu \u003cwujianguo@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "f2f17ef7c7a9ac2a9ed1160c768c67d2cf86b8d5",
      "tree": "d30412dc090b30800365582acba0f0f11924b2b4",
      "parents": [
        "e52507b9069411a0a770d49daa246f8cb2fbcde4"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jiri@resnulli.us",
        "time": "Thu May 09 04:23:40 2013 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun May 19 10:54:47 2013 -0700"
      },
      "message": "macvlan: fix passthru mode race between dev removal and rx path\n\n[ Upstream commit 233c7df0821c4190e2d3f4be0f2ca0ab40a5ed8c, note\n  that I had to add list_first_or_null_rcu to rculist.h in order\n  to accomodate this fix. ]\n\nCurrently, if macvlan in passthru mode is created and data are rxed and\nyou remove this device, following panic happens:\n\nNULL pointer dereference at 0000000000000198\nIP: [\u003cffffffffa0196058\u003e] macvlan_handle_frame+0x153/0x1f7 [macvlan]\n\nI\u0027m using following script to trigger this:\n\u003cscript\u003e\nwhile [ 1 ]\ndo\n\tip link add link e1 name macvtap0 type macvtap mode passthru\n\tip link set e1 up\n\tip link set macvtap0 up\n\tIFINDEX\u003d`ip link |grep macvtap0 | cut -f 1 -d \u0027:\u0027`\n\tcat /dev/tap$IFINDEX  \u003e/dev/null \u0026\n\tip link del dev macvtap0\ndone\n\u003c/script\u003e\n\nI run this script while \"ping -f\" is running on another machine to send\npackets to e1 rx.\n\nReason of the panic is that list_first_entry() is blindly called in\nmacvlan_handle_frame() even if the list was empty. vlan is set to\nincorrect pointer which leads to the crash.\n\nI\u0027m fixing this by protecting port-\u003evlans list by rcu and by preventing\nfrom getting incorrect pointer in case the list is empty.\n\nIntroduced by: commit eb06acdc85585f2 \"macvlan: Introduce \u0027passthru\u0027 mode to takeover the underlying device\"\n\nSigned-off-by: Jiri Pirko \u003cjiri@resnulli.us\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "e52507b9069411a0a770d49daa246f8cb2fbcde4",
      "tree": "8bfea237f8984d26400320ba32456d50ddce9db8",
      "parents": [
        "9faef35be7ff4fbaeb6ed86ca5a3fdcf46d630be"
      ],
      "author": {
        "name": "Josh Boyer",
        "email": "jwboyer@redhat.com",
        "time": "Wed May 08 09:45:47 2013 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun May 19 10:54:47 2013 -0700"
      },
      "message": "if_cablemodem.h: Add parenthesis around ioctl macros\n\n[ Upstream commit 4f924b2aa4d3cb30f07e57d6b608838edcbc0d88 ]\n\nProtect the SIOCGCM* ioctl macros with parenthesis.\n\nReported-by: Paul Wouters \u003cpwouters@redhat.com\u003e\nSigned-off-by: Josh Boyer \u003cjwboyer@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ad86524f948c1914dbd5bc460a5c6fd131ec054a",
      "tree": "e123d937b7d8e6871bc161a6233f850c236e8d49",
      "parents": [
        "7c8b65e18db43c918ec3491e2712432d2a33f8a5"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Jan 09 10:46:17 2013 +1100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun May 19 10:54:39 2013 -0700"
      },
      "message": "audit: Syscall rules are not applied to existing processes on non-x86\n\ncommit cdee3904b4ce7c03d1013ed6dd704b43ae7fc2e9 upstream.\n\nCommit b05d8447e782 (audit: inline audit_syscall_entry to reduce\nburden on archs) changed audit_syscall_entry to check for a dummy\ncontext before calling __audit_syscall_entry. Unfortunately the dummy\ncontext state is maintained in __audit_syscall_entry so once set it\nnever gets cleared, even if the audit rules change.\n\nAs a result, if there are no auditing rules when a process starts\nthen it will never be subject to any rules added later. x86 doesn\u0027t\nsee this because it has an assembly fast path that calls directly into\n__audit_syscall_entry.\n\nI noticed this issue when working on audit performance optimisations.\nI wrote a set of simple test cases available at:\n\nhttp://ozlabs.org/~anton/junkcode/audit_tests.tar.gz\n\n02_new_rule.py fails without the patch and passes with it. The\ntest case clears all rules, starts a process, adds a rule then\nverifies the process produces a syscall audit record.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "213116e53f9fde7896be9958e73d4e59bfea980b",
      "tree": "83050e644c69f12e6a3eaf5271a3ac7d87b33c1f",
      "parents": [
        "e99e7562943ded071fbd77066b1e4aee1e3815c2"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Wed Apr 03 22:06:52 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue May 07 19:51:57 2013 -0700"
      },
      "message": "jbd2: fix race between jbd2_journal_remove_checkpoint and -\u003ej_commit_callback\n\ncommit 794446c6946513c684d448205fbd76fa35f38b72 upstream.\n\nThe following race is possible:\n\n[kjournald2]                              other_task\njbd2_journal_commit_transaction()\n  j_state \u003d T_FINISHED;\n  spin_unlock(\u0026journal-\u003ej_list_lock);\n                                         -\u003ejbd2_journal_remove_checkpoint()\n\t\t\t\t\t   -\u003ejbd2_journal_free_transaction();\n\t\t\t\t\t     -\u003ekmem_cache_free(transaction)\n  -\u003ej_commit_callback(journal, transaction);\n    -\u003e USE_AFTER_FREE\n\nWARNING: at lib/list_debug.c:62 __list_del_entry+0x1c0/0x250()\nHardware name:\nlist_del corruption. prev-\u003enext should be ffff88019a4ec198, but was 6b6b6b6b6b6b6b6b\nModules linked in: cpufreq_ondemand acpi_cpufreq freq_table mperf coretemp kvm_intel kvm crc32c_intel ghash_clmulni_intel microcode sg xhci_hcd button sd_mod crc_t10dif aesni_intel ablk_helper cryptd lrw aes_x86_64 xts gf128mul ahci libahci pata_acpi ata_generic dm_mirror dm_region_hash dm_log dm_mod\nPid: 16400, comm: jbd2/dm-1-8 Tainted: G        W    3.8.0-rc3+ #107\nCall Trace:\n [\u003cffffffff8106fb0d\u003e] warn_slowpath_common+0xad/0xf0\n [\u003cffffffff8106fc06\u003e] warn_slowpath_fmt+0x46/0x50\n [\u003cffffffff813637e9\u003e] ? ext4_journal_commit_callback+0x99/0xc0\n [\u003cffffffff8148cae0\u003e] __list_del_entry+0x1c0/0x250\n [\u003cffffffff813637bf\u003e] ext4_journal_commit_callback+0x6f/0xc0\n [\u003cffffffff813ca336\u003e] jbd2_journal_commit_transaction+0x23a6/0x2570\n [\u003cffffffff8108aa42\u003e] ? try_to_del_timer_sync+0x82/0xa0\n [\u003cffffffff8108b491\u003e] ? del_timer_sync+0x91/0x1e0\n [\u003cffffffff813d3ecf\u003e] kjournald2+0x19f/0x6a0\n [\u003cffffffff810ad630\u003e] ? wake_up_bit+0x40/0x40\n [\u003cffffffff813d3d30\u003e] ? bit_spin_lock+0x80/0x80\n [\u003cffffffff810ac6be\u003e] kthread+0x10e/0x120\n [\u003cffffffff810ac5b0\u003e] ? __init_kthread_worker+0x70/0x70\n [\u003cffffffff818ff6ac\u003e] ret_from_fork+0x7c/0xb0\n [\u003cffffffff810ac5b0\u003e] ? __init_kthread_worker+0x70/0x70\n\nIn order to demonstrace this issue one should mount ext4 with mount -o\ndiscard option on SSD disk.  This makes callback longer and race\nwindow becomes wider.\n\nIn order to fix this we should mark transaction as finished only after\ncallbacks have completed\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "b7d885f21da64b75066f42246da6968e3769b951",
      "tree": "65d90fc56637f12d65a981e65cb94011191e695b",
      "parents": [
        "131e3afd38ede147ad56179d352a9d7b8b3d966f"
      ],
      "author": {
        "name": "Robin Holt",
        "email": "holt@sgi.com",
        "time": "Tue Apr 30 19:15:54 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue May 07 19:51:56 2013 -0700"
      },
      "message": "ipc: sysv shared memory limited to 8TiB\n\ncommit d69f3bad4675ac519d41ca2b11e1c00ca115cecd upstream.\n\nTrying to run an application which was trying to put data into half of\nmemory using shmget(), we found that having a shmall value below 8EiB-8TiB\nwould prevent us from using anything more than 8TiB.  By setting\nkernel.shmall greater than 8EiB-8TiB would make the job work.\n\nIn the newseg() function, ns-\u003eshm_tot which, at 8TiB is INT_MAX.\n\nipc/shm.c:\n 458 static int newseg(struct ipc_namespace *ns, struct ipc_params *params)\n 459 {\n...\n 465         int numpages \u003d (size + PAGE_SIZE -1) \u003e\u003e PAGE_SHIFT;\n...\n 474         if (ns-\u003eshm_tot + numpages \u003e ns-\u003eshm_ctlall)\n 475                 return -ENOSPC;\n\n[akpm@linux-foundation.org: make ipc/shm.c:newseg()\u0027s numpages size_t, not int]\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nReported-by: Alex Thorlton \u003cathorlton@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "ca4bf7c6970aee586c4b6b642e011e3847ac5f93",
      "tree": "5a09c1404e30b8647502300f19516bc6720df17a",
      "parents": [
        "4087320fd8d0164c4b53fe5f9c26c0d3eaba7d2d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 19 15:32:32 2013 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed May 01 09:41:16 2013 -0700"
      },
      "message": "net: fix incorrect credentials passing\n\n[ Upstream commit 83f1b4ba917db5dc5a061a44b3403ddb6e783494 ]\n\nCommit 257b5358b32f (\"scm: Capture the full credentials of the scm\nsender\") changed the credentials passing code to pass in the effective\nuid/gid instead of the real uid/gid.\n\nObviously this doesn\u0027t matter most of the time (since normally they are\nthe same), but it results in differences for suid binaries when the wrong\nuid/gid ends up being used.\n\nThis just undoes that (presumably unintentional) part of the commit.\n\nReported-by: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "1ab6b2a5a0970c887166b732fd3ad347979f2cec",
      "tree": "816c2b7f42d8a6779bb48adba53ec461560937e8",
      "parents": [
        "ba12001651d677a8742aa465d3996885d2568f98"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Apr 05 20:42:05 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed May 01 09:41:07 2013 -0700"
      },
      "message": "netfilter: don\u0027t reset nf_trace in nf_reset()\n\n[ Upstream commit 124dff01afbdbff251f0385beca84ba1b9adda68 ]\n\nCommit 130549fe (\"netfilter: reset nf_trace in nf_reset\") added code\nto reset nf_trace in nf_reset(). This is wrong and unnecessary.\n\nnf_reset() is used in the following cases:\n\n- when passing packets up the the socket layer, at which point we want to\n  release all netfilter references that might keep modules pinned while\n  the packet is queued. nf_trace doesn\u0027t matter anymore at this point.\n\n- when encapsulating or decapsulating IPsec packets. We want to continue\n  tracing these packets after IPsec processing.\n\n- when passing packets through virtual network devices. Only devices on\n  that encapsulate in IPv4/v6 matter since otherwise nf_trace is not\n  used anymore. Its not entirely clear whether those packets should\n  be traced after that, however we\u0027ve always done that.\n\n- when passing packets through virtual network devices that make the\n  packet cross network namespace boundaries. This is the only cases\n  where we clearly want to reset nf_trace and is also what the\n  original patch intended to fix.\n\nAdd a new function nf_reset_trace() and use it in dev_forward_skb() to\nfix this properly.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "617f13b4194b6aad612733a932bc89d883d9325e",
      "tree": "ab3ae7170a72801d5b9cca9092abc09d05b02747",
      "parents": [
        "ef95e3d5d7325b87ca22c4aa72710ac152315559"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vyasevic@redhat.com",
        "time": "Tue Apr 02 17:10:07 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed May 01 09:41:06 2013 -0700"
      },
      "message": "net: count hw_addr syncs so that unsync works properly.\n\n[ Upstream commit 4543fbefe6e06a9e40d9f2b28d688393a299f079 ]\n\nA few drivers use dev_uc_sync/unsync to synchronize the\naddress lists from master down to slave/lower devices.  In\nsome cases (bond/team) a single address list is synched down\nto multiple devices.  At the time of unsync, we have a leak\nin these lower devices, because \"synced\" is treated as a\nboolean and the address will not be unsynced for anything after\nthe first device/call.\n\nTreat \"synced\" as a count (same as refcount) and allow all\nunsync calls to work.\n\nSigned-off-by: Vlad Yasevich \u003cvyasevic@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "c420060e7b21368c21972e8a29e4ff56abb9d219",
      "tree": "069e6e4afb23f00817a7daf0bec549435359ab27",
      "parents": [
        "726cc91ed26521f3e678346e5745203a70edd456"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 16 13:45:37 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Apr 25 21:19:56 2013 -0700"
      },
      "message": "vm: add vm_iomap_memory() helper function\n\ncommit b4cbb197c7e7a68dbad0d491242e3ca67420c13e upstream.\n\nVarious drivers end up replicating the code to mmap() their memory\nbuffers into user space, and our core memory remapping function may be\nvery flexible but it is unnecessarily complicated for the common cases\nto use.\n\nOur internal VM uses pfn\u0027s (\"page frame numbers\") which simplifies\nthings for the VM, and allows us to pass physical addresses around in a\ndenser and more efficient format than passing a \"phys_addr_t\" around,\nand having to shift it up and down by the page size.  But it just means\nthat drivers end up doing that shifting instead at the interface level.\n\nIt also means that drivers end up mucking around with internal VM things\nlike the vma details (vm_pgoff, vm_start/end) way more than they really\nneed to.\n\nSo this just exports a function to map a certain physical memory range\ninto user space (using a phys_addr_t based interface that is much more\nnatural for a driver) and hides all the complexity from the driver.\nSome drivers will still end up tweaking the vm_page_prot details for\nthings like prefetching or cacheability etc, but that\u0027s actually\nrelevant to the driver, rather than caring about what the page offset of\nthe mapping is into the particular IO memory region.\n\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n\n"
    },
    {
      "commit": "d6b8c333ca71eba35911fc4460ca37568ccfa9c0",
      "tree": "da26dfb9cb9e1e4b672dd22bea47f4486bf6d75b",
      "parents": [
        "f4ec6e0f475dd23157042a150c8f3dcfa528a8ca"
      ],
      "author": {
        "name": "Rafał Miłecki",
        "email": "zajec5@gmail.com",
        "time": "Tue Apr 02 15:57:26 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Apr 25 21:19:55 2013 -0700"
      },
      "message": "ssb: implement spurious tone avoidance\n\ncommit 46fc4c909339f5a84d1679045297d9d2fb596987 upstream.\n\nAnd make use of it in b43. This fixes a regression introduced with\n49d55cef5b1925a5c1efb6aaddaa40fc7c693335\nb43: N-PHY: implement spurious tone avoidance\nThis commit made BCM4322 use only MCS 0 on channel 13, which of course\nresulted in performance drop (down to 0.7Mb/s).\n\nReported-by: Stefan Brüns \u003cstefan.bruens@rwth-aachen.de\u003e\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "2a6b0247eee46f424e032fb7431cc4700ad19ea5",
      "tree": "99660b47a9ccc8e1123f4363ca0a95875a7f7ea6",
      "parents": [
        "f56d137aa68f8edadac247aa48b335f2776954ff"
      ],
      "author": {
        "name": "Andrew Honig",
        "email": "ahonig@google.com",
        "time": "Fri Mar 29 09:35:21 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Apr 25 21:19:55 2013 -0700"
      },
      "message": "KVM: Allow cross page reads and writes from cached translations.\n\ncommit 8f964525a121f2ff2df948dac908dcc65be21b5b upstream.\n\nThis patch adds support for kvm_gfn_to_hva_cache_init functions for\nreads and writes that will cross a page.  If the range falls within\nthe same memslot, then this will be a fast operation.  If the range\nis split between two memslots, then the slower kvm_read_guest and\nkvm_write_guest are used.\n\nTested: Test against kvm_clock unit tests.\n\nSigned-off-by: Andrew Honig \u003cahonig@google.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "e3a55052f4773105dbd23f72dec4aeac82dea871",
      "tree": "287ba056309faab0f819fa03b74f6770430d5b49",
      "parents": [
        "7077c66b3ab3a1d336648cf88f54df43709ebac3"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Tue Nov 06 11:31:49 2012 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Apr 16 21:27:26 2013 -0700"
      },
      "message": "kref: Implement kref_get_unless_zero v3\n\ncommit 4b20db3de8dab005b07c74161cb041db8c5ff3a7 upstream.\n\nThis function is intended to simplify locking around refcounting for\nobjects that can be looked up from a lookup structure, and which are\nremoved from that lookup structure in the object destructor.\nOperations on such objects require at least a read lock around\nlookup + kref_get, and a write lock around kref_put + remove from lookup\nstructure. Furthermore, RCU implementations become extremely tricky.\nWith a lookup followed by a kref_get_unless_zero *with return value check*\nlocking in the kref_put path can be deferred to the actual removal from\nthe lookup structure and RCU lookups become trivial.\n\nv2: Formatting fixes.\nv3: Invert the return value.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "a227904b82c591bf9531b9deac1e60fbe96abfed",
      "tree": "b8842e19626ce583e64546b9ae20fabee91a53e8",
      "parents": [
        "261c874090bde0efb5040608d8123d5f0fadcac8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 09 10:48:33 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Apr 12 09:38:46 2013 -0700"
      },
      "message": "spinlocks and preemption points need to be at least compiler barriers\n\ncommit 386afc91144b36b42117b0092893f15bc8798a80 upstream.\n\nIn UP and non-preempt respectively, the spinlocks and preemption\ndisable/enable points are stubbed out entirely, because there is no\nregular code that can ever hit the kind of concurrency they are meant to\nprotect against.\n\nHowever, while there is no regular code that can cause scheduling, we\n_do_ end up having some exceptional (literally!) code that can do so,\nand that we need to make sure does not ever get moved into the critical\nregion by the compiler.\n\nIn particular, get_user() and put_user() is generally implemented as\ninline asm statements (even if the inline asm may then make a call\ninstruction to call out-of-line), and can obviously cause a page fault\nand IO as a result.  If that inline asm has been scheduled into the\nmiddle of a preemption-safe (or spinlock-protected) code region, we\nobviously lose.\n\nNow, admittedly this is *very* unlikely to actually ever happen, and\nwe\u0027ve not seen examples of actual bugs related to this.  But partly\nexactly because it\u0027s so hard to trigger and the resulting bug is so\nsubtle, we should be extra careful to get this right.\n\nSo make sure that even when preemption is disabled, and we don\u0027t have to\ngenerate any actual *code* to explicitly tell the system that we are in\na preemption-disabled region, we need to at least tell the compiler not\nto move things around the critical region.\n\nThis patch grew out of the same discussion that caused commits\n79e5f05edcbf (\"ARC: Add implicit compiler barrier to raw_local_irq*\nfunctions\") and 3e2e0d2c222b (\"tile: comment assumption about\n__insn_mtspr for \u003casm/irqflags.h\u003e\") to come about.\n\nNote for stable: use discretion when/if applying this.  As mentioned,\nthis bug may never have actually bitten anybody, and gcc may never have\ndone the required code motion for it to possibly ever trigger in\npractice.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "284aeebb312c2b2464673bf68b9a32e415b5145a",
      "tree": "71fbc5fdade725cba28c6fe25da459cdd7a5d4b8",
      "parents": [
        "57b41f6193014b2a4a67c270dd77d801fd337d98"
      ],
      "author": {
        "name": "Shan Hai",
        "email": "shan.hai@windriver.com",
        "time": "Mon Mar 18 10:30:44 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Apr 12 09:38:44 2013 -0700"
      },
      "message": "libata: Set max sector to 65535 for Slimtype DVD A DS8A8SH drive\n\ncommit a32450e127fc6e5ca6d958ceb3cfea4d30a00846 upstream.\n\nThe Slimtype DVD A  DS8A8SH drive locks up when max sector is smaller than\n65535, and the blow backtrace is observed on locking up:\n\nINFO: task flush-8:32:1130 blocked for more than 120 seconds.\n\"echo 0 \u003e /proc/sys/kernel/hung_task_timeout_secs\" disables this message.\nflush-8:32      D ffffffff8180cf60     0  1130      2 0x00000000\n ffff880273aef618 0000000000000046 0000000000000005 ffff880273aee000\n ffff880273aee000 ffff880273aeffd8 ffff880273aee010 ffff880273aee000\n ffff880273aeffd8 ffff880273aee000 ffff88026e842ea0 ffff880274a10000\nCall Trace:\n [\u003cffffffff8168fc2d\u003e] schedule+0x5d/0x70\n [\u003cffffffff8168fccc\u003e] io_schedule+0x8c/0xd0\n [\u003cffffffff81324461\u003e] get_request+0x731/0x7d0\n [\u003cffffffff8133dc60\u003e] ? cfq_allow_merge+0x50/0x90\n [\u003cffffffff81083aa0\u003e] ? wake_up_bit+0x40/0x40\n [\u003cffffffff81320443\u003e] ? bio_attempt_back_merge+0x33/0x110\n [\u003cffffffff813248ea\u003e] blk_queue_bio+0x23a/0x3f0\n [\u003cffffffff81322176\u003e] generic_make_request+0xc6/0x120\n [\u003cffffffff81322308\u003e] submit_bio+0x138/0x160\n [\u003cffffffff811d7596\u003e] ? bio_alloc_bioset+0x96/0x120\n [\u003cffffffff811d1f61\u003e] submit_bh+0x1f1/0x220\n [\u003cffffffff811d48b8\u003e] __block_write_full_page+0x228/0x340\n [\u003cffffffff811d3650\u003e] ? attach_nobh_buffers+0xc0/0xc0\n [\u003cffffffff811d8960\u003e] ? I_BDEV+0x10/0x10\n [\u003cffffffff811d8960\u003e] ? I_BDEV+0x10/0x10\n [\u003cffffffff811d4ab6\u003e] block_write_full_page_endio+0xe6/0x100\n [\u003cffffffff811d4ae5\u003e] block_write_full_page+0x15/0x20\n [\u003cffffffff811d9268\u003e] blkdev_writepage+0x18/0x20\n [\u003cffffffff81142527\u003e] __writepage+0x17/0x40\n [\u003cffffffff811438ba\u003e] write_cache_pages+0x34a/0x4a0\n [\u003cffffffff81142510\u003e] ? set_page_dirty+0x70/0x70\n [\u003cffffffff81143a61\u003e] generic_writepages+0x51/0x80\n [\u003cffffffff81143ab0\u003e] do_writepages+0x20/0x50\n [\u003cffffffff811c9ed6\u003e] __writeback_single_inode+0xa6/0x2b0\n [\u003cffffffff811ca861\u003e] writeback_sb_inodes+0x311/0x4d0\n [\u003cffffffff811caaa6\u003e] __writeback_inodes_wb+0x86/0xd0\n [\u003cffffffff811cad43\u003e] wb_writeback+0x1a3/0x330\n [\u003cffffffff816916cf\u003e] ? _raw_spin_lock_irqsave+0x3f/0x50\n [\u003cffffffff811b8362\u003e] ? get_nr_inodes+0x52/0x70\n [\u003cffffffff811cb0ac\u003e] wb_do_writeback+0x1dc/0x260\n [\u003cffffffff8168dd34\u003e] ? schedule_timeout+0x204/0x240\n [\u003cffffffff811cb232\u003e] bdi_writeback_thread+0x102/0x2b0\n [\u003cffffffff811cb130\u003e] ? wb_do_writeback+0x260/0x260\n [\u003cffffffff81083550\u003e] kthread+0xc0/0xd0\n [\u003cffffffff81083490\u003e] ? kthread_worker_fn+0x1b0/0x1b0\n [\u003cffffffff8169a3ec\u003e] ret_from_fork+0x7c/0xb0\n [\u003cffffffff81083490\u003e] ? kthread_worker_fn+0x1b0/0x1b0\n\n The above trace was triggered by\n   \"dd if\u003d/dev/zero of\u003d/dev/sr0 bs\u003d2048 count\u003d32768\"\n\n It was previously working by accident, since another bug introduced\n by 4dce8ba94c7 (libata: Use \u0027bool\u0027 return value for ata_id_XXX) caused\n all drives to use maxsect\u003d65535.\n\nSigned-off-by: Shan Hai \u003cshan.hai@windriver.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "57b41f6193014b2a4a67c270dd77d801fd337d98",
      "tree": "e7ba3d038511ab08027428518796f3edeaf8dc92",
      "parents": [
        "91777f102bc6c5d72bf637281b74ba96c1447850"
      ],
      "author": {
        "name": "Shan Hai",
        "email": "shan.hai@windriver.com",
        "time": "Mon Mar 18 10:30:43 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Apr 12 09:38:44 2013 -0700"
      },
      "message": "libata: Use integer return value for atapi_command_packet_set\n\ncommit d8668fcb0b257d9fdcfbe5c172a99b8d85e1cd82 upstream.\n\nThe function returns type of ATAPI drives so it should return integer value.\nThe commit 4dce8ba94c7 (libata: Use \u0027bool\u0027 return value for ata_id_XXX) since\nv2.6.39 changed the type of return value from int to bool, the change would\ncause all of the ATAPI class drives to be treated as TYPE_TAPE and the\nmax_sectors of the drives to be set to 65535 because of the commit\nf8d8e5799b7(libata: increase 128 KB / cmd limit for ATAPI tape drives), for the\nfunction would return true for all ATAPI class drives and the TYPE_TAPE is\ndefined as 0x01.\n\nSigned-off-by: Shan Hai \u003cshan.hai@windriver.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "a9304844277ca08288b54df5ee9201c5ce3e4cbf",
      "tree": "1bca8c782dbd681644066a6f512beacc8f41801c",
      "parents": [
        "71ec40e8f0a5eefca7b318f133f90dc4f2302c4f"
      ],
      "author": {
        "name": "Andrey Vagin",
        "email": "avagin@openvz.org",
        "time": "Thu Mar 21 20:33:46 2013 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Apr 05 10:04:40 2013 -0700"
      },
      "message": "net: fix *_DIAG_MAX constants\n\n[ Upstream commit ae5fc98728c8bbbd6d7cab0b9781671fc4419c1b ]\n\nFollow the common pattern and define *_DIAG_MAX like:\n\n        [...]\n        __XXX_DIAG_MAX,\n};\n\nBecause everyone is used to do:\n\n        struct nlattr *attrs[XXX_DIAG_MAX+1];\n\n        nla_parse([...], XXX_DIAG_MAX, [...]\n\nReported-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrey Vagin \u003cavagin@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "b9f3bf1d0fe1e9ef11d1d607906138e9f84f7616",
      "tree": "34b9e1f7679eb5f563c0e506ff811d736878774c",
      "parents": [
        "a83417946df6c57fbb4d4383c992c5ffd59b56c2"
      ],
      "author": {
        "name": "Masatake YAMATO",
        "email": "yamato@redhat.com",
        "time": "Mon Apr 01 14:50:40 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Apr 05 10:04:38 2013 -0700"
      },
      "message": "thermal: shorten too long mcast group name\n\n[ Upstream commits 73214f5d9f33b79918b1f7babddd5c8af28dd23d\n  and f1e79e208076ffe7bad97158275f1c572c04f5c7, the latter\n  adds an assertion to genetlink to prevent this from happening\n  again in the future. ]\n\nThe original name is too long.\n\nSigned-off-by: Masatake YAMATO \u003cyamato@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "023eae6de094c527f85c5fc3e9a8a364af56b1af",
      "tree": "899b193a9ba356d2ac6b404a93b1c2545407d709",
      "parents": [
        "2f7dea37d1b0b3a26fb3c2bd97bbf836dfd04def"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Mon Dec 17 16:03:20 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Mar 28 12:12:28 2013 -0700"
      },
      "message": "exec: use -ELOOP for max recursion depth\n\ncommit d740269867021faf4ce38a449353d2b986c34a67 upstream.\n\nTo avoid an explosion of request_module calls on a chain of abusive\nscripts, fail maximum recursion with -ELOOP instead of -ENOEXEC. As soon\nas maximum recursion depth is hit, the error will fail all the way back\nup the chain, aborting immediately.\n\nThis also has the side-effect of stopping the user\u0027s shell from attempting\nto reexecute the top-level file as a shell script. As seen in the\ndash source:\n\n        if (cmd !\u003d path_bshell \u0026\u0026 errno \u003d\u003d ENOEXEC) {\n                *argv-- \u003d cmd;\n                *argv \u003d cmd \u003d path_bshell;\n                goto repeat;\n        }\n\nThe above logic was designed for running scripts automatically that lacked\nthe \"#!\" header, not to re-try failed recursion. On a legitimate -ENOEXEC,\nthings continue to behave as the shell expects.\n\nAdditionally, when tracking recursion, the binfmt handlers should not be\ninvolved. The recursion being tracked is the depth of calls through\nsearch_binary_handler(), so that function should be exclusively responsible\nfor tracking the depth.\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: halfdog \u003cme@halfdog.net\u003e\nCc: P J P \u003cppandit@redhat.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "b6da578e2a610a64e89f2a983f7675eb301c5d35",
      "tree": "e9a01ac902578dcb3c0cca6b9126e294d02942a7",
      "parents": [
        "6a2d122cdd939e33279baf351c7cbf12c50eaeb5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu Mar 14 05:40:32 2013 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Mar 28 12:11:53 2013 -0700"
      },
      "message": "tcp: fix skb_availroom()\n\n[ Upstream commit 16fad69cfe4adbbfa813de516757b87bcae36d93 ]\n\nChrome OS team reported a crash on a Pixel ChromeBook in TCP stack :\n\nhttps://code.google.com/p/chromium/issues/detail?id\u003d182056\n\ncommit a21d45726acac (tcp: avoid order-1 allocations on wifi and tx\npath) did a poor choice adding an \u0027avail_size\u0027 field to skb, while\nwhat we really needed was a \u0027reserved_tailroom\u0027 one.\n\nIt would have avoided commit 22b4a4f22da (tcp: fix retransmit of\npartially acked frames) and this commit.\n\nCrash occurs because skb_split() is not aware of the \u0027avail_size\u0027\nmanagement (and should not be aware)\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReported-by: Mukesh Agrawal \u003cquiche@chromium.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6bf083ffc825244992274a23017655caee8e4c58",
      "tree": "e74f39428f6ed033b83b5e1e227d9883669fee7c",
      "parents": [
        "d7805638b85ce978f7c0cf1ac49204d4288084f6"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Sun Mar 17 15:49:10 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Mar 20 13:05:00 2013 -0700"
      },
      "message": "perf,x86: fix link failure for non-Intel configs\n\ncommit 6c4d3bc99b3341067775efd4d9d13cc8e655fd7c upstream.\n\nCommit 1d9d8639c063 (\"perf,x86: fix kernel crash with PEBS/BTS after\nsuspend/resume\") introduces a link failure since\nperf_restore_debug_store() is only defined for CONFIG_CPU_SUP_INTEL:\n\n\tarch/x86/power/built-in.o: In function `restore_processor_state\u0027:\n\t(.text+0x45c): undefined reference to `perf_restore_debug_store\u0027\n\nFix it by defining the dummy function appropriately.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "9a9b01c04ef4b844f64bbf36987f918e64e304a2",
      "tree": "12cd294a8b45e518c2083f399ef67b22348039df",
      "parents": [
        "75750fc43320a6b2ef9852b3437fa25104add6f6"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Fri Mar 15 14:26:07 2013 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Mar 20 13:04:59 2013 -0700"
      },
      "message": "perf,x86: fix kernel crash with PEBS/BTS after suspend/resume\n\ncommit 1d9d8639c063caf6efc2447f5f26aa637f844ff6 upstream.\n\nThis patch fixes a kernel crash when using precise sampling (PEBS)\nafter a suspend/resume. Turns out the CPU notifier code is not invoked\non CPU0 (BP). Therefore, the DS_AREA (used by PEBS) is not restored properly\nby the kernel and keeps it power-on/resume value of 0 causing any PEBS\nmeasurement to crash when running on CPU0.\n\nThe workaround is to add a hook in the actual resume code to restore\nthe DS Area MSR value. It is invoked for all CPUS. So for all but CPU0,\nthe DS_AREA will be restored twice but this is harmless.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "68412b1718c488e58783d1c576d0aeb34012092d",
      "tree": "369e927a49f4b7a3e652783d83d8660fc7eca529",
      "parents": [
        "06f924f163e4426ce6a8d4cf61b45f2fc8eaeecc"
      ],
      "author": {
        "name": "Seiji Aguchi",
        "email": "seiji.aguchi@hds.com",
        "time": "Fri Jan 11 18:09:41 2013 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Mar 04 06:06:43 2013 +0800"
      },
      "message": "pstore: Avoid deadlock in panic and emergency-restart path\n\ncommit 9f244e9cfd70c7c0f82d3c92ce772ab2a92d9f64 upstream.\n\n[Issue]\n\nWhen pstore is in panic and emergency-restart paths, it may be blocked\nin those paths because it simply takes spin_lock.\n\nThis is an example scenario which pstore may hang up in a panic path:\n\n - cpuA grabs psinfo-\u003ebuf_lock\n - cpuB panics and calls smp_send_stop\n - smp_send_stop sends IRQ to cpuA\n - after 1 second, cpuB gives up on cpuA and sends an NMI instead\n - cpuA is now in an NMI handler while still holding buf_lock\n - cpuB is deadlocked\n\nThis case may happen if a firmware has a bug and\ncpuA is stuck talking with it more than one second.\n\nAlso, this is a similar scenario in an emergency-restart path:\n\n - cpuA grabs psinfo-\u003ebuf_lock and stucks in a firmware\n - cpuB kicks emergency-restart via either sysrq-b or hangcheck timer.\n   And then, cpuB is deadlocked by taking psinfo-\u003ebuf_lock again.\n\n[Solution]\n\nThis patch avoids the deadlocking issues in both panic and emergency_restart\npaths by introducing a function, is_non_blocking_path(), to check if a cpu\ncan be blocked in current path.\n\nWith this patch, pstore is not blocked even if another cpu has\ntaken a spin_lock, in those paths by changing from spin_lock_irqsave\nto spin_trylock_irqsave.\n\nIn addition, according to a comment of emergency_restart() in kernel/sys.c,\nspin_lock shouldn\u0027t be taken in an emergency_restart path to avoid\ndeadlock. This patch fits the comment below.\n\n\u003csnip\u003e\n/**\n *      emergency_restart - reboot the system\n *\n *      Without shutting down any hardware or taking any locks\n *      reboot the system.  This is called when we know we are in\n *      trouble so this is our best effort to reboot.  This is\n *      safe to call in interrupt context.\n */\nvoid emergency_restart(void)\n\u003csnip\u003e\n\nSigned-off-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nAcked-by: Don Zickus \u003cdzickus@redhat.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: CAI Qian \u003ccaiqian@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "57ef0d83d393b0f1f378a6b18a7394c62caadafa",
      "tree": "ff6a2a11496d63cad0d9a0a5a2f9ead1e894c1fb",
      "parents": [
        "146207bbadeb4578334d6e26b9b690df8aeb1a3d"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Mon Feb 04 19:39:52 2013 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Mar 04 06:06:43 2013 +0800"
      },
      "message": "unbreak automounter support on 64-bit kernel with 32-bit userspace (v2)\n\ncommit 4f4ffc3a5398ef9bdbb32db04756d7d34e356fcf upstream.\n\nautomount-support is broken on the parisc architecture, because the existing\n#if list does not include a check for defined(__hppa__). The HPPA (parisc)\narchitecture is similiar to other 64bit Linux targets where we have to define\nautofs_wqt_t (which is passed back and forth to user space) as int type which\nhas a size of 32bit across 32 and 64bit kernels.\n\nDuring the discussion on the mailing list, H. Peter Anvin suggested to invert\nthe #if list since only specific platforms (specifically those who do not have\na 32bit userspace, like IA64 and Alpha) should have autofs_wqt_t as unsigned\nlong type.\n\nThis suggestion is probably the best way to go, since Arm64 (and maybe others?)\nseems to have a non-working automounter. So in the long run even for other new\nupcoming architectures this inverted check seem to be the best solution, since\nit will not require them to change this #if again (unless they are 64bit only).\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCC: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCC: Rolf Eike Beer \u003ceike-kernel@sf-tec.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "db6154ead40e0a568982ec4885cfa3fa89e67324",
      "tree": "3603b25bad619e22def94ba2205afdbe8e4415bf",
      "parents": [
        "dd54ec4067a23236736afecbda120030d7ce8fe9"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Jan 24 23:24:56 2013 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Mar 04 06:06:37 2013 +0800"
      },
      "message": "quota: autoload the quota_v2 module for QFMT_VFS_V1 quota format\n\ncommit c3ad83d9efdfe6a86efd44945a781f00c879b7b4 upstream.\n\nOtherwise, ext4 file systems with the quota featured enable will get a\nvery confusing \"No such process\" error message if the quota code is\nbuilt as a module and the quota_v2 module has not been loaded.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nReviewed-by: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "b9bf60ac3e3779d4ffa03daceebf59df7b46c224",
      "tree": "92b29a20a04ca4aab9b8cf52fd4b3b99371add87",
      "parents": [
        "8c2223fc19032e7b8761e46c15e1ed167a252285"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Thu Feb 21 23:32:27 2013 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 28 06:59:06 2013 -0800"
      },
      "message": "vlan: adjust vlan_set_encap_proto() for its callers\n\n[ Upstream commit da8c87241c26aac81a64c7e4d21d438a33018f4e ]\n\nThere are two places to call vlan_set_encap_proto():\nvlan_untag() and __pop_vlan_tci().\n\nvlan_untag() assumes skb-\u003edata points after mac addr, otherwise\nthe following code\n\n        vhdr \u003d (struct vlan_hdr *) skb-\u003edata;\n        vlan_tci \u003d ntohs(vhdr-\u003eh_vlan_TCI);\n        __vlan_hwaccel_put_tag(skb, vlan_tci);\n\n        skb_pull_rcsum(skb, VLAN_HLEN);\n\nwon\u0027t be correct. But __pop_vlan_tci() assumes points _before_\nmac addr.\n\nIn vlan_set_encap_proto(), it looks for some magic L2 value\nafter mac addr:\n\n        rawp \u003d skb-\u003edata;\n        if (*(unsigned short *) rawp \u003d\u003d 0xFFFF)\n\t...\n\nTherefore __pop_vlan_tci() is obviously wrong.\n\nA quick fix is avoiding using skb-\u003edata in vlan_set_encap_proto(),\nuse \u0027vhdr+1\u0027 is always correct in both cases.\n\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Jesse Gross \u003cjesse@nicira.com\u003e\nAcked-by: Jesse Gross \u003cjesse@nicira.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "f515e1d59602f8eafaad39b6842bd823ad34654e",
      "tree": "48d183d9d59e79c35719953ef85b489641f4e598",
      "parents": [
        "c30b55c385288be48f7accd16a6929ad4d983311"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jan 25 10:28:18 2013 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 28 06:59:05 2013 -0800"
      },
      "message": "fb: Yet another band-aid for fixing lockdep mess\n\ncommit e93a9a868792ad71cdd09d75e5a02d8067473c4e upstream.\n\nI\u0027ve still got lockdep warnings even after Alan\u0027s patch, and it seems that\nyet more band aids are required to paper over similar paths for\nunbind_con_driver() and unregister_con_driver().  After this hack, lockdep\nwarnings are finally gone.\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nTested-by: Sedat Dilek \u003csedat.dilek@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "c30b55c385288be48f7accd16a6929ad4d983311",
      "tree": "1588731963ecab2c47c3999d7691a095ab591d0e",
      "parents": [
        "62a3dcc78d04dcd84276eaa7a40dec1066054532"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Fri Jan 25 10:28:15 2013 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 28 06:59:05 2013 -0800"
      },
      "message": "fb: rework locking to fix lock ordering on takeover\n\ncommit 50e244cc793d511b86adea24972f3a7264cae114 upstream.\n\nAdjust the console layer to allow a take over call where the caller\nalready holds the locks.  Make the fb layer lock in order.\n\nThis is partly a band aid, the fb layer is terminally confused about the\nlocking rules it uses for its notifiers it seems.\n\n[akpm@linux-foundation.org: remove stray non-ascii char, tidy comment]\n[akpm@linux-foundation.org: export do_take_over_console()]\n[airlied: cleanup another non-ascii char]\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nTested-by: Sedat Dilek \u003csedat.dilek@gmail.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "df28f4890263a0540b395402b43b57f047ccf7d5",
      "tree": "4b8430b47afc77c27f42b094ddebd03b93982974",
      "parents": [
        "ae4c05e0232e869cf2418ac6c0c862bb5287d672"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jan 24 14:14:19 2013 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 28 06:59:03 2013 -0800"
      },
      "message": "vgacon/vt: clear buffer attributes when we load a 512 character font (v2)\n\ncommit 2a2483072393b27f4336ab068a1f48ca19ff1c1e upstream.\n\nWhen we switch from 256-\u003e512 byte font rendering mode, it means the\ncurrent contents of the screen is being reinterpreted. The bit that holds\nthe high bit of the 9-bit font, may have been previously set, and thus\nthe new font misrenders.\n\nThe problem case we see is grub2 writes spaces with the bit set, so it\nends up with data like 0x820, which gets reinterpreted into 0x120 char\nwhich the font translates into G with a circumflex. This flashes up on\nscreen at boot and is quite ugly.\n\nA current side effect of this patch though is that any rendering on the\nscreen changes color to a slightly darker color, but at least the screen\nno longer corrupts.\n\nv2: as suggested by hpa, always clear the attribute space, whether we\nare are going to or from 512 chars.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "e32afc122e3a808944a9f7af5612bf2a3cbea89a",
      "tree": "8718795508df5c4fa7fa206900fc918b50cdd294",
      "parents": [
        "e3fc3cb2a03623b48250dd3a12378a42d276f20e"
      ],
      "author": {
        "name": "Pawel Moll",
        "email": "mail@pawelmoll.com",
        "time": "Thu Feb 21 01:55:50 2013 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 28 06:59:02 2013 -0800"
      },
      "message": "ALSA: usb: Fix Processing Unit Descriptor parsers\n\ncommit b531f81b0d70ffbe8d70500512483227cc532608 upstream.\n\nCommit 99fc86450c439039d2ef88d06b222fd51a779176 \"ALSA: usb-mixer:\nparse descriptors with structs\" introduced a set of useful parsers\nfor descriptors. Unfortunately the parses for the Processing Unit\nDescriptor came with a very subtle bug...\n\nFunctions uac_processing_unit_iProcessing() and\nuac_processing_unit_specific() were indexing the baSourceID array\nforgetting the fields before the iProcessing and process-specific\ndescriptors.\n\nThe problem was observed with Sound Blaster Extigy mixer,\nwhere nNrModes in Up/Down-mix Processing Unit Descriptor\nwas accessed at offset 10 of the descriptor (value 0)\ninstead of offset 15 (value 7). In result the resulting\ncontrol had interesting limit values:\n\nSimple mixer control \u0027Channel Routing Mode Select\u0027,0\n  Capabilities: volume volume-joined penum\n  Playback channels: Mono\n  Capture channels: Mono\n  Limits: 0 - -1\n  Mono: -1 [100%]\n\nFixed by starting from the bmControls, which was calculated\ncorrectly, instead of baSourceID.\n\nNow the mentioned control is fine:\n\nSimple mixer control \u0027Channel Routing Mode Select\u0027,0\n  Capabilities: volume volume-joined penum\n  Playback channels: Mono\n  Capture channels: Mono\n  Limits: 0 - 6\n  Mono: 0 [0%]\n\nSigned-off-by: Pawel Moll \u003cmail@pawelmoll.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "4209ee0d3f7992af3903b5f9a3359f6d2f597c4b",
      "tree": "5009887555ccf68907acf7ff9b14c9acfed6ee00",
      "parents": [
        "362efcc9b0ba020f9124c70c56381ed64491aeca"
      ],
      "author": {
        "name": "Sagi Grimberg",
        "email": "sagig@mellanox.co.il",
        "time": "Mon Oct 08 16:29:24 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 28 06:59:00 2013 -0800"
      },
      "message": "mm: mmu_notifier: have mmu_notifiers use a global SRCU so they may safely schedule\n\ncommit 21a92735f660eaecf69a6f2e777f18463760ec32 upstream.\n\nWith an RCU based mmu_notifier implementation, any callout to\nmmu_notifier_invalidate_range_{start,end}() or\nmmu_notifier_invalidate_page() would not be allowed to call schedule()\nas that could potentially allow a modification to the mmu_notifier\nstructure while it is currently being used.\n\nSince srcu allocs 4 machine words per instance per cpu, we may end up\nwith memory exhaustion if we use srcu per mm.  So all mms share a global\nsrcu.  Note that during large mmu_notifier activity exit \u0026 unregister\npaths might hang for longer periods, but it is tolerable for current\nmmu_notifier clients.\n\nSigned-off-by: Sagi Grimberg \u003csagig@mellanox.co.il\u003e\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Haggai Eran \u003chaggaie@mellanox.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "ce0030c00f95cf9110d9cdcd41e901e1fb814417",
      "tree": "40b124b99205bd469ed156b682d7f0f4e5726e5a",
      "parents": [
        "9ad3bfb9e26197c378d6c239180ed7bcf7c29fd8"
      ],
      "author": {
        "name": "Alexandre SIMON",
        "email": "Alexandre.Simon@univ-lorraine.fr",
        "time": "Fri Feb 01 15:31:54 2013 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 21 10:04:57 2013 -0800"
      },
      "message": "printk: fix buffer overflow when calling log_prefix function from call_console_drivers\n\nThis patch corrects a buffer overflow in kernels from 3.0 to 3.4 when calling\nlog_prefix() function from call_console_drivers().\n\nThis bug existed in previous releases but has been revealed with commit\n162a7e7500f9664636e649ba59defe541b7c2c60 (2.6.39 \u003d\u003e 3.0) that made changes\nabout how to allocate memory for early printk buffer (use of memblock_alloc).\nIt disappears with commit 7ff9554bb578ba02166071d2d487b7fc7d860d62 (3.4 \u003d\u003e 3.5)\nthat does a refactoring of printk buffer management.\n\nIn log_prefix(), the access to \"p[0]\", \"p[1]\", \"p[2]\" or\n\"simple_strtoul(\u0026p[1], \u0026endp, 10)\" may cause a buffer overflow as this\nfunction is called from call_console_drivers by passing \"\u0026LOG_BUF(cur_index)\"\nwhere the index must be masked to do not exceed the buffer\u0027s boundary.\n\nThe trick is to prepare in call_console_drivers() a buffer with the necessary\ndata (PRI field of syslog message) to be safely evaluated in log_prefix().\n\nThis patch can be applied to stable kernel branches 3.0.y, 3.2.y and 3.4.y.\n\nWithout this patch, one can freeze a server running this loop from shell :\n  $ export DUMMY\u003d`cat /dev/urandom | tr -dc \u002712345AZERTYUIOPQSDFGHJKLMWXCVBNazertyuiopqsdfghjklmwxcvbn\u0027 | head -c255`\n  $ while true do ; echo $DUMMY \u003e /dev/kmsg ; done\n\nThe \"server freeze\" depends on where memblock_alloc does allocate printk buffer :\nif the buffer overflow is inside another kernel allocation the problem may not\nbe revealed, else the server may hangs up.\n\nSigned-off-by: Alexandre SIMON \u003cAlexandre.Simon@univ-lorraine.fr\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "739230186fa9d6999f88c53f0cb6d07ed4234fb0",
      "tree": "38a80e1d83573df8e365b95d66ddd961c3abed4c",
      "parents": [
        "a256a4c2001293548f0851b66ea8f39b704bac72"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Wed Nov 14 09:42:35 2012 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 14 10:48:53 2013 -0800"
      },
      "message": "efi: Make \u0027efi_enabled\u0027 a function to query EFI facilities\n\ncommit 83e68189745ad931c2afd45d8ee3303929233e7f upstream.\n\nOriginally \u0027efi_enabled\u0027 indicated whether a kernel was booted from\nEFI firmware. Over time its semantics have changed, and it now\nindicates whether or not we are booted on an EFI machine with\nbit-native firmware, e.g. 64-bit kernel with 64-bit firmware.\n\nThe immediate motivation for this patch is the bug report at,\n\n    https://bugs.launchpad.net/ubuntu-cdimage/+bug/1040557\n\nwhich details how running a platform driver on an EFI machine that is\ndesigned to run under BIOS can cause the machine to become\nbricked. Also, the following report,\n\n    https://bugzilla.kernel.org/show_bug.cgi?id\u003d47121\n\ndetails how running said driver can also cause Machine Check\nExceptions. Drivers need a new means of detecting whether they\u0027re\nrunning on an EFI machine, as sadly the expression,\n\n    if (!efi_enabled)\n\nhasn\u0027t been a sufficient condition for quite some time.\n\nUsers actually want to query \u0027efi_enabled\u0027 for different reasons -\nwhat they really want access to is the list of available EFI\nfacilities.\n\nFor instance, the x86 reboot code needs to know whether it can invoke\nthe ResetSystem() function provided by the EFI runtime services, while\nthe ACPI OSL code wants to know whether the EFI config tables were\nmapped successfully. There are also checks in some of the platform\ndriver code to simply see if they\u0027re running on an EFI machine (which\nwould make it a bad idea to do BIOS-y things).\n\nThis patch is a prereq for the samsung-laptop fix patch.\n\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\nCc: David Airlie \u003cairlied@linux.ie\u003e\nCc: Corentin Chary \u003ccorentincj@iksaif.net\u003e\nCc: Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e\nCc: Dave Jiang \u003cdave.jiang@intel.com\u003e\nCc: Olof Johansson \u003colof@lixom.net\u003e\nCc: Peter Jones \u003cpjones@redhat.com\u003e\nCc: Colin Ian King \u003ccolin.king@canonical.com\u003e\nCc: Steve Langasek \u003csteve.langasek@canonical.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad@kernel.org\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "7ad8ac9444d54af92c61c2fa7d02cbf96c990bc5",
      "tree": "3b9dea5b19ce92dba02b46f35ad35d6b7b896514",
      "parents": [
        "5b70af1c0b0088151a1e7a8917527e190ddd76d7"
      ],
      "author": {
        "name": "Lan Tianyu",
        "email": "tianyu.lan@intel.com",
        "time": "Thu Jan 24 10:31:28 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Feb 11 08:47:20 2013 -0800"
      },
      "message": "usb: Using correct way to clear usb3.0 device\u0027s remote wakeup feature.\n\ncommit 54a3ac0c9e5b7213daa358ce74d154352657353a upstream.\n\nUsb3.0 device defines function remote wakeup which is only for interface\nrecipient rather than device recipient. This is different with usb2.0 device\u0027s\nremote wakeup feature which is defined for device recipient. According usb3.0\nspec 9.4.5, the function remote wakeup can be modified by the SetFeature()\nrequests using the FUNCTION_SUSPEND feature selector. This patch is to use\ncorrect way to disable usb3.0 device\u0027s function remote wakeup after suspend\nerror and resuming.\n\nThis should be backported to kernels as old as 3.4, that contain the\ncommit 623bef9e03a60adc623b09673297ca7a1cdfb367 \"USB/xhci: Enable remote\nwakeup for USB3 devices.\"\n\nSigned-off-by: Lan Tianyu \u003ctianyu.lan@intel.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "b08d81801e151fbcefa81a551eadf2beff554752",
      "tree": "0a4c2ea3acdf76c7ac6aa1c8d675314e04d42f1f",
      "parents": [
        "9c5f1b49341154b579851425dabb32cb3aa9b5db"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Jan 21 20:47:41 2013 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jan 27 20:47:43 2013 -0800"
      },
      "message": "ptrace: introduce signal_wake_up_state() and ptrace_signal_wake_up()\n\ncommit 910ffdb18a6408e14febbb6e4b6840fd2c928c82 upstream.\n\nCleanup and preparation for the next change.\n\nsignal_wake_up(resume \u003d\u003e true) is overused. None of ptrace/jctl callers\nactually want to wakeup a TASK_WAKEKILL task, but they can\u0027t specify the\nnecessary mask.\n\nTurn signal_wake_up() into signal_wake_up_state(state), reintroduce\nsignal_wake_up() as a trivial helper, and add ptrace_signal_wake_up()\nwhich adds __TASK_TRACED.\n\nThis way ptrace_signal_wake_up() can work \"inside\" ptrace_request()\neven if the tracee doesn\u0027t have the TASK_WAKEKILL bit set.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "31c46473d6a31ac1948c189624b472f26a6365e9",
      "tree": "63c5f7fee9abeb70822af493e281ed331f0ebc13",
      "parents": [
        "87c7f759d1546a27d46d8cc2778ffecaa5f542c6"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Wed Nov 28 12:28:24 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 17 08:51:20 2013 -0800"
      },
      "message": "libceph: remove \u0027osdtimeout\u0027 option\n\nThis would reset a connection with any OSD that had an outstanding\nrequest that was taking more than N seconds.  The idea was that if the\nOSD was buggy, the client could compensate by resending the request.\n\nIn reality, this only served to hide server bugs, and we haven\u0027t\nactually seen such a bug in quite a while.  Moreover, the userspace\nclient code never did this.\n\nMore importantly, often the request is taking a long time because the\nOSD is trying to recover, or overloaded, and killing the connection\nand retrying would only make the situation worse by giving the OSD\nmore work to do.\n\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\nReviewed-by: Alex Elder \u003celder@inktank.com\u003e\n(cherry picked from commit 83aff95eb9d60aff5497e9f44a2ae906b86d8e88)\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "7164ac211086207dc371e3b32165226e28e2dcfa",
      "tree": "e7dc397786bda21d8476ce0174433a34c5b99bee",
      "parents": [
        "fdbe6fecef94b6171de7a2ccfe543a694c9c41bc"
      ],
      "author": {
        "name": "Andy Lutomirski",
        "email": "luto@amacapital.net",
        "time": "Sat Dec 01 12:37:20 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jan 11 09:07:16 2013 -0800"
      },
      "message": "PCI: Reduce Ricoh 0xe822 SD card reader base clock frequency to 50MHz\n\ncommit 812089e01b9f65f90fc8fc670d8cce72a0e01fbb upstream.\n\nOtherwise it fails like this on cards like the Transcend 16GB SDHC card:\n\n    mmc0: new SDHC card at address b368\n    mmcblk0: mmc0:b368 SDC   15.0 GiB\n    mmcblk0: error -110 sending status command, retrying\n    mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb0\n\nTested on my Lenovo x200 laptop.\n\n[bhelgaas: changelog]\nSigned-off-by: Andy Lutomirski \u003cluto@amacapital.net\u003e\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nAcked-by: Chris Ball \u003ccjb@laptop.org\u003e\nCC: Manoj Iyer \u003cmanoj.iyer@canonical.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "d21383fcbb535f90b429279852988d675ed22d67",
      "tree": "7f395982de610bfc355082ae351deb01a19a5060",
      "parents": [
        "34fb350281ced2a72707a5c0064f69992d440edb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Jul 17 01:41:30 2012 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jan 11 09:07:15 2013 -0800"
      },
      "message": "tcp: implement RFC 5961 4.2\n\n[ Upstream commit 0c24604b68fc7810d429d6c3657b6f148270e528 ]\n\nImplement the RFC 5691 mitigation against Blind\nReset attack using SYN bit.\n\nSection 4.2 of RFC 5961 advises to send a Challenge ACK and drop\nincoming packet, instead of resetting the session.\n\nAdd a new SNMP counter to count number of challenge acks sent\nin response to SYN packets.\n(netstat -s | grep TCPSYNChallenge)\n\nRemove obsolete TCPAbortOnSyn, since we no longer abort a TCP session\nbecause of a SYN flag.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Kiran Kumar Kella \u003ckkiran@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "34fb350281ced2a72707a5c0064f69992d440edb",
      "tree": "91f806c64e65601adf09564a83b4c44f4db080be",
      "parents": [
        "c87b45599a4e0d8741abeb85d1d8d5f0c1fb13be"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Jul 17 10:13:05 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jan 11 09:07:14 2013 -0800"
      },
      "message": "tcp: implement RFC 5961 3.2\n\n[ Upstream commit 282f23c6ee343126156dd41218b22ece96d747e3 ]\n\nImplement the RFC 5691 mitigation against Blind\nReset attack using RST bit.\n\nIdea is to validate incoming RST sequence,\nto match RCV.NXT value, instead of previouly accepted\nwindow : (RCV.NXT \u003c\u003d SEG.SEQ \u003c RCV.NXT+RCV.WND)\n\nIf sequence is in window but not an exact match, send\na \"challenge ACK\", so that the other part can resend an\nRST with the appropriate sequence.\n\nAdd a new sysctl, tcp_challenge_ack_limit, to limit\nnumber of challenge ACK sent per second.\n\nAdd a new SNMP counter to count number of challenge acks sent.\n(netstat -s | grep TCPChallengeACK)\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Kiran Kumar Kella \u003ckkiran@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "cd924e960d3c2ae1654109b5b9e88cec334f7126",
      "tree": "ed7bec78c3e2930df0c86d44aae32d2c4dddb23f",
      "parents": [
        "475261dbbf5d85e1a298886385d859ada787ae1f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Oct 16 15:03:14 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jan 11 09:06:58 2013 -0800"
      },
      "message": "freezer: add missing mb\u0027s to freezer_count() and freezer_should_skip()\n\ncommit dd67d32dbc5de299d70cc9e10c6c1e29ffa56b92 upstream.\n\nA task is considered frozen enough between freezer_do_not_count() and\nfreezer_count() and freezers use freezer_should_skip() to test this\ncondition.  This supposedly works because freezer_count() always calls\ntry_to_freezer() after clearing %PF_FREEZER_SKIP.\n\nHowever, there currently is nothing which guarantees that\nfreezer_count() sees %true freezing() after clearing %PF_FREEZER_SKIP\nwhen freezing is in progress, and vice-versa.  A task can escape the\nfreezing condition in effect by freezer_count() seeing !freezing() and\nfreezer_should_skip() seeing %PF_FREEZER_SKIP.\n\nThis patch adds smp_mb()\u0027s to freezer_count() and\nfreezer_should_skip() such that either %true freezing() is visible to\nfreezer_count() or !PF_FREEZER_SKIP is visible to\nfreezer_should_skip().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "25747cc45825ffc0192779a224d3bb9bc4b9edbd",
      "tree": "eec6ef8ba6fcf4b5177efa110be793568dd8de02",
      "parents": [
        "711cf004f2148f1d1967bc5eca025019e5001212"
      ],
      "author": {
        "name": "Christoffer Dall",
        "email": "cdall@cs.columbia.edu",
        "time": "Fri Dec 21 13:03:50 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jan 11 09:06:48 2013 -0800"
      },
      "message": "mm: Fix PageHead when !CONFIG_PAGEFLAGS_EXTENDED\n\ncommit ad4b3fb7ff9940bcdb1e4cd62bd189d10fa636ba upstream.\n\nUnfortunately with !CONFIG_PAGEFLAGS_EXTENDED, (!PageHead) is false, and\n(PageHead) is true, for tail pages.  If this is indeed the intended\nbehavior, which I doubt because it breaks cache cleaning on some ARM\nsystems, then the nomenclature is highly problematic.\n\nThis patch makes sure PageHead is only true for head pages and PageTail\nis only true for tail pages, and neither is true for non-compound pages.\n\n[ This buglet seems ancient - seems to have been introduced back in Apr\n  2008 in commit 6a1e7f777f61: \"pageflags: convert to the use of new\n  macros\".  And the reason nobody noticed is because the PageHead()\n  tests are almost all about just sanity-checking, and only used on\n  pages that are actual page heads.  The fact that the old code returned\n  true for tail pages too was thus not really noticeable.   - Linus ]\n\nSigned-off-by: Christoffer Dall \u003ccdall@cs.columbia.edu\u003e\nAcked-by:  Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Will Deacon \u003cWill.Deacon@arm.com\u003e\nCc: Steve Capper \u003cSteve.Capper@arm.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "7361a9019ff8d45dc835f987ccefbbeb4f560f09",
      "tree": "3744f41659abc558471e7c5ce040b230486f070e",
      "parents": [
        "5a76bf41fe85c0ebdf4fe1fcdf729697b11a5338"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Thu Dec 20 15:05:16 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jan 11 09:06:30 2013 -0800"
      },
      "message": "exec: do not leave bprm-\u003einterp on stack\n\ncommit b66c5984017533316fd1951770302649baf1aa33 upstream.\n\nIf a series of scripts are executed, each triggering module loading via\nunprintable bytes in the script header, kernel stack contents can leak\ninto the command line.\n\nNormally execution of binfmt_script and binfmt_misc happens recursively.\nHowever, when modules are enabled, and unprintable bytes exist in the\nbprm-\u003ebuf, execution will restart after attempting to load matching\nbinfmt modules.  Unfortunately, the logic in binfmt_script and\nbinfmt_misc does not expect to get restarted.  They leave bprm-\u003einterp\npointing to their local stack.  This means on restart bprm-\u003einterp is\nleft pointing into unused stack memory which can then be copied into the\nuserspace argv areas.\n\nAfter additional study, it seems that both recursion and restart remains\nthe desirable way to handle exec with scripts, misc, and modules.  As\nsuch, we need to protect the changes to interp.\n\nThis changes the logic to require allocation for any changes to the\nbprm-\u003einterp.  To avoid adding a new kmalloc to every exec, the default\nvalue is left as-is.  Only when passing through binfmt_script or\nbinfmt_misc does an allocation take place.\n\nFor a proof of concept, see DoTest.sh from:\n\n   http://www.halfdog.net/Security/2012/LinuxKernelBinfmtScriptStackDataDisclosure/\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: halfdog \u003cme@halfdog.net\u003e\nCc: P J P \u003cppandit@redhat.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "78a685beb044864de000a6f7339bce57513172bb",
      "tree": "768425b1ce982640ddc3f4690ca9cd43dd6b1bb5",
      "parents": [
        "b947fcbcca85da6ad3ec79f6aa86b550f458e049"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Wed Dec 05 14:01:41 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Dec 17 10:37:42 2012 -0800"
      },
      "message": "tmpfs: fix shared mempolicy leak\n\ncommit 18a2f371f5edf41810f6469cb9be39931ef9deb9 upstream.\n\nThis fixes a regression in 3.7-rc, which has since gone into stable.\n\nCommit 00442ad04a5e (\"mempolicy: fix a memory corruption by refcount\nimbalance in alloc_pages_vma()\") changed get_vma_policy() to raise the\nrefcount on a shmem shared mempolicy; whereas shmem_alloc_page() went\non expecting alloc_page_vma() to drop the refcount it had acquired.\nThis deserves a rework: but for now fix the leak in shmem_alloc_page().\n\nHugh: shmem_swapin() did not need a fix, but surely it\u0027s clearer to use\nthe same refcounting there as in shmem_alloc_page(), delete its onstack\nmempolicy, and the strange mpol_cond_copy() and __mpol_cond_copy() -\nthose were invented to let swapin_readahead() make an unknown number of\ncalls to alloc_pages_vma() with one mempolicy; but since 00442ad04a5e,\nalloc_pages_vma() has kept refcount in balance, so now no problem.\n\nReported-and-tested-by: Tommi Rantala \u003ctt.rantala@gmail.com\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "d0e85e04fb57a65a6096a0b18c97ba5892d676d9",
      "tree": "7942daf6baa0d4d5ddf9015523059cc07e972996",
      "parents": [
        "51b8318a818623899f9eb24ce697d43301bbe349"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Thu Jun 21 12:49:23 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:45 2012 -0800"
      },
      "message": "libceph: drop declaration of ceph_con_get()\n\ncommit 261030215d970c62f799e6e508e3c68fc7ec2aa9 upstream.\n\nFor some reason the declaration of ceph_con_get() and\nceph_con_put() did not get deleted in this commit:\n    d59315ca libceph: drop ceph_con_get/put helpers and nref member\n\nClean that up.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nCc: Herton Ronaldo Krzesinski \u003cherton.krzesinski@canonical.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "dfae3b3451c6da14df1fa62d76c8a4345d21bdb2",
      "tree": "d674f1e1998b9ae902ab74f235e1bd39d31525d4",
      "parents": [
        "73bba6fc44591587254fec8e867a99b5a2a28ba7"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon Sep 24 20:59:48 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:44 2012 -0800"
      },
      "message": "libceph: check for invalid mapping\n\n(cherry picked from commit d63b77f4c552cc3a20506871046ab0fcbc332609)\n\nIf we encounter an invalid (e.g., zeroed) mapping, return an error\nand avoid a divide by zero.\n\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\nReviewed-by: Alex Elder \u003celder@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "63c1362476141f4fb340e8236d41674be9fc1983",
      "tree": "13be911ab412f8e02ec6cdfa2688bc5b4296c0a2",
      "parents": [
        "265fb7c177f9db75d628b3479b6223c1c8110e67"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Fri Jul 20 17:29:55 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:41 2012 -0800"
      },
      "message": "libceph: clean up con flags\n\n(cherry picked from commit 4a8616920860920abaa51193146fe36b38ef09aa)\n\nRename flags with CON_FLAG prefix, move the definitions into the c file,\nand (better) document their meaning.\n\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "265fb7c177f9db75d628b3479b6223c1c8110e67",
      "tree": "85f85c837e89f7d09041a26bb60a5b35495afc93",
      "parents": [
        "cb9f8855591613dff0909c99d46a29e10eb39b25"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Fri Jul 20 17:24:40 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:41 2012 -0800"
      },
      "message": "libceph: replace connection state bits with states\n\n(cherry picked from commit 8dacc7da69a491c515851e68de6036f21b5663ce)\n\nUse a simple set of 6 enumerated values for the socket states (CON_STATE_*)\nand use those instead of the state bits.  All of the con-\u003estate checks are\nnow under the protection of the con mutex, so this is safe.  It also\nsimplifies many of the state checks because we can check for anything other\nthan the expected state instead of various bits for races we can think of.\n\nThis appears to hold up well to stress testing both with and without socket\nfailure injection on the server side.\n\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "59d02721bb2838893596d5617659fe907dd45518",
      "tree": "126ac6b7dba3ef26cb4c6e32b7bc2faf74c1c35d",
      "parents": [
        "9beb73fcb83317786226b4203d7e56c6b0f43adb"
      ],
      "author": {
        "name": "Guanjun He",
        "email": "gjhe@suse.com",
        "time": "Sun Jul 08 19:50:33 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:38 2012 -0800"
      },
      "message": "libceph: prevent the race of incoming work during teardown\n\n(cherry picked from commit a2a3258417eb6a1799cf893350771428875a8287)\n\nAdd an atomic variable \u0027stopping\u0027 as flag in struct ceph_messenger,\nset this flag to 1 in function ceph_destroy_client(), and add the condition code\nin function ceph_data_ready() to test the flag value, if true(1), just return.\n\nSigned-off-by: Guanjun He \u003cgjhe@suse.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "9beb73fcb83317786226b4203d7e56c6b0f43adb",
      "tree": "625dd1aa57201317108b56b11ae83195655d7939",
      "parents": [
        "d92d11da1dd8531150823ff429ae29a0cf5e438d"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon Jul 09 14:22:34 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:38 2012 -0800"
      },
      "message": "libceph: initialize msgpool message types\n\n(cherry picked from commit d50b409fb8698571d8209e5adfe122e287e31290)\n\nInitialize the type field for messages in a msgpool.  The caller was doing\nthis for osd ops, but not for the reply messages.\n\nReported-by: Alex Elder \u003celder@inktank.com\u003e\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "638ba1765d03bdc3a972bfca69fd0a4a4eda717c",
      "tree": "75da2d47d2997f1a2800dbc7bea2f4d5520f47bf",
      "parents": [
        "db90f992eb77188ce3e2b95d36f99ba194e04e66"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Wed Jun 27 12:24:08 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:37 2012 -0800"
      },
      "message": "libceph: set peer name on con_open, not init\n\n(cherry picked from commit b7a9e5dd40f17a48a72f249b8bbc989b63bae5fd)\n\nThe peer name may change on each open attempt, even when the connection is\nreused.\n\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "a94af04be86f81d5e3973a37e6a861f329418f1e",
      "tree": "f9894d5ba822a10d31b1cf310dfd14f47c214bb6",
      "parents": [
        "abb46df87f784b398bcdb5091175d24456e42f11"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 23 14:35:23 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:28 2012 -0800"
      },
      "message": "libceph: define and use an explicit CONNECTED state\n\n(cherry picked from commit e27947c767f5bed15048f4e4dad3e2eb69133697)\n\nThere is no state explicitly defined when a ceph connection is fully\noperational.  So define one.\n\nIt\u0027s set when the connection sequence completes successfully, and is\ncleared when the connection gets closed.\n\nBe a little more careful when examining the old state when a socket\ndisconnect event is reported.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "9021a42c794bf96156be9ad556ef707814a361ff",
      "tree": "54475c6baca932d1eb1272038a380a5e474e8e52",
      "parents": [
        "1c623b046a6c72666d81afa004f8bf7f70cd4391"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Thu Jun 21 12:49:23 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:25 2012 -0800"
      },
      "message": "libceph: drop ceph_con_get/put helpers and nref member\n\n(cherry picked from commit d59315ca8c0de00df9b363f94a2641a30961ca1c)\n\nThese are no longer used.  Every ceph_connection instance is embedded in\nanother structure, and refcounts manipulated via the get/put ops.\n\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ce4516fbb42d2ad5adba4699ebc1703d4e08e821",
      "tree": "19b4f581d776e60440b57de8400a976c4facddd8",
      "parents": [
        "ae048538ab62c31f67d42e00a3183b8870809a3c"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Fri Jun 01 14:56:43 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:24 2012 -0800"
      },
      "message": "libceph: make ceph_con_revoke_message() a msg op\n\n(cherry picked from commit 8921d114f5574c6da2cdd00749d185633ecf88f3)\n\nceph_con_revoke_message() is passed both a message and a ceph\nconnection.  A ceph_msg allocated for incoming messages on a\nconnection always has a pointer to that connection, so there\u0027s no\nneed to provide the connection when revoking such a message.\n\nNote that the existing logic does not preclude the message supplied\nbeing a null/bogus message pointer.  The only user of this interface\nis the OSD client, and the only value an osd client passes is a\nrequest\u0027s r_reply field.  That is always non-null (except briefly in\nan error path in ceph_osdc_alloc_request(), and that drops the\nonly reference so the request won\u0027t ever have a reply to revoke).\nSo we can safely assume the passed-in message is non-null, but add a\nBUG_ON() to make it very obvious we are imposing this restriction.\n\nRename the function ceph_msg_revoke_incoming() to reflect that it is\nreally an operation on an incoming message.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ae048538ab62c31f67d42e00a3183b8870809a3c",
      "tree": "f77272ada51185c3892dab22dba5775b827be59c",
      "parents": [
        "bfd357201d3ffc6cc621e4c69fd47e7d457e5f3a"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Fri Jun 01 14:56:43 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:24 2012 -0800"
      },
      "message": "libceph: make ceph_con_revoke() a msg operation\n\n(cherry picked from commit 6740a845b2543cc46e1902ba21bac743fbadd0dc)\n\nceph_con_revoke() is passed both a message and a ceph connection.\nNow that any message associated with a connection holds a pointer\nto that connection, there\u0027s no need to provide the connection when\nrevoking a message.\n\nThis has the added benefit of precluding the possibility of the\nproviding the wrong connection pointer.  If the message\u0027s connection\npointer is null, it is not being tracked by any connection, so\nrevoking it is a no-op.  This is supported as a convenience for\nupper layers, so they can revoke a message that is not actually\n\"in flight.\"\n\nRename the function ceph_msg_revoke() to reflect that it is really\nan operation on a message, not a connection.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "e84e066e5c8c858d3954b2ef1da25c14309e4cef",
      "tree": "fa927a404b1bdd81fb9102824549cc04dee8f875",
      "parents": [
        "35067a20685e5f51513c3633256e658fc71e847e"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Fri Jun 01 14:56:43 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:23 2012 -0800"
      },
      "message": "libceph: have messages point to their connection\n\n(cherry picked from commit 38941f8031bf042dba3ced6394ba3a3b16c244ea)\n\nWhen a ceph message is queued for sending it is placed on a list of\npending messages (ceph_connection-\u003eout_queue).  When they are\nactually sent over the wire, they are moved from that list to\nanother (ceph_connection-\u003eout_sent).  When acknowledgement for the\nmessage is received, it is removed from the sent messages list.\n\nDuring that entire time the message is \"in the possession\" of a\nsingle ceph connection.  Keep track of that connection in the\nmessage.  This will be used in the next patch (and is a helpful\nbit of information for debugging anyway).\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6880138c03448b3c375a3d7a8ef6acd688e6fb40",
      "tree": "32fcab0d28584b1ba13756cbdfd4f870065ecd69",
      "parents": [
        "9403ae33bf946342b23cfe3dbf3e4c9b86860c97"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Sat May 26 23:26:43 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:23 2012 -0800"
      },
      "message": "libceph: fully initialize connection in con_init()\n\n(cherry picked from commit 1bfd89f4e6e1adc6a782d94aa5d4c53be1e404d7)\n\nMove the initialization of a ceph connection\u0027s private pointer,\noperations vector pointer, and peer name information into\nceph_con_init().  Rearrange the arguments so the connection pointer\nis first.  Hide the byte-swapping of the peer entity number inside\nceph_con_init()\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "31a84d83433edc79151e28762c1992c0708b222c",
      "tree": "4be92156c4e1ee9c363f83fc6c2596cf608b8199",
      "parents": [
        "51588ed26f489e50bfd2359d55abcb4d907149bc"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Sat May 26 23:26:43 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:22 2012 -0800"
      },
      "message": "libceph: embed ceph connection structure in mon_client\n\n(cherry picked from commit 67130934fb579fdf0f2f6d745960264378b57dc8)\n\nA monitor client has a pointer to a ceph connection structure in it.\nThis is the only one of the three ceph client types that do it this\nway; the OSD and MDS clients embed the connection into their main\nstructures.  There is always exactly one ceph connection for a\nmonitor client, so there is no need to allocate it separate from the\nmonitor client structure.\n\nSo switch the ceph_mon_client structure to embed its\nceph_connection structure.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "0bcd15777405bf024a3ec591731582f7263ea1c0",
      "tree": "e6e909ce1c506b160a4f8121701681fd5a697778",
      "parents": [
        "bc327474a0c9f3477be61b2d3e33833ef7b01bf9"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Tue May 22 22:15:49 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:22 2012 -0800"
      },
      "message": "libceph: start tracking connection socket state\n\n(cherry picked from commit ce2c8903e76e690846a00a0284e4bd9ee954d680)\n\nStart explicitly keeping track of the state of a ceph connection\u0027s\nsocket, separate from the state of the connection itself.  Create\nplaceholder functions to encapsulate the state transitions.\n\n    --------\n    | NEW* |  transient initial state\n    --------\n        | con_sock_state_init()\n        v\n    ----------\n    | CLOSED |  initialized, but no socket (and no\n    ----------  TCP connection)\n     ^      \\\n     |       \\ con_sock_state_connecting()\n     |        ----------------------\n     |                              \\\n     + con_sock_state_closed()       \\\n     |\\                               \\\n     | \\                               \\\n     |  -----------                     \\\n     |  | CLOSING |  socket event;       \\\n     |  -----------  await close          \\\n     |       ^                            |\n     |       |                            |\n     |       + con_sock_state_closing()   |\n     |      / \\                           |\n     |     /   ---------------            |\n     |    /                   \\           v\n     |   /                    --------------\n     |  /    -----------------| CONNECTING |  socket created, TCP\n     |  |   /                 --------------  connect initiated\n     |  |   | con_sock_state_connected()\n     |  |   v\n    -------------\n    | CONNECTED |  TCP connection established\n    -------------\n\nMake the socket state an atomic variable, reinforcing that it\u0027s a\ndistinct transtion with no possible \"intermediate/both\" states.\nThis is almost certainly overkill at this point, though the\ntransitions into CONNECTED and CLOSING state do get called via\nsocket callback (the rest of the transitions occur with the\nconnection mutex held).  We can back out the atomicity later.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil\u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "bc327474a0c9f3477be61b2d3e33833ef7b01bf9",
      "tree": "fabf603a635c91daf1afd423f48fbc7574fa0400",
      "parents": [
        "d910c114b6da5b78c88889eff1b3f9e83c6f81cb"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Tue May 22 11:41:43 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:21 2012 -0800"
      },
      "message": "libceph: start separating connection flags from state\n\n(cherry picked from commit 928443cd9644e7cfd46f687dbeffda2d1a357ff9)\n\nA ceph_connection holds a mixture of connection state (as in \"state\nmachine\" state) and connection flags in a single \"state\" field.  To\nmake the distinction more clear, define a new \"flags\" field and use\nit rather than the \"state\" field to hold Boolean flag values.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil\u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "d910c114b6da5b78c88889eff1b3f9e83c6f81cb",
      "tree": "3bef4800c3888c84e61436de727ddba440eeb33b",
      "parents": [
        "4874ba9c07e2fa418cd7272d657f5cc883efd35a"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Sat May 26 23:26:43 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:21 2012 -0800"
      },
      "message": "libceph: embed ceph messenger structure in ceph_client\n\n(cherry picked from commit 15d9882c336db2db73ccf9871ae2398e452f694c)\n\nA ceph client has a pointer to a ceph messenger structure in it.\nThere is always exactly one ceph messenger for a ceph client, so\nthere is no need to allocate it separate from the ceph client\nstructure.\n\nSwitch the ceph_client structure to embed its ceph_messenger\nstructure.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Yehuda Sadeh \u003cyehuda@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "809c58f1bd5fa3d3e9ff1d3614c00c1a1239abf1",
      "tree": "b706507a913b80898d6fd4a870189c96763f3c1f",
      "parents": [
        "ac7a42681718cd7474cec70f198f0684ba7444eb"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Tue May 29 21:47:38 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:21 2012 -0800"
      },
      "message": "libceph: kill bad_proto ceph connection op\n\n(cherry picked from commit 6384bb8b8e88a9c6bf2ae0d9517c2c0199177c34)\n\nNo code sets a bad_proto method in its ceph connection operations\nvector, so just get rid of it.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Yehuda Sadeh \u003cyehuda@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ac7a42681718cd7474cec70f198f0684ba7444eb",
      "tree": "30312de527b0b0a602b29b5c9d9c925e48d7f463",
      "parents": [
        "e7fda85c9dab7396c5ed7345ab7c6fcdf4ffc366"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Tue May 22 11:41:43 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:20 2012 -0800"
      },
      "message": "libceph: eliminate connection state \"DEAD\"\n\n(cherry picked from commit e5e372da9a469dfe3ece40277090a7056c566838)\n\nThe ceph connection state \"DEAD\" is never set and is therefore not\nneeded.  Eliminate it.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Yehuda Sadeh \u003cyehuda@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "49da293c7dc4401c2c7963a2c70f633b1c8fa8c5",
      "tree": "7e61b4bfd7e2c192ba47b8db4866f3f9e7c039c2",
      "parents": [
        "21cbad59b07693104dda76ee4afef41302b2b8fb"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Tue Jul 10 11:53:34 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:10 2012 -0800"
      },
      "message": "libceph: fix messenger retry\n\n(cherry picked from commit 5bdca4e0768d3e0f4efa43d9a2cc8210aeb91ab9)\n\nIn ancient times, the messenger could both initiate and accept connections.\nAn artifact if that was data structures to store/process an incoming\nceph_msg_connect request and send an outgoing ceph_msg_connect_reply.\nSadly, the negotiation code was referencing those structures and ignoring\nimportant information (like the peer\u0027s connect_seq) from the correct ones.\n\nAmong other things, this fixes tight reconnect loops where the server sends\nRETRY_SESSION and we (the client) retries with the same connect_seq as last\ntime.  This bug pretty easily triggered by injecting socket failures on the\nMDS and running some fs workload like workunits/direct_io/test_sync_io.\n\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ed35fbcd3cf73dfbff59bf8c20c772925562bc45",
      "tree": "7a93030aa0bd809eb111d339cd82a0c29b32be74",
      "parents": [
        "4f33c7ed3796a5078cd9eef0d3af4ebf8f7e1b99"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:39 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:08 2012 -0800"
      },
      "message": "ceph: use info returned by get_authorizer\n\n(cherry picked from commit 8f43fb53894079bf0caab6e348ceaffe7adc651a)\n\nRather than passing a bunch of arguments to be filled in with the\ncontent of the ceph_auth_handshake buffer now returned by the\nget_authorizer method, just use the returned information in the\ncaller, and drop the unnecessary arguments.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "4f33c7ed3796a5078cd9eef0d3af4ebf8f7e1b99",
      "tree": "04ad359931118b3023e230b48dbba1a2184e8ad4",
      "parents": [
        "83d28f7956228e0dd1774aed1096392d3bfc0597"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:39 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:07 2012 -0800"
      },
      "message": "ceph: have get_authorizer methods return pointers\n\n(cherry picked from commit a3530df33eb91d787d08c7383a0a9982690e42d0)\n\nHave the get_authorizer auth_client method return a ceph_auth\npointer rather than an integer, pointer-encoding any returned\nerror value.  This is to pave the way for making use of the\nreturned value in an upcoming patch.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "018a2a13f3cb5e205618b1357124ff25eb3a8223",
      "tree": "cdbe7ee5776a748574c31d42721b97870ac2fad1",
      "parents": [
        "0f56a54fced6bee6e56a8b84f9adb65a41032866"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:39 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:07 2012 -0800"
      },
      "message": "ceph: messenger: reduce args to create_authorizer\n\n(cherry picked from commit 74f1869f76d043bad12ec03b4d5f04a8c3d1f157)\n\nMake use of the new ceph_auth_handshake structure in order to reduce\nthe number of arguments passed to the create_authorizor method in\nceph_auth_client_ops.  Use a local variable of that type as a\nshorthand in the get_authorizer method definitions.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "0f56a54fced6bee6e56a8b84f9adb65a41032866",
      "tree": "fbe92f0375167e2f0b17ce0159b464a89cc667d4",
      "parents": [
        "33f0577a991d6d00805450ea29da5a91f6acd1a8"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:38 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:07 2012 -0800"
      },
      "message": "ceph: define ceph_auth_handshake type\n\n(cherry picked from commit 6c4a19158b96ea1fb8acbe0c1d5493d9dcd2f147)\n\nThe definitions for the ceph_mds_session and ceph_osd both contain\nfive fields related only to \"authorizers.\"  Encapsulate those fields\ninto their own struct type, allowing for better isolation in some\nupcoming patches.\n\nFix the #includes in \"linux/ceph/osd_client.h\" to lay out their more\ncomplete canonical path.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "9a0117ae53308d0d8284ba5664ed4c1d0ec54176",
      "tree": "fa01a51137fbb7785b485ff4940c6d24fc5685aa",
      "parents": [
        "20501b9e6e1db8e7ab6668ef15d697b1c057a50a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon May 07 15:36:49 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:03 2012 -0800"
      },
      "message": "crush: fix tree node weight lookup\n\n(cherry picked from commit f671d4cd9b36691ac4ef42cde44c1b7a84e13631)\n\nFix the node weight lookup for tree buckets by using a correct accessor.\n\nReflects ceph.git commit d287ade5bcbdca82a3aef145b92924cf1e856733.\n\nReviewed-by: Alex Elder \u003celder@inktank.com\u003e\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "506b4672ace55889c16d4e9d5515e0c1ae7832d5",
      "tree": "36da5c2597634f1398bb0f0d8cfdcec2fc617569",
      "parents": [
        "55649211861616c26aa25c9e710c5691837975e4"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon May 07 15:38:35 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Nov 26 11:38:03 2012 -0800"
      },
      "message": "crush: clean up types, const-ness\n\n(cherry picked from commit 8b12d47b80c7a34dffdd98244d99316db490ec58)\n\nMove various types from int -\u003e __u32 (or similar), and add const as\nappropriate.\n\nThis reflects changes that have been present in the userland implementation\nfor some time.\n\nReviewed-by: Alex Elder \u003celder@inktank.com\u003e\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "588c72e88125b1abe50efb3f1b6b768b98302e2c",
      "tree": "63c14c345a99ea6e6bc52f76ab0ed756514ec131",
      "parents": [
        "0ada2107a13f1b1ae8bdd5fec32912bc40f4e679"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jun 12 16:54:16 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat Nov 17 13:16:12 2012 -0800"
      },
      "message": "nfsd: add get_uint for u32\u0027s\n\ncommit a007c4c3e943ecc054a806c259d95420a188754b upstream.\n\nI don\u0027t think there\u0027s a practical difference for the range of values\nthese interfaces should see, but it would be safer to be unambiguous.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nCc: Sasha Levin \u003csasha.levin@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "a57a57aea0ad2ced60a8aa59d49fe542f23efb72",
      "tree": "348774a982105146820cab6908d92b4b04958e07",
      "parents": [
        "7a32a0b9985742493575ffa1c6fedf043d966708"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Fri Sep 28 17:55:44 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Oct 31 10:03:18 2012 -0700"
      },
      "message": "efi: Defer freeing boot services memory until after ACPI init\n\ncommit 785107923a83d8456bbd8564e288a24d84109a46 upstream.\n\nSome new ACPI 5.0 tables reference resources stored in boot services\nmemory, so keep that memory around until we have ACPI and can extract\ndata from it.\n\nSigned-off-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nLink: http://lkml.kernel.org/r/baaa6d44bdc4eb0c58e5d1b4ccd2c729f854ac55.1348876882.git.josh@joshtriplett.org\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nCc: Matt Fleming \u003cmatt@console-pimps.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "368845fde9e704288f370df57988767aab6042b4",
      "tree": "0ba42c19ff563daa24bdc08c2c1d7cf3bbaabd7d",
      "parents": [
        "c87ece5a158f3907193202d84f2a316a4c363768"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Oct 22 16:35:18 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Oct 31 10:02:56 2012 -0700"
      },
      "message": "x86, mm: Trim memory in memblock to be page aligned\n\ncommit 6ede1fd3cb404c0016de6ac529df46d561bd558b upstream.\n\nWe will not map partial pages, so need to make sure memblock\nallocation will not allocate those bytes out.\n\nAlso we will use for_each_mem_pfn_range() to loop to map memory\nrange to keep them consistent.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLink: http://lkml.kernel.org/r/CAE9FiQVZirvaBMFYRfXMmWEcHbKSicQEHz4VAwUv0xFCk51ZNw@mail.gmail.com\nAcked-by: Jacob Shin \u003cjacob.shin@amd.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "f2a713d25e8b95e065c90af72f461e99427e20f8",
      "tree": "557a4cb321242a78f9adaf0fc5801b641b0afe3b",
      "parents": [
        "3ba595416b15151d2eaa12578c17cbfd64c06aec"
      ],
      "author": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Fri Jul 13 09:28:24 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Oct 28 10:14:16 2012 -0700"
      },
      "message": "mtd: nand: allow NAND_NO_SUBPAGE_WRITE to be set from driver\n\ncommit bf7a01bf7987b63b121d572b240c132ec44129c4 upstream.\n\nThe NAND_CHIPOPTIONS_MSK has limited utility and is causing real bugs. It\nsilently masks off at least one flag that might be set by the driver\n(NAND_NO_SUBPAGE_WRITE). This breaks the GPMI NAND driver and possibly\nothers.\n\nReally, as long as driver writers exercise a small amount of care with\nNAND_* options, this mask is not necessary at all; it was only here to\nprevent certain options from accidentally being set by the driver. But the\noriginal thought turns out to be a bad idea occasionally. Thus, kill it.\n\nNote, this patch fixes some major gpmi-nand breakage.\n\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\nTested-by: Huang Shijie \u003cshijie8@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "2d2f242f248f19c4618bde9091d20416e2c9a1f6",
      "tree": "5b15e35dde9a352bde196de7619b7268271df260",
      "parents": [
        "14a547a85a7fa2b6473eaa73b83e2055b476a5dc"
      ],
      "author": {
        "name": "Florian Zumbiehl",
        "email": "florz@florz.de",
        "time": "Sun Oct 07 15:51:58 2012 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Oct 28 10:14:15 2012 -0700"
      },
      "message": "vlan: don\u0027t deliver frames for unknown vlans to protocols\n\n[ Upstream commit 48cc32d38a52d0b68f91a171a8d00531edc6a46e ]\n\n6a32e4f9dd9219261f8856f817e6655114cfec2f made the vlan code skip marking\nvlan-tagged frames for not locally configured vlans as PACKET_OTHERHOST if\nthere was an rx_handler, as the rx_handler could cause the frame to be received\non a different (virtual) vlan-capable interface where that vlan might be\nconfigured.\n\nAs rx_handlers do not necessarily return RX_HANDLER_ANOTHER, this could cause\nframes for unknown vlans to be delivered to the protocol stack as if they had\nbeen received untagged.\n\nFor example, if an ipv6 router advertisement that\u0027s tagged for a locally not\nconfigured vlan is received on an interface with macvlan interfaces attached,\nmacvlan\u0027s rx_handler returns RX_HANDLER_PASS after delivering the frame to the\nmacvlan interfaces, which caused it to be passed to the protocol stack, leading\nto ipv6 addresses for the announced prefix being configured even though those\nare completely unusable on the underlying interface.\n\nThe fix moves marking as PACKET_OTHERHOST after the rx_handler so the\nrx_handler, if there is one, sees the frame unchanged, but afterwards,\nbefore the frame is delivered to the protocol stack, it gets marked whether\nthere is an rx_handler or not.\n\nSigned-off-by: Florian Zumbiehl \u003cflorz@florz.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "70f7f1c70af637a23ca09ba1d2d7c966d1bd5990",
      "tree": "b00dea2ae29b7459a2ff702134cc0824ecd0265d",
      "parents": [
        "f0dc514c8a0fd7ee7b1f6a3ccdae3b38e6ee1578"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Thu Oct 04 20:15:48 2012 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Oct 28 10:14:15 2012 -0700"
      },
      "message": "netlink: add reference of module in netlink_dump_start\n\n[ Upstream commit 6dc878a8ca39e93f70c42f3dd7260bde10c1e0f1 ]\n\nI get a panic when I use ss -a and rmmod inet_diag at the\nsame time.\n\nIt\u0027s because netlink_dump uses inet_diag_dump which belongs to module\ninet_diag.\n\nI search the codes and find many modules have the same problem.  We\nneed to add a reference to the module which the cb-\u003edump belongs to.\n\nThanks for all help from Stephen,Jan,Eric,Steffen and Pablo.\n\nChange From v3:\nchange netlink_dump_start to inline,suggestion from Pablo and\nEric.\n\nChange From v2:\ndelete netlink_dump_done,and call module_put in netlink_dump\nand netlink_sock_destruct.\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "9b62355a6daff8696ec7f7b1283b6a39650b9f14",
      "tree": "3e61e0e953d36b3f6b8705384bec209dcc228425",
      "parents": [
        "baecc6ef799c7ab9a5fc0ba29ee560a5c264f306"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 22 12:56:58 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Oct 28 10:14:13 2012 -0700"
      },
      "message": "SUNRPC: Fix a UDP transport regression\n\ncommit f39c1bfb5a03e2d255451bff05be0d7255298fa4 and\ncommit 84e28a307e376f271505af65a7b7e212dd6f61f4 upstream.\n\nCommit 43cedbf0e8dfb9c5610eb7985d5f21263e313802 (SUNRPC: Ensure that\nwe grab the XPRT_LOCK before calling xprt_alloc_slot) is causing\nhangs in the case of NFS over UDP mounts.\n\nSince neither the UDP or the RDMA transport mechanism use dynamic slot\nallocation, we can skip grabbing the socket lock for those transports.\nAdd a new rpc_xprt_op to allow switching between the TCP and UDP/RDMA\ncase.\n\nNote that the NFSv4.1 back channel assigns the slot directly\nthrough rpc_run_bc_task, so we can ignore that case.\n\nReported-by: Dick Streefland \u003cdick.streefland@altium.nl\u003e\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "0fc58b2ff3f70a6bcfac562c68ec62939c37268a",
      "tree": "b18b3e78186d41acd9c5b1ba73c3e5a3aff807d3",
      "parents": [
        "7fcbcdc96302e9d3e3b36df4fbc86a4c82761092"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Mon May 07 02:35:44 2012 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Oct 21 09:28:00 2012 -0700"
      },
      "message": "netfilter: ipset: fix timeout value overflow bug\n\ncommit 127f559127f5175e4bec3dab725a34845d956591 upstream.\n\nLarge timeout parameters could result wrong timeout values due to\nan overflow at msec to jiffies conversion (reported by Andreas Herz)\n\n[ This patch was mangled by Pablo Neira Ayuso since David Laight and\n  Eric Dumazet noticed that we were using hardcoded 1000 instead of\n  MSEC_PER_SEC to calculate the timeout ]\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nAcked-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "04a30bd9dccbeee2cc6b035e42a37e9be0fa8c6c",
      "tree": "8b8c631b4b951e9a1676464c8f033143b979f7ed",
      "parents": [
        "33efe2910bf7865a7d1fba4b06c9fa4b6fda6856"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Mon Oct 08 16:29:17 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat Oct 13 05:38:56 2012 +0900"
      },
      "message": "mempolicy: fix a race in shared_policy_replace()\n\ncommit b22d127a39ddd10d93deee3d96e643657ad53a49 upstream.\n\nshared_policy_replace() use of sp_alloc() is unsafe.  1) sp_node cannot\nbe dereferenced if sp-\u003elock is not held and 2) another thread can modify\nsp_node between spin_unlock for allocating a new sp node and next\nspin_lock.  The bug was introduced before 2.6.12-rc2.\n\nKosaki\u0027s original patch for this problem was to allocate an sp node and\npolicy within shared_policy_replace and initialise it when the lock is\nreacquired.  I was not keen on this approach because it partially\nduplicates sp_alloc().  As the paths were sp-\u003elock is taken are not that\nperformance critical this patch converts sp-\u003elock to sp-\u003emutex so it can\nsleep when calling sp_alloc().\n\n[kosaki.motohiro@jp.fujitsu.com: Original patch]\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Josh Boyer \u003cjwboyer@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "53bf1469924e07385b4493d3cbd78551d4afaaa3",
      "tree": "26fd323abf51bc1e9a5362b3ebbd0869425bea6d",
      "parents": [
        "743b911d8b2214bfa9ecd1631edbe6f61f8fdced"
      ],
      "author": {
        "name": "Mathias Krause",
        "email": "minipli@googlemail.com",
        "time": "Thu Sep 20 10:01:49 2012 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat Oct 13 05:38:41 2012 +0900"
      },
      "message": "xfrm_user: ensure user supplied esn replay window is valid\n\n[ Upstream commit ecd7918745234e423dd87fcc0c077da557909720 ]\n\nThe current code fails to ensure that the netlink message actually\ncontains as many bytes as the header indicates. If a user creates a new\nstate or updates an existing one but does not supply the bytes for the\nwhole ESN replay window, the kernel copies random heap bytes into the\nreplay bitmap, the ones happen to follow the XFRMA_REPLAY_ESN_VAL\nnetlink attribute. This leads to following issues:\n\n1. The replay window has random bits set confusing the replay handling\n   code later on.\n\n2. A malicious user could use this flaw to leak up to ~3.5kB of heap\n   memory when she has access to the XFRM netlink interface (requires\n   CAP_NET_ADMIN).\n\nKnown users of the ESN replay window are strongSwan and Steffen\u0027s\niproute2 patch (\u003chttp://patchwork.ozlabs.org/patch/85962/\u003e). The latter\nuses the interface with a bitmap supplied while the former does not.\nstrongSwan is therefore prone to run into issue 1.\n\nTo fix both issues without breaking existing userland allow using the\nXFRMA_REPLAY_ESN_VAL netlink attribute with either an empty bitmap or a\nfully specified one. For the former case we initialize the in-kernel\nbitmap with zero, for the latter we copy the user supplied bitmap. For\nstate updates the full bitmap must be supplied.\n\nTo prevent overflows in the bitmap length calculation the maximum size\nof bmp_len is limited to 128 by this patch -- resulting in a maximum\nreplay window of 4096 packets. This should be sufficient for all real\nlife scenarios (RFC 4303 recommends a default replay window size of 64).\n\nSigned-off-by: Mathias Krause \u003cminipli@googlemail.com\u003e\nCc: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nCc: Martin Willi \u003cmartin@revosec.ch\u003e\nCc: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "268b7d491c88845b410b2dfc84af54075db35c4d",
      "tree": "b3cbc271f68d91146ba0557a01c96c3073f5e162",
      "parents": [
        "c5500c74ff1414578161b796557b382d5cbaf024"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fbl@redhat.com",
        "time": "Fri Sep 21 21:04:34 2012 -0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Oct 07 08:32:25 2012 -0700"
      },
      "message": "serial: set correct baud_base for EXSYS EX-41092 Dual 16950\n\ncommit 26e8220adb0aec43b7acafa0f1431760eee28522 upstream.\n\nApparently the same card model has two IDs, so this patch\ncomplements the commit 39aced68d664291db3324d0fcf0985ab5626aac2\nadding the missing one.\n\nSigned-off-by: Flavio Leitner \u003cfbl@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "97ed537eaa6ff11c9a1df342364e25d0996bc117",
      "tree": "e8aae3109bf171e537f3472f5a1e66edd3c0255e",
      "parents": [
        "34b6567e91b3ff6209c16b3868ec95e0e1cddc1f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 19 13:52:53 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 02 10:30:40 2012 -0700"
      },
      "message": "kthread_worker: reimplement flush_kthread_work() to allow freeing the work item being executed\n\ncommit 46f3d976213452350f9d10b0c2780c2681f7075b upstream.\n\nkthread_worker provides minimalistic workqueue-like interface for\nusers which need a dedicated worker thread (e.g. for realtime\npriority).  It has basic queue, flush_work, flush_worker operations\nwhich mostly match the workqueue counterparts; however, due to the way\nflush_work() is implemented, it has a noticeable difference of not\nallowing work items to be freed while being executed.\n\nWhile the current users of kthread_worker are okay with the current\nbehavior, the restriction does impede some valid use cases.  Also,\nremoving this difference isn\u0027t difficult and actually makes the code\neasier to understand.\n\nThis patch reimplements flush_kthread_work() such that it uses a\nflush_work item instead of queue/done sequence numbers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Colin Cross \u003cccross@google.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "9a227fcb842a03fce5b8a6da0da40f5601ec6908",
      "tree": "d186f0f90e021d9fc9a35ab009cdcab3e315c8a2",
      "parents": [
        "80257cbe62ea0919153c43421746269ab68473bf"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Sep 11 15:04:19 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 02 10:30:36 2012 -0700"
      },
      "message": "time: Move ktime_t overflow checking into timespec_valid_strict\n\ncommit cee58483cf56e0ba355fdd97ff5e8925329aa936 upstream\n\nAndreas Bombe reported that the added ktime_t overflow checking added to\ntimespec_valid in commit 4e8b14526ca7 (\"time: Improve sanity checking of\ntimekeeping inputs\") was causing problems with X.org because it caused\ntimeouts larger then KTIME_T to be invalid.\n\nPreviously, these large timeouts would be clamped to KTIME_MAX and would\nnever expire, which is valid.\n\nThis patch splits the ktime_t overflow checking into a new\ntimespec_valid_strict function, and converts the timekeeping codes\ninternal checking to use this more strict function.\n\nReported-and-tested-by: Andreas Bombe \u003caeb@debian.org\u003e\nCc: Zhouping Liu \u003czliu@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "8e878154f5658ba93cf9bb2b491a930ec195de3d",
      "tree": "7c90f9cafce87cdf0b5629933a35144ee3d11d44",
      "parents": [
        "504471eb5044e4a1dd10950d1a3efab39ba2083a"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Sep 11 15:04:17 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 02 10:30:36 2012 -0700"
      },
      "message": "time: Improve sanity checking of timekeeping inputs\n\ncommit 4e8b14526ca7fb046a81c94002c1c43b6fdf0e9b upstream.\n\nUnexpected behavior could occur if the time is set to a value large\nenough to overflow a 64bit ktime_t (which is something larger then the\nyear 2262).\n\nAlso unexpected behavior could occur if large negative offsets are\ninjected via adjtimex.\n\nSo this patch improves the sanity check timekeeping inputs by\nimproving the timespec_valid() check, and then makes better use of\ntimespec_valid() to make sure we don\u0027t set the time to an invalid\nnegative value or one that overflows ktime_t.\n\nNote: This does not protect from setting the time close to overflowing\nktime_t and then letting natural accumulation cause the overflow.\n\nReported-by: CAI Qian \u003ccaiqian@redhat.com\u003e\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Zhouping Liu \u003czliu@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1344454580-17031-1-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "e194fab8d7ebe95db5609f1cb6794c2afcc3118f",
      "tree": "2367f196d1cfa94a2078834bee0d4a64734eb884",
      "parents": [
        "6418cc471b5d8a64ce22d2aa827fcb275e61449c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Jun 22 13:36:05 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 02 10:30:35 2012 -0700"
      },
      "message": "sched: Fix race in task_group()\n\ncommit 8323f26ce3425460769605a6aece7a174edaa7d1 upstream.\n\nStefan reported a crash on a kernel before a3e5d1091c1 (\"sched:\nDon\u0027t call task_group() too many times in set_task_rq()\"), he\nfound the reason to be that the multiple task_group()\ninvocations in set_task_rq() returned different values.\n\nLooking at all that I found a lack of serialization and plain\nwrong comments.\n\nThe below tries to fix it using an extra pointer which is\nupdated under the appropriate scheduler locks. Its not pretty,\nbut I can\u0027t really see another way given how all the cgroup\nstuff works.\n\nReported-and-tested-by: Stefan Bader \u003cstefan.bader@canonical.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1340364965.18025.71.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    }
  ],
  "next": "f15e72437813a8943aaa3f7528e464923c31437f"
}
