)]}'
{
  "log": [
    {
      "commit": "bcdedcc1afd6ac91e15cb90aedaf8432f62fed13",
      "tree": "441dfd63c2189b91766880363316af0f85e2f8eb",
      "parents": [
        "657a52095fa3e8560d41047851f4e73a410f3ed2"
      ],
      "author": {
        "name": "Wengmeiling",
        "email": "wengmeiling.weng@huawei.com",
        "time": "Tue Apr 30 15:28:46 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:09 2013 -0700"
      },
      "message": "menuconfig: print more info for symbol without prompts\n\nWhen we search a config symbol, if it has no prompt the position of this\nsymbol in the Kconfig file and it\u0027s dependencies are not printed.  This\ncan be inconvenient, especially when it\u0027s set to n and we want to find out\nwhy.\n\nthe following is an example:\n\nbefore:\n\nSymbol: GENERIC_SMP_IDLE_THREAD [\u003dy]\nType  : boolean\n  Selected by: X86 [\u003dy]\n\nafter:\n\nSymbol: GENERIC_SMP_IDLE_THREAD [\u003dy]\nType  : boolean\n  Defined at arch/Kconfig:213\n  Selected by: X86 [\u003dy]\n\nSigned-off-by: Weng Meiling \u003cwengmeiling.weng@huawei.com\u003e\nSigned-off-by: Libo Chen \u003clibo.chen@huawei.com\u003e\nCc: Michal Marek \u003cmmarek@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "657a52095fa3e8560d41047851f4e73a410f3ed2",
      "tree": "b53e090824a342394dcfbb0e56047a3c0ac9e900",
      "parents": [
        "966f3096b18bf13385799ef745e114a8f292ed69"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Tue Apr 30 15:28:45 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:09 2013 -0700"
      },
      "message": "init/Kconfig: re-order CONFIG_EXPERT options to fix menuconfig display\n\nThe kconfig language requires that dependent options all follow the\nmenuconfig symbol in order to be collapsed below it.  Recently some hidden\noptions were added below the EXPERT menuconfig, but did not depend on\nEXPERT (because hidden options can\u0027t).  This broke the display.  So\nre-order all these options, and while we\u0027re here stick the PCI quirks\nunder the EXPERT menu (since it isn\u0027t sitting with any related options).\n\nBefore this commit, we get:\n\t[*] Configure standard kernel features (expert users)  ---\u003e\n\t[ ] Sysctl syscall support\n\t[*] Load all symbols for debugging/ksymoops\n\t...\n\t[ ] Embedded system\n\nNow we get the older (and correct) behavior:\n\t[*] Configure standard kernel features (expert users)  ---\u003e\n\t[ ] Embedded system\nAnd if you go into the expert menu you get the expert options:\n\t[ ] Sysctl syscall support\n\t[*] Load all symbols for debugging/ksymoops\n\t...\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nAcked-by: Randy Dunlap \u003crdunlap@infradead.org\u003e\nCc: zhangwei(Jovi) \u003cjovi.zhangwei@huawei.com\u003e\nCc: Michal Marek \u003cmmarek@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "966f3096b18bf13385799ef745e114a8f292ed69",
      "tree": "0879540c5a369240c820be6cc408aa1c72c8a257",
      "parents": [
        "446f24d1199e8a546ba7c97da3fbb9a505a94795"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@infradead.org",
        "time": "Tue Apr 30 15:28:44 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:09 2013 -0700"
      },
      "message": "kconfig menu: move Virtualization drivers near other virtualization options\n\nMake virtualization drivers be logically grouped together (physically\nnear each other) in the kconfig menu by moving \"Virtualization drivers\"\nto be near \"Virtio drivers\", Microsort Hyper-V, and Xen driver support.\n\nThis is just a user-friendly, visual search change.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@infradead.org\u003e\nCc: Alexander Graf \u003cagraf@suse.de\u003e\nCc: Stuart Yoder \u003cstuart.yoder@freescale.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "446f24d1199e8a546ba7c97da3fbb9a505a94795",
      "tree": "42c44a565fbdd6f923e0c2403b1c62154acab1b2",
      "parents": [
        "a05342cbd62b7f6dacb8d71683d799f5e5e694b8"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Tue Apr 30 15:28:42 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:09 2013 -0700"
      },
      "message": "Kconfig: consolidate CONFIG_DEBUG_STRICT_USER_COPY_CHECKS\n\nThe help text for this config is duplicated across the x86, parisc, and\ns390 Kconfig.debug files.  Arnd Bergman noted that the help text was\nslightly misleading and should be fixed to state that enabling this\noption isn\u0027t a problem when using pre 4.4 gcc.\n\nTo simplify the rewording, consolidate the text into lib/Kconfig.debug\nand modify it there to be more explicit about when you should say N to\nthis config.\n\nAlso, make the text a bit more generic by stating that this option\nenables compile time checks so we can cover architectures which emit\nwarnings vs.  ones which emit errors.  The details of how an\narchitecture decided to implement the checks isn\u0027t as important as the\nconcept of compile time checking of copy_from_user() calls.\n\nWhile we\u0027re doing this, remove all the copy_from_user_overflow() code\nthat\u0027s duplicated many times and place it into lib/ so that any\narchitecture supporting this option can get the function for free.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Helge Deller \u003cdeller@gmx.de\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a05342cbd62b7f6dacb8d71683d799f5e5e694b8",
      "tree": "5d606df07845f07ecfd44e4498139ac2bbc13d9c",
      "parents": [
        "536b39ecf1b52ab71c2c126db0137611b9e1a4d4"
      ],
      "author": {
        "name": "zhangwei(Jovi)",
        "email": "jovi.zhangwei@huawei.com",
        "time": "Tue Apr 30 15:28:41 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:09 2013 -0700"
      },
      "message": "relay: use macro PAGE_ALIGN instead of FIX_SIZE\n\nMacro FIX_SIZE is same as PAGE_ALIGN at present, so use PAGE_ALIGN\ninstead.\n\nThanks Andrew found this.\n\nSigned-off-by: zhangwei(Jovi) \u003cjovi.zhangwei@huawei.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "536b39ecf1b52ab71c2c126db0137611b9e1a4d4",
      "tree": "c6c6c3e848bc927bf560b2ddf3381230d4e39649",
      "parents": [
        "8359f689e23a607ec6758737551045997848ac75"
      ],
      "author": {
        "name": "zhangwei(Jovi)",
        "email": "jovi.zhangwei@huawei.com",
        "time": "Tue Apr 30 15:28:40 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:09 2013 -0700"
      },
      "message": "kernel/relay.c: move FIX_SIZE macro into relay.c\n\nIt\u0027s better to place FIX_SIZE macro in relay.c, instead of relay.h\n\nSigned-off-by: zhangwei(Jovi) \u003cjovi.zhangwei@huawei.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8359f689e23a607ec6758737551045997848ac75",
      "tree": "f4fccf4d02e9b3d56176f3481bf2146b85f16472",
      "parents": [
        "4d10e0f2dd42b950448c13715f88edfce82a0975"
      ],
      "author": {
        "name": "zhangwei(Jovi)",
        "email": "jovi.zhangwei@huawei.com",
        "time": "Tue Apr 30 15:28:39 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:08 2013 -0700"
      },
      "message": "kernel/relay.c: remove unused function argument actor\n\nCurrently argument `actor\u0027 is never used in the relay reading path, so\nremove it.\n\nSigned-off-by: zhangwei(Jovi) \u003cjovi.zhangwei@huawei.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d10e0f2dd42b950448c13715f88edfce82a0975",
      "tree": "c0b2d411e835907bd6f30869268607cfa7e74d2c",
      "parents": [
        "c28d6f2ddb10fd2b359083e89ae583c6c062e35f"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yongjun_wei@trendmicro.com.cn",
        "time": "Tue Apr 30 15:28:38 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:08 2013 -0700"
      },
      "message": "drivers/w1/slaves/w1_ds2760.c: fix the error handling in w1_ds2760_add_slave()\n\nUse platform_device_put() instead of platform_device_unregister() if\nplatform_device_add() fail, and platform_device_del() should be used in\nthe error handling case after platform_device_add() success.\n\nSigned-off-by: Wei Yongjun \u003cyongjun_wei@trendmicro.com.cn\u003e\nCc: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c28d6f2ddb10fd2b359083e89ae583c6c062e35f",
      "tree": "adffef2734494b0aa501b94b4eb06517009baf84",
      "parents": [
        "c5cfedf234fd5ba457c404bf42b6e6aea23b1e69"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yongjun_wei@trendmicro.com.cn",
        "time": "Tue Apr 30 15:28:37 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:08 2013 -0700"
      },
      "message": "drivers/w1/slaves/w1_ds2781.c: fix the error handling in w1_ds2781_add_slave()\n\nUse platform_device_put() instead of platform_device_unregister() if\nplatform_device_add() fail, and platform_device_del() should be used in\nthe error handling case after platform_device_add() success.\n\nSigned-off-by: Wei Yongjun \u003cyongjun_wei@trendmicro.com.cn\u003e\nCc: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5cfedf234fd5ba457c404bf42b6e6aea23b1e69",
      "tree": "2e6a98dcf6ea3a1193f7836ff9a7a113efe4ca81",
      "parents": [
        "0ece1bbf4c280a4e886709ebf21d7df35a638a82"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yongjun_wei@trendmicro.com.cn",
        "time": "Tue Apr 30 15:28:36 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:08 2013 -0700"
      },
      "message": "drivers/w1/slaves/w1_ds2780.c: fix the error handling in w1_ds2780_add_slave()\n\nUse platform_device_put() instead of platform_device_unregister() if\nplatform_device_add() fail, and platform_device_del() should be used in\nthe error handling case after platform_device_add() success.\n\nSigned-off-by: Wei Yongjun \u003cyongjun_wei@trendmicro.com.cn\u003e\nCc: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ece1bbf4c280a4e886709ebf21d7df35a638a82",
      "tree": "aaa64b49aeeeeab5b3ef978ae8b43da47b36f8aa",
      "parents": [
        "8d46fa11790e012d991495148f2d16cdbf4ee864"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yongjun_wei@trendmicro.com.cn",
        "time": "Tue Apr 30 15:28:35 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:08 2013 -0700"
      },
      "message": "drivers/w1/slaves/w1_bq27000.c: fix the error handling in w1_bq27000_add_slave()\n\nUse platform_device_put() instead of platform_device_unregister() if\nplatform_device_add() fails, and also add the return value check of\nplatform_device_add_data().\n\nSigned-off-by: Wei Yongjun \u003cyongjun_wei@trendmicro.com.cn\u003e\nCc: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d46fa11790e012d991495148f2d16cdbf4ee864",
      "tree": "e68514545cc624a7c03a937b4317f82b89b5c94a",
      "parents": [
        "06a6ea3702143e0af38270ac07d102a68810d564"
      ],
      "author": {
        "name": "Jingoo Han",
        "email": "jg1.han@samsung.com",
        "time": "Tue Apr 30 15:28:34 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:08 2013 -0700"
      },
      "message": "drivers/memstick/host/r592.c: make r592_pm_ops static\n\nr592_pm_ops is not exported. Also, CONFIG_PM_SLEEP is used to\nremove unnecessary ifdefs.\n\nSigned-off-by: Jingoo Han \u003cjg1.han@samsung.com\u003e\nCc: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "06a6ea3702143e0af38270ac07d102a68810d564",
      "tree": "66e76bcaa0b76258bbfec40540f9118b288c083e",
      "parents": [
        "c74f66ce102e2cfb61c185f7451538e29de640b9"
      ],
      "author": {
        "name": "liguang",
        "email": "lig.fnst@cn.fujitsu.com",
        "time": "Tue Apr 30 15:28:33 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:08 2013 -0700"
      },
      "message": "semaphore: use `bool\u0027 type for semaphore_waiter\u0027s up\n\nSigned-off-by: liguang \u003clig.fnst@cn.fujitsu.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c74f66ce102e2cfb61c185f7451538e29de640b9",
      "tree": "20ad92052a52f5cc080633d5a2e6a2e400d2f010",
      "parents": [
        "97439d0f84942d3031545e80852dde09457136c6"
      ],
      "author": {
        "name": "liguang",
        "email": "lig.fnst@cn.fujitsu.com",
        "time": "Tue Apr 30 15:28:32 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:08 2013 -0700"
      },
      "message": "semaphore: use unlikely() for down\u0027s timeout\n\nSigned-off-by: liguang \u003clig.fnst@cn.fujitsu.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97439d0f84942d3031545e80852dde09457136c6",
      "tree": "1f8a190ea7d4417dd98879be7cdc94bb697fd7bc",
      "parents": [
        "1a0f39997caf3e1edc7e5b7da168b91c32760ccb"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Apr 30 15:28:31 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:08 2013 -0700"
      },
      "message": "pps: pps_kc_hardpps_lock can be static\n\ndrivers/pps/kc.c:37:1: sparse: symbol \u0027pps_kc_hardpps_lock\u0027 was not declared. Should it be static?\ndrivers/pps/kc.c:39:19: sparse: symbol \u0027pps_kc_hardpps_dev\u0027 was not declared. Should it be static?\ndrivers/pps/kc.c:40:5: sparse: symbol \u0027pps_kc_hardpps_mode\u0027 was not declared. Should it be static?\n\nSigned-off-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nCc: Rodolfo Giometti \u003cgiometti@enneenne.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a0f39997caf3e1edc7e5b7da168b91c32760ccb",
      "tree": "cd0292894cb9c6819c7be2d02027059f3d05381d",
      "parents": [
        "60abc786dd3b5d6917d63fd789c9fed772f65039"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian@openwrt.org",
        "time": "Tue Apr 30 15:28:30 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:08 2013 -0700"
      },
      "message": "pps: hide more configuration symbols behind CONFIG_PPS\n\nMake CONFIG_PPS_DEBUG and CONFIG_NTP_PPS be hidden if CONFIG_PPS is not\nselected, so that we are not prompted for these configuration options if\nCONFIG_PPS is not set.\n\nSigned-off-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nCc: Rodolfo Giometti \u003cgiometti@enneenne.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60abc786dd3b5d6917d63fd789c9fed772f65039",
      "tree": "22df39466f7dc6a3d16d5763e8e33c5e3e0f3fe6",
      "parents": [
        "078be02b80359a541928c899c2631f39628f56df"
      ],
      "author": {
        "name": "Mihnea Dobrescu-Balaur",
        "email": "mihneadb@gmail.com",
        "time": "Tue Apr 30 15:28:29 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:08 2013 -0700"
      },
      "message": "aoe: replace kmalloc and then memcpy with kmemdup\n\nSigned-off-by: Mihnea Dobrescu-Balaur \u003cmihneadb@gmail.com\u003e\nCc: Ed Cashin \u003cecashin@coraid.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "078be02b80359a541928c899c2631f39628f56df",
      "tree": "b89690216b6c55b91d9d14775592b660c69010cf",
      "parents": [
        "5cc5445164c16d32bab2912fac28356ab07aa8b4"
      ],
      "author": {
        "name": "Michal Belczyk",
        "email": "belczyk@bsd.krakow.pl",
        "time": "Tue Apr 30 15:28:28 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:07 2013 -0700"
      },
      "message": "nbd: increase default and max request sizes\n\nRaise the default max request size for nbd to 128KB (from 127KB) to get it\n4KB aligned.  This patch also allows the max request size to be increased\n(via /sys/block/nbd\u003cx\u003e/queue/max_sectors_kb) to 32MB.\n\nThe patch makes nbd network traffic more efficient by:\n- reducing request fragmentation (4KB alignment)\n- reducing the number of requests (fewer round trips, less network overhead)\n\nEspecially in high latency networks, larger request size can make a dramatic\n\nSigned-off-by: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nSigned-off-by: Michal Belczyk \u003cbelczyk@bsd.krakow.pl\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5cc5445164c16d32bab2912fac28356ab07aa8b4",
      "tree": "63ecdef695220d172d1e487a8c94ac6d7a3bab25",
      "parents": [
        "8db049b3d666b3676ff4a976e03c14de302bf9fa"
      ],
      "author": {
        "name": "Raphael S.Carvalho",
        "email": "raphael.scarv@gmail.com",
        "time": "Tue Apr 30 15:28:27 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:07 2013 -0700"
      },
      "message": "pid_namespace.c/.h: simplify defines\n\nMove BITS_PER_PAGE from pid_namespace.c to pid_namespace.h, since we can\nsimplify the define PID_MAP_ENTRIES by using the BITS_PER_PAGE.\n\n[akpm@linux-foundation.org: kernel/pid.c:54:1: warning: \"BITS_PER_PAGE\" redefined]\nSigned-off-by: Raphael S.Carvalho \u003craphael.scarv@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8db049b3d666b3676ff4a976e03c14de302bf9fa",
      "tree": "74d5e5c8e25b451e983e66cb1e2a41cbf8e1b4f1",
      "parents": [
        "c75aaa8ed03eb1312ed2990f1a716b2b9cc0df42"
      ],
      "author": {
        "name": "Raphael S. Carvalho",
        "email": "raphael.scarv@gmail.com",
        "time": "Tue Apr 30 15:28:26 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:07 2013 -0700"
      },
      "message": "kernel/pid.c: improve flow of a loop inside alloc_pidmap.\n\nfind_next_offset() searches for an available \"cleaned bit\" in the\nrespective pid bitmap (page), so returns the offset if found, otherwise\nit returns a value equals to BITS_PER_PAGE.\n\nFor example, suppose find_next_offset didn\u0027t find any available bit, so\nthere\u0027s no purpose to call mk_pid (Wasteful Cpu Cycles).\n\nTherefore, I found it could be better to call mk_pid after the checking\n(offset \u003c BITS_PER_PAGE) returned sucessfully! Another point: If (offset\n\u003c BITS_PER_PAGE) results in a \"failure\", then mk_pid would be called\nagain afterwards.\n\n[akpm@linux-foundation.org: simplify code]\nSigned-off-by: Raphael S. Carvalho \u003craphael.scarv@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c75aaa8ed03eb1312ed2990f1a716b2b9cc0df42",
      "tree": "7646064b514d7e799ef59abe3f4f445bf2cbd029",
      "parents": [
        "4130f0efbfe5adb360328b777afa8e45f7e467f7"
      ],
      "author": {
        "name": "Davidlohr Bueso",
        "email": "davidlohr.bueso@hp.com",
        "time": "Tue Apr 30 15:28:25 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:07 2013 -0700"
      },
      "message": "rbtree_test: add __init/__exit annotations\n\nSigned-off-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nReviewed-by: Michel Lespinasse \u003cwalken@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4130f0efbfe5adb360328b777afa8e45f7e467f7",
      "tree": "1067bb405268e345a2faa59f987491157bc82d2a",
      "parents": [
        "31c3a3fe0777642816045a8dd1b666f1718851d7"
      ],
      "author": {
        "name": "Davidlohr Bueso",
        "email": "davidlohr.bueso@hp.com",
        "time": "Tue Apr 30 15:28:24 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:07 2013 -0700"
      },
      "message": "rbtree_test: add extra rbtree integrity check\n\nAccount for the rbtree having  2**bh(v)-1 internal nodes.\n\nWhile this can be seen as a consequence of other checks, Michel states\nthat it nicely sums up what the other properties are for.\n\nSigned-off-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nReviewed-by: Michel Lespinasse \u003cwalken@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31c3a3fe0777642816045a8dd1b666f1718851d7",
      "tree": "09995a2cfce420c77b2403acf1a73d25c99a7a78",
      "parents": [
        "310faaa9b2d075b8fd477550c3d85ccddec76f35"
      ],
      "author": {
        "name": "Zhang Yanfei",
        "email": "zhangyanfei@cn.fujitsu.com",
        "time": "Tue Apr 30 15:28:23 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:07 2013 -0700"
      },
      "message": "kexec: Use min() and min_t() to simplify logic\n\nSimplify the logic of variable assignments.\n\n[akpm@linux-foundation.org: replace min_t with min, remove unneeded casts]\nSigned-off-by: Zhang Yanfei \u003czhangyanfei@cn.fujitsu.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nReviewed-by: Simon Horman \u003chorms@verge.net.au\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "310faaa9b2d075b8fd477550c3d85ccddec76f35",
      "tree": "065b412dca377501a60b38c0f9e33d12df070d30",
      "parents": [
        "e56fb2874015370e3b7f8d85051f6dce26051df9"
      ],
      "author": {
        "name": "Zhang Yanfei",
        "email": "zhangyanfei@cn.fujitsu.com",
        "time": "Tue Apr 30 15:28:21 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:07 2013 -0700"
      },
      "message": "kexec: fix wrong types of some local variables\n\nThe types of the following local variables:\n\n- ubytes/mbytes in kimage_load_crash_segment()/kimage_load_normal_segment()\n\n- r in vmcoreinfo_append_str()\n\nare wrong, so fix them.\n\nSigned-off-by: Zhang Yanfei \u003czhangyanfei@cn.fujitsu.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Simon Horman \u003chorms@verge.net.au\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e56fb2874015370e3b7f8d85051f6dce26051df9",
      "tree": "0820c06eb4a25daf65734412af139e98ac1649c8",
      "parents": [
        "12eaaf309a798973d215f7f21aa5a67a760ed7c8"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Apr 30 15:28:20 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:07 2013 -0700"
      },
      "message": "exec: do not abuse -\u003ecred_guard_mutex in threadgroup_lock()\n\nthreadgroup_lock() takes signal-\u003ecred_guard_mutex to ensure that\nthread_group_leader() is stable.  This doesn\u0027t look nice, the scope of\nthis lock in do_execve() is huge.\n\nAnd as Dave pointed out this can lead to deadlock, we have the\nfollowing dependencies:\n\n\tdo_execve:\t\tcred_guard_mutex -\u003e i_mutex\n\tcgroup_mount:\t\ti_mutex -\u003e cgroup_mutex\n\tattach_task_by_pid:\tcgroup_mutex -\u003e cred_guard_mutex\n\nChange de_thread() to take threadgroup_change_begin() around the\nswitch-the-leader code and change threadgroup_lock() to avoid\n-\u003ecred_guard_mutex.\n\nNote that de_thread() can\u0027t sleep with -\u003egroup_rwsem held, this can\nobviously deadlock with the exiting leader if the writer is active, so it\ndoes threadgroup_change_end() before schedule().\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.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\n"
    },
    {
      "commit": "12eaaf309a798973d215f7f21aa5a67a760ed7c8",
      "tree": "6be40c0ec42f7cf8eb5d09c31e1f36cc21499720",
      "parents": [
        "830e0fc967a7ee5013d5d1cf6a3cea71a8868466"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Apr 30 15:28:19 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:07 2013 -0700"
      },
      "message": "set_task_comm: kill the pointless memset() + wmb()\n\nset_task_comm() does memset() + wmb() before strlcpy().  This buys\nnothing and to add to the confusion, the comment is wrong.\n\n- We do not need memset() to be \"safe from non-terminating string\n  reads\", the final char is always zero and we never change it.\n\n- wmb() is paired with nothing, it cannot prevent from printing\n  the mixture of the old/new data unless the reader takes the lock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "830e0fc967a7ee5013d5d1cf6a3cea71a8868466",
      "tree": "19d176024decd5ca10601d2cf2ecc8f0e90fe84e",
      "parents": [
        "dc7ee2aac830e5423f41de87d50441f138f648da"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Apr 30 15:28:18 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:07 2013 -0700"
      },
      "message": "fs, proc: truncate /proc/pid/comm writes to first TASK_COMM_LEN bytes\n\nCurrently, a write to a procfs file will return the number of bytes\nsuccessfully written.  If the actual string is longer than this, the\nremainder of the string will not be be written and userspace will\ncomplete the operation by issuing additional write()s.\n\nHence\n\n\t$ echo -n \"abcdefghijklmnopqrs\" \u003e /proc/self/comm\n\nresults in\n\n\t$ cat /proc/$$/comm\n\tpqrs\n\nsince the final four bytes were written with a second write() since\nTASK_COMM_LEN \u003d\u003d 16.  This is obviously an undesired result and not\nequivalent to prctl(PR_SET_NAME).  The implementation should not need to\nknow the definition of TASK_COMM_LEN.\n\nThis patch truncates the string to the first TASK_COMM_LEN bytes and\nreturns the bytes written as the length of the string written so the\nsecond write() is suppressed.\n\n\t$ cat /proc/$$/comm\n\tabcdefghijklmno\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc7ee2aac830e5423f41de87d50441f138f648da",
      "tree": "735a75c2d2455721dffed758632f07f62cbf2206",
      "parents": [
        "079148b919d0c58b796f9ae98bdb53028dbcd5e7"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Apr 30 15:28:17 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:06 2013 -0700"
      },
      "message": "coredump: change wait_for_dump_helpers() to use wait_event_interruptible()\n\nwait_for_dump_helpers() calls wake_up/kill_fasync from inside the\nwait_event-like loop.  This is not needed and in fact this is not\nstrictly correct, we can/should do this only once after we change\npipe-\u003ewriters.  We could even check if it becomes zero.\n\nChange this code to use use wait_event_interruptible(), this can also\nhelp to make this wait freezable.\n\nWith this patch we check pipe-\u003ereaders without pipe_lock(), this is\nfine.  Once we see pipe-\u003ereaders \u003d\u003d 1 we know that the handler\ndecremented the counter, this is all we need.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Neil Horman \u003cnhorman@redhat.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "079148b919d0c58b796f9ae98bdb53028dbcd5e7",
      "tree": "b2d44cfd18794533709b053d6669606b13173fe2",
      "parents": [
        "528f827ee0bb508af5c9466562f474675540473e"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Apr 30 15:28:16 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:06 2013 -0700"
      },
      "message": "coredump: factor out the setting of PF_DUMPCORE\n\nCleanup.  Every linux_binfmt-\u003ecore_dump() sets PF_DUMPCORE, move this into\nzap_threads() called by do_coredump().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Neil Horman \u003cnhorman@redhat.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "528f827ee0bb508af5c9466562f474675540473e",
      "tree": "9c13212aa45b8e08fc3b8016407c6ee0f8603604",
      "parents": [
        "acdedd99b0f3bff9b4bb2103a6b1268c03d1f963"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Apr 30 15:28:15 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:06 2013 -0700"
      },
      "message": "coredump: introduce dump_interrupted()\n\nBy discussion with Mandeep.\n\nChange dump_write(), dump_seek() and do_coredump() to check\nsignal_pending() and abort if it is true.  dump_seek() does this only\nbefore f_op-\u003ellseek(), otherwise it relies on dump_write().\n\nWe need this change to ensure that the coredump won\u0027t delay suspend, and\nto ensure it reacts to SIGKILL \"quickly enough\", a core dump can take a\nlot of time.  In particular this can help oom-killer.\n\nWe add the new trivial helper, dump_interrupted() to add the comments and\nto simplify the potential freezer changes.  Perhaps it will have more\ncallers.\n\nIdeally it should do try_to_freeze() but then we need the unpleasant\nchanges in dump_write() and wait_for_dump_helpers().  It is not trivial to\nchange dump_write() to restart if f_op-\u003ewrite() fails because of\nfreezing().  We need to handle the short writes, we need to clear\nTIF_SIGPENDING (and we can\u0027t rely on recalc_sigpending() unless we change\nit to check PF_DUMPCORE).  And if the buggy f_op-\u003ewrite() sets\nTIF_SIGPENDING we can not distinguish this case from the race with\nfreeze_task() + __thaw_task().\n\nSo we simply accept the fact that the freezer can truncate a core-dump but\nat least you can reliably suspend.  Hopefully we can tolerate this\nunlikely case and the necessary complications doesn\u0027t worth a trouble.\nBut if we decide to make the coredumping freezable later we can do this on\ntop of this change.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Neil Horman \u003cnhorman@redhat.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "acdedd99b0f3bff9b4bb2103a6b1268c03d1f963",
      "tree": "bfacbb825c6024a0374db0a6a38a222581b15083",
      "parents": [
        "6cd8f0acae3420afce37bf51a9ff8c2c20342af5"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Apr 30 15:28:13 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:06 2013 -0700"
      },
      "message": "coredump: sanitize the setting of signal-\u003egroup_exit_code\n\nNow that the coredumping process can be SIGKILL\u0027ed, the setting of\n-\u003egroup_exit_code in do_coredump() can race with complete_signal() and\nSIGKILL or 0x80 can be \"lost\", or wait(status) can report status \u003d\u003d\nSIGKILL | 0x80.\n\nBut the main problem is that it is not clear to me what should we do if\nbinfmt-\u003ecore_dump() succeeds but SIGKILL was sent, that is why this patch\ncomes as a separate change.\n\nThis patch adds 0x80 if -\u003ecore_dump() succeeds and the process was not\nkilled.  But perhaps we can (should?) re-set -\u003egroup_exit_code changed by\nSIGKILL back to \"siginfo-\u003esi_signo |\u003d 0x80\" in case when core_dumped \u003d\u003d T.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nTested-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@redhat.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Roland McGrath \u003croland@hack.frob.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Al 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\n"
    },
    {
      "commit": "6cd8f0acae3420afce37bf51a9ff8c2c20342af5",
      "tree": "38478d4eb5b1c2d911c865c088a79edf2ebcea77",
      "parents": [
        "403bad72b67d8b3f5a0240af5023adfa48132a65"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Apr 30 15:28:12 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:06 2013 -0700"
      },
      "message": "coredump: ensure that SIGKILL always kills the dumping thread\n\nprepare_signal() blesses SIGKILL sent to the dumping process but this\nsignal can be \"lost\" anyway.  The problems is, complete_signal() sees\nSIGNAL_GROUP_EXIT and skips the \"kill them all\" logic.  And even if the\ndumping process is single-threaded (so the target is always \"correct\"),\nthe group-wide SIGKILL is not recorded in task-\u003epending and thus\n__fatal_signal_pending() won\u0027t be true.  A multi-threaded case has even\nmore problems.\n\nAnd even ignoring all technical details, SIGNAL_GROUP_EXIT doesn\u0027t look\nright to me.  This coredumping process is not exiting yet, it can do a lot\nof work dumping the core.\n\nWith this patch the dumping process doesn\u0027t have SIGNAL_GROUP_EXIT, we set\nsignal-\u003egroup_exit_task instead.  This makes signal_group_exit() true and\nthus this should equally close the races with exit/exec/stop but allows to\nkill the dumping thread reliably.\n\nNotes:\n\t- It is not clear what should we do with -\u003egroup_exit_code\n\t  if the dumper was killed, see the next change.\n\n\t- we need more (hopefully straightforward) changes to ensure\n\t  that SIGKILL actually interrupts the coredump. Basically we\n\t  need to check __fatal_signal_pending() in dump_write() and\n\t  dump_seek().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nTested-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@redhat.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Roland McGrath \u003croland@hack.frob.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Al 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\n"
    },
    {
      "commit": "403bad72b67d8b3f5a0240af5023adfa48132a65",
      "tree": "d240a287cf7e64824dc6441f397b0290aa79738b",
      "parents": [
        "66e5b7e1948cdbdca2b0cc6ddc6d69ee84583fb4"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Apr 30 15:28:10 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:06 2013 -0700"
      },
      "message": "coredump: only SIGKILL should interrupt the coredumping task\n\nThere are 2 well known and ancient problems with coredump/signals, and a\nlot of related bug reports:\n\n- do_coredump() clears TIF_SIGPENDING but of course this can\u0027t help\n  if, say, SIGCHLD comes after that.\n\n  In this case the coredump can fail unexpectedly. See for example\n  wait_for_dump_helper()-\u003esignal_pending() check but there are other\n  reasons.\n\n- At the same time, dumping a huge core on the slow media can take a\n  lot of time/resources and there is no way to kill the coredumping\n  task reliably. In particular this is not oom_kill-friendly.\n\nThis patch tries to fix the 1st problem, and makes the preparation for the\nnext changes.\n\nWe add the new SIGNAL_GROUP_COREDUMP flag set by zap_threads() to indicate\nthat this process dumps the core.  prepare_signal() checks this flag and\nnacks any signal except SIGKILL.\n\nNote that this check tries to be conservative, in the long term we should\nprobably treat the SIGNAL_GROUP_EXIT case equally but this needs more\ndiscussion.  See marc.info/?l\u003dlinux-kernel\u0026m\u003d120508897917439\n\nNotes:\n\t- recalc_sigpending() doesn\u0027t check SIGNAL_GROUP_COREDUMP.\n\t  The patch assumes that dump_write/etc paths should never\n\t  call it, but we can change it as well.\n\n\t- There is another source of TIF_SIGPENDING, freezer. This\n\t  will be addressed separately.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nTested-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@redhat.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Roland McGrath \u003croland@hack.frob.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Al 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\n"
    },
    {
      "commit": "66e5b7e1948cdbdca2b0cc6ddc6d69ee84583fb4",
      "tree": "aab4bddfc97523c11a7e3714644a29373c8d4a85",
      "parents": [
        "907ed1328d2a748f3d6028503d3e04c74ea62730"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 30 15:28:09 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:06 2013 -0700"
      },
      "message": "kmod: remove call_usermodehelper_fns()\n\nThis function suffers from not being able to determine if the cleanup is\ncalled in case it returns -ENOMEM.  Nobody is using it anymore, so let\u0027s\nremove it.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjames.l.morris@oracle.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "907ed1328d2a748f3d6028503d3e04c74ea62730",
      "tree": "e91582c2932917736319430f501ee5a9b9f4a0a7",
      "parents": [
        "fb96c475f6b27bd2c7f6fe0720e6972909a203ca"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 30 15:28:07 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:06 2013 -0700"
      },
      "message": "usermodehelper: split remaining calls to call_usermodehelper_fns()\n\nThese are the only users of call_usermodehelper_fns().  This function\nsuffers from not being able to determine if the cleanup is called.  Even\nif in this places the cleanup pointer is NULL, convert them to use the\nseparate call_usermodehelper_setup() + call_usermodehelper_exec()\nfunctions so we can remove the _fns variant.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjames.l.morris@oracle.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb96c475f6b27bd2c7f6fe0720e6972909a203ca",
      "tree": "e15a805bfe31945351e403df6861bac76ae5886c",
      "parents": [
        "93997f6ddb9d574cd58694f13c5b15212927bfa1"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 30 15:28:06 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:06 2013 -0700"
      },
      "message": "coredump: remove trailling whitespace\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjames.l.morris@oracle.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93997f6ddb9d574cd58694f13c5b15212927bfa1",
      "tree": "730d902f168df136dad8b7a2b0b438a2929311f3",
      "parents": [
        "f634460c90751da21745eec7a220edf76c7d0c76"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 30 15:28:05 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:06 2013 -0700"
      },
      "message": "KEYS: split call to call_usermodehelper_fns()\n\nUse call_usermodehelper_setup() + call_usermodehelper_exec() instead of\ncalling call_usermodehelper_fns().  In case there\u0027s an OOM in this last\nfunction the cleanup function may not be called - in this case we would\nmiss a call to key_put().\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjames.l.morris@oracle.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f634460c90751da21745eec7a220edf76c7d0c76",
      "tree": "1f6e389c735fa2fca650e5b15c1cc81c1125b34a",
      "parents": [
        "938e4b22e2a7d0f6f3962e601339347b2d8e09f5"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 30 15:28:03 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:06 2013 -0700"
      },
      "message": "kmod: split call to call_usermodehelper_fns()\n\nUse call_usermodehelper_setup() + call_usermodehelper_exec() instead of\ncalling call_usermodehelper_fns().  In case the latter returns -ENOMEM the\ncleanup function may had not been called - in this case we would not free\nargv and module_name.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjames.l.morris@oracle.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "938e4b22e2a7d0f6f3962e601339347b2d8e09f5",
      "tree": "1d66004074a1306c20ce7e40eefc2839736e2ea0",
      "parents": [
        "17afab1de42236ee2f6235f4383cc6f3f13f8a10"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 30 15:28:02 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:05 2013 -0700"
      },
      "message": "usermodehelper: export call_usermodehelper_exec() and call_usermodehelper_setup()\n\ncall_usermodehelper_setup() + call_usermodehelper_exec() need to be\ncalled instead of call_usermodehelper_fns() when the cleanup function\nneeds to be called even when an ENOMEM error occurs.  In this case using\ncall_usermodehelper_fns() the user can\u0027t distinguish if the cleanup\nfunction was called or not.\n\n[akpm@linux-foundation.org: export call_usermodehelper_setup() to modules]\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjames.l.morris@oracle.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "17afab1de42236ee2f6235f4383cc6f3f13f8a10",
      "tree": "c8f71b721668ecca27e9bb802ffc7a58935ed0ff",
      "parents": [
        "84c751bd4aebbaae995fe32279d3dba48327bad4"
      ],
      "author": {
        "name": "Andrey Vagin",
        "email": "avagin@openvz.org",
        "time": "Tue Apr 30 15:28:00 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:05 2013 -0700"
      },
      "message": "selftest: add a test case for PTRACE_PEEKSIGINFO\n\n* Dump signals from process-wide and per-thread queues with\n  different sizes of buffers.\n* Check error paths for buffers with restricted permissions. A part of\n  buffer or a whole buffer is for read-only.\n* Try to get nonexistent signal.\n\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: \"Michael Kerrisk (man-pages)\" \u003cmtk.manpages@gmail.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Pedro Alves \u003cpalves@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "84c751bd4aebbaae995fe32279d3dba48327bad4",
      "tree": "3ada98123a0a7e85e903e930eea5510f488d4c4d",
      "parents": [
        "865f38a3a3262d4a8a3d381a6899d2a6b7242244"
      ],
      "author": {
        "name": "Andrey Vagin",
        "email": "avagin@openvz.org",
        "time": "Tue Apr 30 15:27:59 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:05 2013 -0700"
      },
      "message": "ptrace: add ability to retrieve signals without removing from a queue (v4)\n\nThis patch adds a new ptrace request PTRACE_PEEKSIGINFO.\n\nThis request is used to retrieve information about pending signals\nstarting with the specified sequence number.  Siginfo_t structures are\ncopied from the child into the buffer starting at \"data\".\n\nThe argument \"addr\" is a pointer to struct ptrace_peeksiginfo_args.\nstruct ptrace_peeksiginfo_args {\n\tu64 off;\t/* from which siginfo to start */\n\tu32 flags;\n\ts32 nr;\t\t/* how may siginfos to take */\n};\n\n\"nr\" has type \"s32\", because ptrace() returns \"long\", which has 32 bits on\ni386 and a negative values is used for errors.\n\nCurrently here is only one flag PTRACE_PEEKSIGINFO_SHARED for dumping\nsignals from process-wide queue.  If this flag is not set, signals are\nread from a per-thread queue.\n\nThe request PTRACE_PEEKSIGINFO returns a number of dumped signals.  If a\nsignal with the specified sequence number doesn\u0027t exist, ptrace returns\nzero.  The request returns an error, if no signal has been dumped.\n\nErrors:\nEINVAL - one or more specified flags are not supported or nr is negative\nEFAULT - buf or addr is outside your accessible address space.\n\nA result siginfo contains a kernel part of si_code which usually striped,\nbut it\u0027s required for queuing the same siginfo back during restore of\npending signals.\n\nThis functionality is required for checkpointing pending signals.  Pedro\nAlves suggested using it in \"gdb\" to peek at pending signals.  gdb already\nuses PTRACE_GETSIGINFO to get the siginfo for the signal which was already\ndequeued.  This functionality allows gdb to look at the pending signals\nwhich were not reported yet.\n\nThe prototype of this code was developed by Oleg Nesterov.\n\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: \"Michael Kerrisk (man-pages)\" \u003cmtk.manpages@gmail.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Pedro Alves \u003cpalves@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "865f38a3a3262d4a8a3d381a6899d2a6b7242244",
      "tree": "24cf1b1ad0e986ac95455c107605a7c9afb67d23",
      "parents": [
        "d7a475d0c4a22ce12ae1d099b76327aa1637ce07"
      ],
      "author": {
        "name": "Vyacheslav Dubeyko",
        "email": "slava@dubeyko.com",
        "time": "Tue Apr 30 15:27:58 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:05 2013 -0700"
      },
      "message": "hfsplus: remove duplicated message prefix in hfsplus_block_free()\n\nSigned-off-by: Vyacheslav Dubeyko \u003cslava@dubeyko.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Hin-Tak Leung \u003chtl10@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7a475d0c4a22ce12ae1d099b76327aa1637ce07",
      "tree": "16aa5a76b5e0394643eae3928de4e6f71d66015f",
      "parents": [
        "d614267329f2bee7a082ed8781c581c0f3aaa808"
      ],
      "author": {
        "name": "Alexey Khoroshilov",
        "email": "khoroshilov@ispras.ru",
        "time": "Tue Apr 30 15:27:56 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:05 2013 -0700"
      },
      "message": "hfsplus: add error propagation to __hfsplus_ext_write_extent()\n\n__hfsplus_ext_write_extent() suppresses errors coming from\nhfs_brec_find().  The patch implements error code propagation.\n\nSigned-off-by: Alexey Khoroshilov \u003ckhoroshilov@ispras.ru\u003e\nReviewed-by: Vyacheslav Dubeyko \u003cslava@dubeyko.com\u003e\nCc: Hin-Tak Leung \u003chtl10@users.sourceforge.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d614267329f2bee7a082ed8781c581c0f3aaa808",
      "tree": "edade57808a2a2e327daf83991a31a76660b7a41",
      "parents": [
        "c2b3e1f76e5c90215bc7f740b376c0220eb8a8e3"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Apr 30 15:27:55 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:05 2013 -0700"
      },
      "message": "hfs/hfsplus: convert printks to pr_\u003clevel\u003e\n\nUse a more current logging style.\n\nAdd #define pr_fmt(fmt) KBUILD_MODNAME \": \" fmt\nhfsplus now uses \"hfsplus: \" for all messages.\nCoalesce formats.\nPrefix debugging messages too.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Vyacheslav Dubeyko \u003cslava@dubeyko.com\u003e\nCc: Hin-Tak Leung \u003chtl10@users.sourceforge.net\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c2b3e1f76e5c90215bc7f740b376c0220eb8a8e3",
      "tree": "4ffbb3029d06909e05621ebb96b66052640f3ff7",
      "parents": [
        "5f3726f9457d5a863721353786e3395cdbd0f943"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Apr 30 15:27:54 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:05 2013 -0700"
      },
      "message": "hfs/hfsplus: convert dprint to hfs_dbg\n\nUse a more current logging style.\n\nRename macro and uses.\nAdd do {} while (0) to macro.\nAdd DBG_ to macro.\nAdd and use hfs_dbg_cont variant where appropriate.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Vyacheslav Dubeyko \u003cslava@dubeyko.com\u003e\nCc: Hin-Tak Leung \u003chtl10@users.sourceforge.net\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f3726f9457d5a863721353786e3395cdbd0f943",
      "tree": "0be17a6738b983b51c44a762d44a25727fa7843b",
      "parents": [
        "9509f17851da294f8ecf0fc0bfe0fe609671352d"
      ],
      "author": {
        "name": "Vyacheslav Dubeyko",
        "email": "slava@dubeyko.com",
        "time": "Tue Apr 30 15:27:53 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:05 2013 -0700"
      },
      "message": "hfsplus: fix warnings in fs/hfsplus/bfind.c\n\nfs/hfsplus/bfind.c: In function \u0027hfs_find_1st_rec_by_cnid\u0027:\n(1) include/uapi/linux/swab.h:60:2: warning: \u0027search_cnid\u0027 may be used uninitialized in this function [-Wmaybe-uninitialized]\n(2) include/uapi/linux/swab.h:60:2: warning: \u0027cur_cnid\u0027 may be used uninitialized in this function [-Wmaybe-uninitialized]\n\n[akpm@linux-foundation.org: make the workaround more explicit]\nSigned-off-by: Vyacheslav Dubeyko \u003cslava@dubeyko.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9509f17851da294f8ecf0fc0bfe0fe609671352d",
      "tree": "f1cbc43a20bf1d4d81fb31d0dedf9ad4463bda60",
      "parents": [
        "eb53b6db7a53642b80b0ca4885cb91d5c7dbc0f8"
      ],
      "author": {
        "name": "Alexey Khoroshilov",
        "email": "khoroshilov@ispras.ru",
        "time": "Tue Apr 30 15:27:52 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:05 2013 -0700"
      },
      "message": "hfs: add error checking for hfs_find_init()\n\nhfs_find_init() may fail with ENOMEM, but there are places, where the\nreturned value is not checked.  The consequences can be very unpleasant,\ne.g.  kfree uninitialized pointer and inappropriate mutex unlocking.\n\nThe patch adds checks for errors in hfs_find_init().\n\nFound by Linux Driver Verification project (linuxtesting.org).\n\nSigned-off-by: Alexey Khoroshilov \u003ckhoroshilov@ispras.ru\u003e\nReviewed-by: Vyacheslav Dubeyko \u003cslava@dubeyko.com\u003e\nCc: Hin-Tak Leung \u003chtl10@users.sourceforge.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb53b6db7a53642b80b0ca4885cb91d5c7dbc0f8",
      "tree": "172238481b52168e21aab3fb41ba31226ff2b850",
      "parents": [
        "dc33f5f3c9988026aad5b788c761c8c1b363e919"
      ],
      "author": {
        "name": "Vyacheslav Dubeyko",
        "email": "slava@dubeyko.com",
        "time": "Tue Apr 30 15:27:51 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:05 2013 -0700"
      },
      "message": "nilfs2: remove unneeded test in nilfs_writepage()\n\npage-\u003emapping-\u003ehost cannot be NULL in nilfs_writepage(), so remove the\nunneeded test.\n\nThe fixes the smatch warning: \"fs/nilfs2/inode.c:211 nilfs_writepage()\nerror: we previously assumed \u0027inode\u0027 could be null (see line 195)\".\n\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Vyacheslav Dubeyko \u003cslava@dubeyko.com\u003e\nCc: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc33f5f3c9988026aad5b788c761c8c1b363e919",
      "tree": "1fc5e76473ad36e01938d530d5c3cb7bb47e1890",
      "parents": [
        "8c26c4e2694a163d525976e804d81cd955bbb40c"
      ],
      "author": {
        "name": "Vyacheslav Dubeyko",
        "email": "slava@dubeyko.com",
        "time": "Tue Apr 30 15:27:50 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:04 2013 -0700"
      },
      "message": "nilfs2: fix using of PageLocked() in nilfs_clear_dirty_page()\n\nChange test_bit(PG_locked, \u0026page-\u003eflags) to PageLocked().\n\nSigned-off-by: Vyacheslav Dubeyko \u003cslava@dubeyko.com\u003e\nCc: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c26c4e2694a163d525976e804d81cd955bbb40c",
      "tree": "e3205cc7bd1be43d93e10475e5b5bc9483d41e1d",
      "parents": [
        "9151b3982dafaa87bca3834c4d20db831ca98bcb"
      ],
      "author": {
        "name": "Vyacheslav Dubeyko",
        "email": "slava@dubeyko.com",
        "time": "Tue Apr 30 15:27:48 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:04 2013 -0700"
      },
      "message": "nilfs2: fix issue with flush kernel thread after remount in RO mode because of driver\u0027s internal error or metadata corruption\n\nThe NILFS2 driver remounts itself in RO mode in the case of discovering\nmetadata corruption (for example, discovering a broken bmap).  But\nusually, this takes place when there have been file system operations\nbefore remounting in RO mode.\n\nThereby, NILFS2 driver can be in RO mode with presence of dirty pages in\nmodified inodes\u0027 address spaces.  It results in flush kernel thread\u0027s\ninfinite trying to flush dirty pages in RO mode.  As a result, it is\npossible to see such side effects as: (1) flush kernel thread occupies\n50% - 99% of CPU time; (2) system can\u0027t be shutdowned without manual\npower switch off.\n\nSYMPTOMS:\n(1) System log contains error message: \"Remounting filesystem read-only\".\n(2) The flush kernel thread occupies 50% - 99% of CPU time.\n(3) The system can\u0027t be shutdowned without manual power switch off.\n\nREPRODUCTION PATH:\n(1) Create volume group with name \"unencrypted\" by means of vgcreate utility.\n(2) Run script (prepared by Anthony Doggett \u003cAnthony2486@interfaces.org.uk\u003e):\n\n  ----------------[BEGIN SCRIPT]--------------------\n  #!/bin/bash\n\n  VG\u003dunencrypted\n  #apt-get install nilfs-tools darcs\n  lvcreate --size 2G --name ntest $VG\n  mkfs.nilfs2 -b 1024 -B 8192 /dev/mapper/$VG-ntest\n  mkdir /var/tmp/n\n  mkdir /var/tmp/n/ntest\n  mount /dev/mapper/$VG-ntest /var/tmp/n/ntest\n  mkdir /var/tmp/n/ntest/thedir\n  cd /var/tmp/n/ntest/thedir\n  sleep 2\n  date\n  darcs init\n  sleep 2\n  dmesg|tail -n 5\n  date\n  darcs whatsnew || true\n  date\n  sleep 2\n  dmesg|tail -n 5\n  ----------------[END SCRIPT]--------------------\n\n(3) Try to shutdown the system.\n\nREPRODUCIBILITY: 100%\n\nFIX:\n\nThis patch implements checking mount state of NILFS2 driver in\nnilfs_writepage(), nilfs_writepages() and nilfs_mdt_write_page()\nmethods.  If it is detected the RO mount state then all dirty pages are\nsimply discarded with warning messages is written in system log.\n\n[akpm@linux-foundation.org: fix printk warning]\nSigned-off-by: Vyacheslav Dubeyko \u003cslava@dubeyko.com\u003e\nAcked-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nCc: Anthony Doggett \u003cAnthony2486@interfaces.org.uk\u003e\nCc: ARAI Shun-ichi \u003chermes@ceres.dti.ne.jp\u003e\nCc: Piotr Szymaniak \u003cszarpaj@grubelek.pl\u003e\nCc: Zahid Chowdhury \u003czahid.chowdhury@starsolutions.com\u003e\nCc: Elmer Zhang \u003cfreeboy6716@gmail.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9151b3982dafaa87bca3834c4d20db831ca98bcb",
      "tree": "badf7c6879d8dc28de2c7e7b05f01e9fcb9ed6c0",
      "parents": [
        "79bae42d51a5d498500c890c19ef76df41d2bf59"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue Apr 30 15:27:47 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:04 2013 -0700"
      },
      "message": "i2o: check copy_from_user() size parameter\n\nLimit the size of the copy so we don\u0027t corrupt memory.  Hopefully this\ncan only be called by root, but fixing this makes the static checkers\nhappier.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Masanari Iida \u003cstandby24x7@gmail.com\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Guenter Roeck \u003clinux@roeck-us.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79bae42d51a5d498500c890c19ef76df41d2bf59",
      "tree": "cf36c042e863100e2bc30a2ff8b4f3510bf7367d",
      "parents": [
        "c1d025e22e0ef167a4589cf5a6b2a32bfef0472c"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Tue Apr 30 15:27:46 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:04 2013 -0700"
      },
      "message": "dmi_scan: refactor dmi_scan_machine(), {smbios,dmi}_present()\n\nMove the calls to memcpy_fromio() up into the loop in\ndmi_scan_machine(), and move the signature checks back down into\ndmi_decode().  We need to check at 16-byte intervals but keep a 32-byte\nbuffer for an SMBIOS entry, so shift the buffer after each iteration.\n\nMerge smbios_present() into dmi_present(), so we look for an SMBIOS\nsignature at the beginning of the given buffer and then for a DMI\nsignature at an offset of 16 bytes.\n\n[artem.savkov@gmail.com: use proper buf type in dmi_present()]\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nReported-by: Tim McGrath \u003ctmhikaru@gmail.com\u003e\nTested-by: Tim Mcgrath \u003ctmhikaru@gmail.com\u003e\nCc: Zhenzhong Duan \u003czhenzhong.duan@oracle.com\u003e\nSigned-off-by: Artem Savkov \u003cartem.savkov@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1d025e22e0ef167a4589cf5a6b2a32bfef0472c",
      "tree": "1f1f2d4ef18082854a0b5e21cdac998d15a276a3",
      "parents": [
        "2535e0d723e4d7723b030f39fb350e436bdb983f"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 30 15:27:45 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:04 2013 -0700"
      },
      "message": "binfmt_elf: PIE: make PF_RANDOMIZE check comment more accurate\n\nThe comment I originally added in commit a3defbe5c337 (\"binfmt_elf: fix\nPIE execution with randomization disabled\") is not really 100% accurate\n-- sysctl is not the only way how PF_RANDOMIZE could be forcibly unset\nin runtime.\n\nAnother option of course is direct modification of personality flags\n(i.e.  running through setarch wrapper).\n\nMake the comment more explicit and accurate.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2535e0d723e4d7723b030f39fb350e436bdb983f",
      "tree": "579bc5baff75dac032bf0819176805a47fd83193",
      "parents": [
        "d6d67e7231c97d535069970c840d33fc6c4350ee"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Tue Apr 30 15:27:44 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:04 2013 -0700"
      },
      "message": "fs: make binfmt support for #! scripts modular and removable\n\nAdd a new configuration option CONFIG_BINFMT_SCRIPT to configure support\nfor interpreted scripts starting with \"#!\"; allow compiling out that\nsupport, or building it as a module.  Embedded systems running exclusively\ncompiled binaries could leave this support out, and systems that don\u0027t\nneed scripts before mounting the root filesystem can build this as a\nmodule.\n\nSigned-off-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nCc: Al 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\n"
    },
    {
      "commit": "d6d67e7231c97d535069970c840d33fc6c4350ee",
      "tree": "c6aee26b6c54d52a8b60370674b9d2025f7f1229",
      "parents": [
        "450d89ec0a91dbad81adaa635fdb1325b57f8d69"
      ],
      "author": {
        "name": "Eric Wong",
        "email": "normalperson@yhbt.net",
        "time": "Tue Apr 30 15:27:43 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:04 2013 -0700"
      },
      "message": "epoll: cleanup: use RCU_INIT_POINTER when nulling\n\nIt is always safe to use RCU_INIT_POINTER to NULL a pointer.  This results\nin slightly smaller/faster code.\n\nSigned-off-by: Eric Wong \u003cnormalperson@yhbt.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "450d89ec0a91dbad81adaa635fdb1325b57f8d69",
      "tree": "939059552c8bb7dd83e12937e355d1548880195b",
      "parents": [
        "ddf676c38b56a8641c8eb9fb856fa304018ff390"
      ],
      "author": {
        "name": "Eric Wong",
        "email": "normalperson@yhbt.net",
        "time": "Tue Apr 30 15:27:42 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:04 2013 -0700"
      },
      "message": "epoll: cleanup: hoist out f_op-\u003epoll calls\n\nThis reduces the amount of code inside the ready list iteration loops for\nbetter readability IMHO.\n\nSigned-off-by: Eric Wong \u003cnormalperson@yhbt.net\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Al 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\n"
    },
    {
      "commit": "ddf676c38b56a8641c8eb9fb856fa304018ff390",
      "tree": "1c4aed96cc3f07c2f740929811156e16126f04f6",
      "parents": [
        "eea1d585917c538d90bc26fda5d8e53796feada2"
      ],
      "author": {
        "name": "Eric Wong",
        "email": "normalperson@yhbt.net",
        "time": "Tue Apr 30 15:27:40 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:04 2013 -0700"
      },
      "message": "epoll: lock ep-\u003emtx in ep_free to silence lockdep\n\nTechnically we do not need to hold ep-\u003emtx during ep_free since we are\ncertain there are no other users of ep at that point.  However, lockdep\ncomplains with a \"suspicious rcu_dereference_check() usage!\" message; so\nlock the mutex before ep_remove to silence the warning.\n\nSigned-off-by: Eric Wong \u003cnormalperson@yhbt.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Arve Hjønnevåg \u003carve@android.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: NeilBrown \u003cneilb@suse.de\u003e,\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eea1d585917c538d90bc26fda5d8e53796feada2",
      "tree": "2a0d05e84a0b036b6174b27d6359f11e89f56b46",
      "parents": [
        "39732ca5af4b09f4db561149041ddad7211019a5"
      ],
      "author": {
        "name": "Eric Wong",
        "email": "normalperson@yhbt.net",
        "time": "Tue Apr 30 15:27:39 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:04 2013 -0700"
      },
      "message": "epoll: use RCU to protect wakeup_source in epitem\n\nThis prevents wakeup_source destruction when a user hits the item with\nEPOLL_CTL_MOD while ep_poll_callback is running.\n\nTested with CONFIG_SPARSE_RCU_POINTER\u003dy and \"make fs/eventpoll.o C\u003d2\"\n\nSigned-off-by: Eric Wong \u003cnormalperson@yhbt.net\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Arve Hjønnevåg \u003carve@android.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: NeilBrown \u003cneilb@suse.de\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39732ca5af4b09f4db561149041ddad7211019a5",
      "tree": "654d9dc83e3884358e02dd7d765a22423334840d",
      "parents": [
        "4a22f16636259f503847b0805e04824171b270fc"
      ],
      "author": {
        "name": "Eric Wong",
        "email": "normalperson@yhbt.net",
        "time": "Tue Apr 30 15:27:38 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:04 2013 -0700"
      },
      "message": "epoll: trim epitem by one cache line\n\nIt is common for epoll users to have thousands of epitems, so saving a\ncache line on every allocation leads to large memory savings.\n\nSince epitem allocations are cache-aligned, reducing sizeof(struct\nepitem) from 136 bytes to 128 bytes will allow it to squeeze under a\ncache line boundary on x86_64.\n\nVia /sys/kernel/slab/eventpoll_epi, I see the following changes on my\nx86_64 Core2 Duo (which has 64-byte cache alignment):\n\n\tobject_size  :  192 \u003d\u003e 128\n\tobjs_per_slab:   21 \u003d\u003e  32\n\nAlso, add a BUILD_BUG_ON() to check for future accidental breakage.\n\n[akpm@linux-foundation.org: use __packed, for all architectures]\nSigned-off-by: Eric Wong \u003cnormalperson@yhbt.net\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Al 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\n"
    },
    {
      "commit": "4a22f16636259f503847b0805e04824171b270fc",
      "tree": "764c9b6239416c1b032dd10398b372d84eba8cb8",
      "parents": [
        "1043f65a573b65a5398925551583ea72092e1be2"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Apr 30 15:27:37 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "kernel/timer.c: move some non timer related syscalls to kernel/sys.c\n\nAndrew Morton noted:\n\n\takpm3:/usr/src/25\u003e grep SYSCALL kernel/timer.c\n\tSYSCALL_DEFINE1(alarm, unsigned int, seconds)\n\tSYSCALL_DEFINE0(getpid)\n\tSYSCALL_DEFINE0(getppid)\n\tSYSCALL_DEFINE0(getuid)\n\tSYSCALL_DEFINE0(geteuid)\n\tSYSCALL_DEFINE0(getgid)\n\tSYSCALL_DEFINE0(getegid)\n\tSYSCALL_DEFINE0(gettid)\n\tSYSCALL_DEFINE1(sysinfo, struct sysinfo __user *, info)\n\tCOMPAT_SYSCALL_DEFINE1(sysinfo, struct compat_sysinfo __user *, info)\n\n\tOnly one of those should be in kernel/timer.c.  Who wrote this thing?\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Guenter Roeck \u003clinux@roeck-us.net\u003e\nCc: Al 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\n"
    },
    {
      "commit": "1043f65a573b65a5398925551583ea72092e1be2",
      "tree": "3926a889945a790685cbb27f2302e36df52f46b8",
      "parents": [
        "1a0df59444972105f0d4c2b0c16ce414d70c420a"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Apr 30 15:27:35 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "kernel/timer.c: convert compat_sys_sysinfo to COMPAT_SYSCALL_DEFINE\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Guenter Roeck \u003clinux@roeck-us.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a0df59444972105f0d4c2b0c16ce414d70c420a",
      "tree": "39403c6890f792b0a4af7218884d375ec7b975ed",
      "parents": [
        "8d82e180b51f8ecca9ae9d6a3e7f01d50ea34c20"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Apr 30 15:27:34 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "kernel/compat.c: make do_sysinfo() static\n\nThe only use outside of kernel/timer.c was in kernel/compat.c, so move\ncompat_sys_sysinfo() next to sys_sysinfo() in kernel/timer.c.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Guenter Roeck \u003clinux@roeck-us.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d82e180b51f8ecca9ae9d6a3e7f01d50ea34c20",
      "tree": "2aee6ab908aa656019327f277716dcd6f9995db5",
      "parents": [
        "d338b1379f96b20e63aa65082e19e9a18a93b608"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Tue Apr 30 15:27:33 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "binfmt_misc: reuse string_unescape_inplace()\n\nThere is string_unescape_inplace() function which decodes strings in generic\nway. Let\u0027s use it.\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: linux-fsdevel@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d338b1379f96b20e63aa65082e19e9a18a93b608",
      "tree": "fce537cd0f14c8664de42be3cc7f6465adf15b79",
      "parents": [
        "576d742e4a0d0f1bab7950012addccb82fbc172a"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Tue Apr 30 15:27:32 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "dynamic_debug: reuse generic string_unescape function\n\nThere is kernel function to do the job in generic way. Let\u0027s use it.\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "576d742e4a0d0f1bab7950012addccb82fbc172a",
      "tree": "83311a3aee32e8d250b225726382f69209fb19ca",
      "parents": [
        "16c7fa05829e8b91db48e3539c5d6ff3c2b18a23"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Tue Apr 30 15:27:31 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "staging: speakup: remove custom string_unescape_any_inplace\n\nThere is generic implementation of the function to unescape strings.\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nCc: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: William Hubbs \u003cw.d.hubbs@gmail.com\u003e\nCc: Chris Brannon \u003cchris@the-brannons.com\u003e\nCc: Kirk Reiser \u003ckirk@braille.uwo.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "16c7fa05829e8b91db48e3539c5d6ff3c2b18a23",
      "tree": "6658e9f27c033e5f6de19284fe9a6b8485360aa6",
      "parents": [
        "e1d12f327037a59e06c66520951ab4e0bd29f9c4"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Tue Apr 30 15:27:30 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "lib/string_helpers: introduce generic string_unescape\n\nThere are several places in kernel where modules unescapes input to convert\nC-Style Escape Sequences into byte codes.\n\nThe patch provides generic implementation of such approach. Test cases are\nalso included into the patch.\n\n[akpm@linux-foundation.org: clarify comment]\n[akpm@linux-foundation.org: export get_random_int() to modules]\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nCc: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: William Hubbs \u003cw.d.hubbs@gmail.com\u003e\nCc: Chris Brannon \u003cchris@the-brannons.com\u003e\nCc: Kirk Reiser \u003ckirk@braille.uwo.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1d12f327037a59e06c66520951ab4e0bd29f9c4",
      "tree": "551fc711bf5ad115e5f239825bc00ba9632ec0f9",
      "parents": [
        "74e3d1e17b2e11d175970b85acd44f5927000ba2"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Apr 30 15:27:28 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "kernel/smp.c: cleanups\n\nWe sometimes use \"struct call_single_data *data\" and sometimes \"struct\ncall_single_data *csd\".  Use \"csd\" consistently.\n\nWe sometimes use \"struct call_function_data *data\" and sometimes \"struct\ncall_function_data *cfd\".  Use \"cfd\" consistently.\n\nAlso, avoid some 80-col layout tricks.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Shaohua Li \u003cshli@fusionio.com\u003e\nCc: Shaohua Li \u003cshli@kernel.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74e3d1e17b2e11d175970b85acd44f5927000ba2",
      "tree": "1adaccdd30702c8c151dfb97b13aaf241e092849",
      "parents": [
        "3440a1ca99707f093e9568ba9762764d3162dd8f"
      ],
      "author": {
        "name": "Fan Du",
        "email": "fan.du@windriver.com",
        "time": "Tue Apr 30 15:27:27 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "include/linux/fs.h: disable preempt when acquire i_size_seqcount write lock\n\nTwo rt tasks bind to one CPU core.\n\nThe higher priority rt task A preempts a lower priority rt task B which\nhas already taken the write seq lock, and then the higher priority rt\ntask A try to acquire read seq lock, it\u0027s doomed to lockup.\n\nrt task A with lower priority: call write\ni_size_write                                        rt task B with higher priority: call sync, and preempt task A\n  write_seqcount_begin(\u0026inode-\u003ei_size_seqcount);    i_size_read\n  inode-\u003ei_size \u003d i_size;                             read_seqcount_begin \u003c-- lockup here...\n\nSo disable preempt when acquiring every i_size_seqcount *write* lock will\ncure the problem.\n\nSigned-off-by: Fan Du \u003cfan.du@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3440a1ca99707f093e9568ba9762764d3162dd8f",
      "tree": "af5508d1bd5ff76eb22830a1abea77f0a76639a5",
      "parents": [
        "1def1dc91715acdb6dddfaed1a44149d42d8063c"
      ],
      "author": {
        "name": "liguang",
        "email": "lig.fnst@cn.fujitsu.com",
        "time": "Tue Apr 30 15:27:26 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "kernel/smp.c: remove \u0027priv\u0027 of call_single_data\n\nThe \u0027priv\u0027 field is redundant; we can pass data via \u0027info\u0027.\n\nSigned-off-by: liguang \u003clig.fnst@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1def1dc91715acdb6dddfaed1a44149d42d8063c",
      "tree": "34bbf0888cf4fbf32fe37e2851f44c0304c5a241",
      "parents": [
        "ef3b101925f2170c2b8cd2e126b37492ae02f77c"
      ],
      "author": {
        "name": "liguang",
        "email": "lig.fnst@cn.fujitsu.com",
        "time": "Tue Apr 30 15:27:25 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:02 2013 -0700"
      },
      "message": "kernel/smp.c: use \u0027|\u003d\u0027 for csd_lock\n\ncsd_lock() uses assignment to data-\u003eflags rather than |\u003d.  That is not\nbuggy at present because only one bit (CSD_FLAG_LOCK) is defined in\ncall_single_data.flags.\n\nBut it will become buggy if we later add another flag, so fix it now.\n\nSigned-off-by: liguang \u003clig.fnst@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef3b101925f2170c2b8cd2e126b37492ae02f77c",
      "tree": "aca0ee1ca4866713c75c9b0ecb19598f41c22969",
      "parents": [
        "3d1cb2059d9374e58da481b783332cf191cb6620"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 30 15:27:24 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:02 2013 -0700"
      },
      "message": "writeback: set worker desc to identify writeback workers in task dumps\n\nWriteback has been recently converted to use workqueue instead of its\nprivate thread pool implementation.  One negative side effect of this\nconversion is that there\u0027s no easy to tell which backing device a\nwriteback work item was working on at the time of task dump, be it\nsysrq-t, BUG, WARN or whatever, which, according to our writeback\nbrethren, is important in tracking down issues with a lot of mounted\nfile systems on a lot of different devices.\n\nThis patch restores that information using the new worker description\nfacility.  bdi_writeback_workfn() calls set_work_desc() to identify\nwhich bdi it\u0027s working on.  The description is printed out together with\nthe worqueue name and worker function as in the following example dump.\n\n WARNING: at fs/fs-writeback.c:1015 bdi_writeback_workfn+0x2b4/0x3c0()\n Modules linked in:\n Pid: 28, comm: kworker/u18:0 Not tainted 3.9.0-rc1-work+ #24 empty empty/S3992\n Workqueue: writeback bdi_writeback_workfn (flush-8:16)\n  ffffffff820a3a98 ffff88015b927cb8 ffffffff81c61855 ffff88015b927cf8\n  ffffffff8108f500 0000000000000000 ffff88007a171948 ffff88007a1716b0\n  ffff88015b49df00 ffff88015b8d3940 0000000000000000 ffff88015b927d08\n Call Trace:\n  [\u003cffffffff81c61855\u003e] dump_stack+0x19/0x1b\n  [\u003cffffffff8108f500\u003e] warn_slowpath_common+0x70/0xa0\n  [\u003cffffffff8108f54a\u003e] warn_slowpath_null+0x1a/0x20\n  [\u003cffffffff81200144\u003e] bdi_writeback_workfn+0x2b4/0x3c0\n  [\u003cffffffff810b4c87\u003e] process_one_work+0x1d7/0x660\n  [\u003cffffffff810b5c72\u003e] worker_thread+0x122/0x380\n  [\u003cffffffff810bdfea\u003e] kthread+0xea/0xf0\n  [\u003cffffffff81c6cedc\u003e] ret_from_fork+0x7c/0xb0\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d1cb2059d9374e58da481b783332cf191cb6620",
      "tree": "b62afd1038ecabde21df35da3fbcc5e585b9516e",
      "parents": [
        "cd42d559e45e3563c74403e453f8954b593db69d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 30 15:27:22 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:02 2013 -0700"
      },
      "message": "workqueue: include workqueue info when printing debug dump of a worker task\n\nOne of the problems that arise when converting dedicated custom\nthreadpool to workqueue is that the shared worker pool used by workqueue\nanonimizes each worker making it more difficult to identify what the\nworker was doing on which target from the output of sysrq-t or debug\ndump from oops, BUG() and friends.\n\nThis patch implements set_worker_desc() which can be called from any\nworkqueue work function to set its description.  When the worker task is\ndumped for whatever reason - sysrq-t, WARN, BUG, oops, lockdep assertion\nand so on - the description will be printed out together with the\nworkqueue name and the worker function pointer.\n\nThe printing side is implemented by print_worker_info() which is called\nfrom functions in task dump paths - sched_show_task() and\ndump_stack_print_info().  print_worker_info() can be safely called on\nany task in any state as long as the task struct itself is accessible.\nIt uses probe_*() functions to access worker fields.  It may print\ngarbage if something went very wrong, but it wouldn\u0027t cause (another)\noops.\n\nThe description is currently limited to 24bytes including the\nterminating \\0.  worker-\u003edesc_valid and workder-\u003edesc[] are added and\nthe 64 bytes marker which was already incorrect before adding the new\nfields is moved to the correct position.\n\nHere\u0027s an example dump with writeback updated to set the bdi name as\nworker desc.\n\n Hardware name: Bochs\n Modules linked in:\n Pid: 7, comm: kworker/u9:0 Not tainted 3.9.0-rc1-work+ #1\n Workqueue: writeback bdi_writeback_workfn (flush-8:0)\n  ffffffff820a3ab0 ffff88000f6e9cb8 ffffffff81c61845 ffff88000f6e9cf8\n  ffffffff8108f50f 0000000000000000 0000000000000000 ffff88000cde16b0\n  ffff88000cde1aa8 ffff88001ee19240 ffff88000f6e9fd8 ffff88000f6e9d08\n Call Trace:\n  [\u003cffffffff81c61845\u003e] dump_stack+0x19/0x1b\n  [\u003cffffffff8108f50f\u003e] warn_slowpath_common+0x7f/0xc0\n  [\u003cffffffff8108f56a\u003e] warn_slowpath_null+0x1a/0x20\n  [\u003cffffffff81200150\u003e] bdi_writeback_workfn+0x2a0/0x3b0\n ...\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd42d559e45e3563c74403e453f8954b593db69d",
      "tree": "99a39e02bd0428eaa52ebace5233de56d6441bae",
      "parents": [
        "681a90ffe829b8ee25d5266d7e69af256c090940"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 30 15:27:21 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:02 2013 -0700"
      },
      "message": "kthread: implement probe_kthread_data()\n\nOne of the problems that arise when converting dedicated custom threadpool\nto workqueue is that the shared worker pool used by workqueue anonimizes\neach worker making it more difficult to identify what the worker was doing\non which target from the output of sysrq-t or debug dump from oops, BUG()\nand friends.\n\nFor example, after writeback is converted to use workqueue instead of\npriviate thread pool, there\u0027s no easy to tell which backing device a\nwriteback work item was working on at the time of task dump, which,\naccording to our writeback brethren, is important in tracking down issues\nwith a lot of mounted file systems on a lot of different devices.\n\nThis patchset implements a way for a work function to mark its execution\ninstance so that task dump of the worker task includes information to\nindicate what the work item was doing.\n\nAn example WARN dump would look like the following.\n\n WARNING: at fs/fs-writeback.c:1015 bdi_writeback_workfn+0x2b4/0x3c0()\n Modules linked in:\n CPU: 0 Pid: 28 Comm: kworker/u18:0 Not tainted 3.9.0-rc1-work+ #24\n Hardware name: empty empty/S3992, BIOS 080011  10/26/2007\n Workqueue: writeback bdi_writeback_workfn (flush-8:16)\n  ffffffff820a3a98 ffff88015b927cb8 ffffffff81c61855 ffff88015b927cf8\n  ffffffff8108f500 0000000000000000 ffff88007a171948 ffff88007a1716b0\n  ffff88015b49df00 ffff88015b8d3940 0000000000000000 ffff88015b927d08\n Call Trace:\n  [\u003cffffffff81c61855\u003e] dump_stack+0x19/0x1b\n  [\u003cffffffff8108f500\u003e] warn_slowpath_common+0x70/0xa0\n  ...\n\nThis patch:\n\nImplement probe_kthread_data() which returns kthread_data if accessible.\nThe function is equivalent to kthread_data() except that the specified\n@task may not be a kthread or its vfork_done is already cleared rendering\nstruct kthread inaccessible.  In the former case, probe_kthread_data() may\nreturn any value.  In the latter, NULL.\n\nThis will be used to safely print debug information without affecting\nsynchronization in the normal paths.  Workqueue debug info printing on\ndump_stack() and friends will make use of it.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "681a90ffe829b8ee25d5266d7e69af256c090940",
      "tree": "d134b561ac610ed54856dd42207011d474235b30",
      "parents": [
        "a43cb95d547a061ed5bf1acb28e0f5fd575e26c1"
      ],
      "author": {
        "name": "Vineet Gupta",
        "email": "vgupta@synopsys.com",
        "time": "Tue Apr 30 15:27:19 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:02 2013 -0700"
      },
      "message": "arc, print-fatal-signals: reduce duplicated information\n\nAfter the recent generic debug info on dump_stack() and friends, arc\nis printing duplicate information on debug dumps.\n\n [ARCLinux]$ ./crash\n crash/50: potentially unexpected fatal signal 11.\t\u003c-- [1]\n /sbin/crash, TGID 50\t\t\t\t\t\u003c-- [2]\n Pid: 50, comm: crash Not tainted 3.9.0-rc4+ #132 \t\u003c-- [3]\n ...\n\nRemove them.\n\n[tj@kernel.org: updated patch desc]\nSigned-off-by: Vineet Gupta \u003cvgupta@synopsys.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a43cb95d547a061ed5bf1acb28e0f5fd575e26c1",
      "tree": "69bcede26748d00907f6019dee446f538c64dbd2",
      "parents": [
        "98e5e1bf722c4f976a860aed06dd365a56a34ee0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 30 15:27:17 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:02 2013 -0700"
      },
      "message": "dump_stack: unify debug information printed by show_regs()\n\nshow_regs() is inherently arch-dependent but it does make sense to print\ngeneric debug information and some archs already do albeit in slightly\ndifferent forms.  This patch introduces a generic function to print debug\ninformation from show_regs() so that different archs print out the same\ninformation and it\u0027s much easier to modify what\u0027s printed.\n\nshow_regs_print_info() prints out the same debug info as dump_stack()\ndoes plus task and thread_info pointers.\n\n* Archs which didn\u0027t print debug info now do.\n\n  alpha, arc, blackfin, c6x, cris, frv, h8300, hexagon, ia64, m32r,\n  metag, microblaze, mn10300, openrisc, parisc, score, sh64, sparc,\n  um, xtensa\n\n* Already prints debug info.  Replaced with show_regs_print_info().\n  The printed information is superset of what used to be there.\n\n  arm, arm64, avr32, mips, powerpc, sh32, tile, unicore32, x86\n\n* s390 is special in that it used to print arch-specific information\n  along with generic debug info.  Heiko and Martin think that the\n  arch-specific extra isn\u0027t worth keeping s390 specfic implementation.\n  Converted to use the generic version.\n\nNote that now all archs print the debug info before actual register\ndumps.\n\nAn example BUG() dump follows.\n\n kernel BUG at /work/os/work/kernel/workqueue.c:4841!\n invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC\n Modules linked in:\n CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.9.0-rc1-work+ #7\n Hardware name: empty empty/S3992, BIOS 080011  10/26/2007\n task: ffff88007c85e040 ti: ffff88007c860000 task.ti: ffff88007c860000\n RIP: 0010:[\u003cffffffff8234a07e\u003e]  [\u003cffffffff8234a07e\u003e] init_workqueues+0x4/0x6\n RSP: 0000:ffff88007c861ec8  EFLAGS: 00010246\n RAX: ffff88007c861fd8 RBX: ffffffff824466a8 RCX: 0000000000000001\n RDX: 0000000000000046 RSI: 0000000000000001 RDI: ffffffff8234a07a\n RBP: ffff88007c861ec8 R08: 0000000000000000 R09: 0000000000000000\n R10: 0000000000000001 R11: 0000000000000000 R12: ffffffff8234a07a\n R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000\n FS:  0000000000000000(0000) GS:ffff88007dc00000(0000) knlGS:0000000000000000\n CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n CR2: ffff88015f7ff000 CR3: 00000000021f1000 CR4: 00000000000007f0\n DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n Stack:\n  ffff88007c861ef8 ffffffff81000312 ffffffff824466a8 ffff88007c85e650\n  0000000000000003 0000000000000000 ffff88007c861f38 ffffffff82335e5d\n  ffff88007c862080 ffffffff8223d8c0 ffff88007c862080 ffffffff81c47760\n Call Trace:\n  [\u003cffffffff81000312\u003e] do_one_initcall+0x122/0x170\n  [\u003cffffffff82335e5d\u003e] kernel_init_freeable+0x9b/0x1c8\n  [\u003cffffffff81c47760\u003e] ? rest_init+0x140/0x140\n  [\u003cffffffff81c4776e\u003e] kernel_init+0xe/0xf0\n  [\u003cffffffff81c6be9c\u003e] ret_from_fork+0x7c/0xb0\n  [\u003cffffffff81c47760\u003e] ? rest_init+0x140/0x140\n  ...\n\nv2: Typo fix in x86-32.\n\nv3: CPU number dropped from show_regs_print_info() as\n    dump_stack_print_info() has been updated to print it.  s390\n    specific implementation dropped as requested by s390 maintainers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Vineet Gupta \u003cvgupta@synopsys.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\t\t[tile bits]\nAcked-by: Richard Kuo \u003crkuo@codeaurora.org\u003e\t\t[hexagon bits]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "98e5e1bf722c4f976a860aed06dd365a56a34ee0",
      "tree": "0988172e9944009ce481fae24fb42732cb873df8",
      "parents": [
        "c90fe6bc0343f7c26b30c9f503b1d061636ac8ee"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 30 15:27:15 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:02 2013 -0700"
      },
      "message": "dump_stack: implement arch-specific hardware description in task dumps\n\nx86 and ia64 can acquire extra hardware identification information\nfrom DMI and print it along with task dumps; however, the usage isn\u0027t\nconsistent.\n\n* x86 show_regs() collects vendor, product and board strings and print\n  them out with PID, comm and utsname.  Some of the information is\n  printed again later in the same dump.\n\n* warn_slowpath_common() explicitly accesses the DMI board and prints\n  it out with \"Hardware name:\" label.  This applies to both x86 and\n  ia64 but is irrelevant on all other archs.\n\n* ia64 doesn\u0027t show DMI information on other non-WARN dumps.\n\nThis patch introduces arch-specific hardware description used by\ndump_stack().  It can be set by calling dump_stack_set_arch_desc()\nduring boot and, if exists, printed out in a separate line with\n\"Hardware name:\" label.\n\ndmi_set_dump_stack_arch_desc() is added which sets arch-specific\ndescription from DMI data.  It uses dmi_ids_string[] which is set from\ndmi_present() used for DMI debug message.  It is superset of the\ninformation x86 show_regs() is using.  The function is called from x86\nand ia64 boot code right after dmi_scan_machine().\n\nThis makes the explicit DMI handling in warn_slowpath_common()\nunnecessary.  Removed.\n\nshow_regs() isn\u0027t yet converted to use generic debug information\nprinting and this patch doesn\u0027t remove the duplicate DMI handling in\nx86 show_regs().  The next patch will unify show_regs() handling and\nremove the duplication.\n\nAn example WARN dump follows.\n\n WARNING: at kernel/workqueue.c:4841 init_workqueues+0x35/0x505()\n Modules linked in:\n CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.9.0-rc1-work+ #3\n Hardware name: empty empty/S3992, BIOS 080011  10/26/2007\n  0000000000000009 ffff88007c861e08 ffffffff81c614dc ffff88007c861e48\n  ffffffff8108f500 ffffffff82228240 0000000000000040 ffffffff8234a08e\n  0000000000000000 0000000000000000 0000000000000000 ffff88007c861e58\n Call Trace:\n  [\u003cffffffff81c614dc\u003e] dump_stack+0x19/0x1b\n  [\u003cffffffff8108f500\u003e] warn_slowpath_common+0x70/0xa0\n  [\u003cffffffff8108f54a\u003e] warn_slowpath_null+0x1a/0x20\n  [\u003cffffffff8234a0c3\u003e] init_workqueues+0x35/0x505\n  ...\n\nv2: Use the same string as the debug message from dmi_present() which\n    also contains BIOS information.  Move hardware name into its own\n    line as warn_slowpath_common() did.  This change was suggested by\n    Bjorn Helgaas.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Vineet Gupta \u003cvgupta@synopsys.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c90fe6bc0343f7c26b30c9f503b1d061636ac8ee",
      "tree": "185d629958e4c256e8bd16be2f1a8654a4fa6697",
      "parents": [
        "196779b9b4ce1922afabdc20d0270720603bd46c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 30 15:27:14 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:02 2013 -0700"
      },
      "message": "dmi: morph dmi_dump_ids() into dmi_format_ids() which formats into a buffer\n\nWe\u0027re goning to use DMI identification for other purposes too.  Morph\ndmi_dump_ids() which is used to print DMI identification as a debug\nmessage during boot into dmi_format_ids() which formats the same\ninformation sans the leading \"DMI:\" tag into a string buffer.\n\ndmi_present() is updated to format the information into dmi_ids_string[]\nusing the new function and print it with \"DMI:\" prefix.\n\ndmi_ids_string[] will be used for another purpose by a future patch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Vineet Gupta \u003cvgupta@synopsys.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "196779b9b4ce1922afabdc20d0270720603bd46c",
      "tree": "9628ad58fef85b4cc060f434e01fe50a8e0e333c",
      "parents": [
        "89e3f23da9c827bfa9806c3d4da83a12c1c8543a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 30 15:27:12 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:02 2013 -0700"
      },
      "message": "dump_stack: consolidate dump_stack() implementations and unify their behaviors\n\nBoth dump_stack() and show_stack() are currently implemented by each\narchitecture.  show_stack(NULL, NULL) dumps the backtrace for the\ncurrent task as does dump_stack().  On some archs, dump_stack() prints\nextra information - pid, utsname and so on - in addition to the\nbacktrace while the two are identical on other archs.\n\nThe usages in arch-independent code of the two functions indicate\nshow_stack(NULL, NULL) should print out bare backtrace while\ndump_stack() is used for debugging purposes when something went wrong,\nso it does make sense to print additional information on the task which\ntriggered dump_stack().\n\nThere\u0027s no reason to require archs to implement two separate but mostly\nidentical functions.  It leads to unnecessary subtle information.\n\nThis patch expands the dummy fallback dump_stack() implementation in\nlib/dump_stack.c such that it prints out debug information (taken from\nx86) and invokes show_stack(NULL, NULL) and drops arch-specific\ndump_stack() implementations in all archs except blackfin.  Blackfin\u0027s\ndump_stack() does something wonky that I don\u0027t understand.\n\nDebug information can be printed separately by calling\ndump_stack_print_info() so that arch-specific dump_stack()\nimplementation can still emit the same debug information.  This is used\nin blackfin.\n\nThis patch brings the following behavior changes.\n\n* On some archs, an extra level in backtrace for show_stack() could be\n  printed.  This is because the top frame was determined in\n  dump_stack() on those archs while generic dump_stack() can\u0027t do that\n  reliably.  It can be compensated by inlining dump_stack() but not\n  sure whether that\u0027d be necessary.\n\n* Most archs didn\u0027t use to print debug info on dump_stack().  They do\n  now.\n\nAn example WARN dump follows.\n\n WARNING: at kernel/workqueue.c:4841 init_workqueues+0x35/0x505()\n Hardware name: empty\n Modules linked in:\n CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.9.0-rc1-work+ #9\n  0000000000000009 ffff88007c861e08 ffffffff81c614dc ffff88007c861e48\n  ffffffff8108f50f ffffffff82228240 0000000000000040 ffffffff8234a03c\n  0000000000000000 0000000000000000 0000000000000000 ffff88007c861e58\n Call Trace:\n  [\u003cffffffff81c614dc\u003e] dump_stack+0x19/0x1b\n  [\u003cffffffff8108f50f\u003e] warn_slowpath_common+0x7f/0xc0\n  [\u003cffffffff8108f56a\u003e] warn_slowpath_null+0x1a/0x20\n  [\u003cffffffff8234a071\u003e] init_workqueues+0x35/0x505\n  ...\n\nv2: CPU number added to the generic debug info as requested by s390\n    folks and dropped the s390 specific dump_stack().  This loses %ksp\n    from the debug message which the maintainers think isn\u0027t important\n    enough to keep the s390-specific dump_stack() implementation.\n\n    dump_stack_print_info() is moved to kernel/printk.c from\n    lib/dump_stack.c.  Because linkage is per objecct file,\n    dump_stack_print_info() living in the same lib file as generic\n    dump_stack() means that archs which implement custom dump_stack()\n    - at this point, only blackfin - can\u0027t use dump_stack_print_info()\n    as that will bring in the generic version of dump_stack() too.  v1\n    The v1 patch broke build on blackfin due to this issue.  The build\n    breakage was reported by Fengguang Wu.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Vineet Gupta \u003cvgupta@synopsys.com\u003e\nAcked-by: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nAcked-by: Vineet Gupta \u003cvgupta@synopsys.com\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\t[s390 bits]\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nCc: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nAcked-by: Richard Kuo \u003crkuo@codeaurora.org\u003e\t\t[hexagon bits]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89e3f23da9c827bfa9806c3d4da83a12c1c8543a",
      "tree": "b4eaba8afe11cf9cac42d0fd7cc5d49718a9c2d1",
      "parents": [
        "a77f2a4e6f03f0fe0aedb5b13b31be8f9d66d10d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 30 15:27:10 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:01 2013 -0700"
      },
      "message": "sparc32: make show_stack() acquire %fp if @_ksp is not specified\n\nshow_stack(current or NULL, NULL) is used by arch-independent code to dump\nbacktrace of the current task; however, sparc32 show_stack() doesn\u0027t\nimplement it and wouldn\u0027t print any backtrace when NULL @_ksp is specfied.\n\nMake show_stack() acquire and use %fp if @tsk is NULL or current and @_ksp\nis NULL.  This makes %fp fetching in dump_stack() unnecessary.  Make it\nuse NULL for @_ksp instead.\n\nOnly compile tested.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Vineet Gupta \u003cvgupta@synopsys.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a77f2a4e6f03f0fe0aedb5b13b31be8f9d66d10d",
      "tree": "f43c58e0176197c1deb532d525f3402c5307e818",
      "parents": [
        "7fba2c27a3e0cf7fa411fbab4839e1807a3e0734"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 30 15:27:09 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:01 2013 -0700"
      },
      "message": "x86: don\u0027t show trace beyond show_stack(NULL, NULL)\n\nThere are multiple ways a task can be dumped - explicit call to\ndump_stack(), triggering WARN() or BUG(), through sysrq-t and so on.\nMost of what gets printed is upto each architecture and the current\nstate is not particularly pretty.  Different pieces of information are\npresented differently depending on which path the dump takes and which\narchitecture it\u0027s running on.  This is messy for no good reason and\nmakes it exceedingly difficult to add or modify debug information to\ntask dumps.\n\nIn all archs except for s390, there\u0027s nothing arch-specific about the\nprinted debug information.  This patchset updates all those archs to use\nthe same helpers to consistently print out the same debug information.\n\nAn example WARN dump after this patchset.\n\n WARNING: at kernel/workqueue.c:4841 init_workqueues+0x35/0x505()\n Modules linked in:\n CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.9.0-rc1-work+ #3\n Hardware name: empty empty/S3992, BIOS 080011  10/26/2007\n  0000000000000009 ffff88007c861e08 ffffffff81c614dc ffff88007c861e48\n  ffffffff8108f500 ffffffff82228240 0000000000000040 ffffffff8234a08e\n  0000000000000000 0000000000000000 0000000000000000 ffff88007c861e58\n Call Trace:\n  [\u003cffffffff81c614dc\u003e] dump_stack+0x19/0x1b\n  [\u003cffffffff8108f500\u003e] warn_slowpath_common+0x70/0xa0\n  [\u003cffffffff8108f54a\u003e] warn_slowpath_null+0x1a/0x20\n  [\u003cffffffff8234a0c3\u003e] init_workqueues+0x35/0x505\n  ...\n\nAnd BUG dump.\n\n kernel BUG at kernel/workqueue.c:4841!\n invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC\n Modules linked in:\n CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.9.0-rc1-work+ #7\n Hardware name: empty empty/S3992, BIOS 080011  10/26/2007\n task: ffff88007c85e040 ti: ffff88007c860000 task.ti: ffff88007c860000\n RIP: 0010:[\u003cffffffff8234a07e\u003e]  [\u003cffffffff8234a07e\u003e] init_workqueues+0x4/0x6\n RSP: 0000:ffff88007c861ec8  EFLAGS: 00010246\n RAX: ffff88007c861fd8 RBX: ffffffff824466a8 RCX: 0000000000000001\n RDX: 0000000000000046 RSI: 0000000000000001 RDI: ffffffff8234a07a\n RBP: ffff88007c861ec8 R08: 0000000000000000 R09: 0000000000000000\n R10: 0000000000000001 R11: 0000000000000000 R12: ffffffff8234a07a\n R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000\n FS:  0000000000000000(0000) GS:ffff88007dc00000(0000) knlGS:0000000000000000\n CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n CR2: ffff88015f7ff000 CR3: 00000000021f1000 CR4: 00000000000007f0\n DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n Stack:\n  ffff88007c861ef8 ffffffff81000312 ffffffff824466a8 ffff88007c85e650\n  0000000000000003 0000000000000000 ffff88007c861f38 ffffffff82335e5d\n  ffff88007c862080 ffffffff8223d8c0 ffff88007c862080 ffffffff81c47760\n Call Trace:\n  [\u003cffffffff81000312\u003e] do_one_initcall+0x122/0x170\n  [\u003cffffffff82335e5d\u003e] kernel_init_freeable+0x9b/0x1c8\n  [\u003cffffffff81c47760\u003e] ? rest_init+0x140/0x140\n  [\u003cffffffff81c4776e\u003e] kernel_init+0xe/0xf0\n  [\u003cffffffff81c6be9c\u003e] ret_from_fork+0x7c/0xb0\n  [\u003cffffffff81c47760\u003e] ? rest_init+0x140/0x140\n  ...\n\nThis patchset contains the following seven patches.\n\n 0001-x86-don-t-show-trace-beyond-show_stack-NULL-NULL.patch\n 0002-sparc32-make-show_stack-acquire-fp-if-_ksp-is-not-sp.patch\n 0003-dump_stack-consolidate-dump_stack-implementations-an.patch\n 0004-dmi-morph-dmi_dump_ids-into-dmi_format_ids-which-for.patch\n 0005-dump_stack-implement-arch-specific-hardware-descript.patch\n 0006-dump_stack-unify-debug-information-printed-by-show_r.patch\n 0007-arc-print-fatal-signals-reduce-duplicated-informatio.patch\n\n0001-0002 update stack dumping functions in x86 and sparc32 in\npreparation.\n\n0003 makes all arches except blackfin use generic dump_stack().\nblackfin still uses the generic helper to print the same info.\n\n0004-0005 properly abstract DMI identifier printing in WARN() and\nshow_regs() so that all dumps print out the information.  This enables\nshow_regs() to use the same debug info message.\n\n0006 updates show_regs() of all arches to use a common generic helper\nto print debug info.\n\n0007 removes somem duplicate information from arc dumps.\n\nWhile this patchset changes how debug info is printed on some archs,\nthe printed information is always superset of what used to be there.\n\nThis patchset makes task dump debug messages consistent and enables\nadding more information.  Workqueue is scheduled to add worker\ninformation including the workqueue in use and work item specific\ndescription.\n\nWhile this patch touches a lot of archs, it isn\u0027t too likely to cause\nnon-trivial conflicts with arch-specfic changes and would probably be\nbest to route together either through -mm.\n\nx86 is tested but other archs are either only compile tested or not\ntested at all.  Changes to most archs are generally trivial.\n\nThis patch:\n\nshow_stack(current or NULL, NULL) is used to print the backtrace of the\ncurrent task.  As trace beyond the function itself isn\u0027t of much\ninterest to anyone, don\u0027t show it by determining sp and bp in\nshow_stack()\u0027s frame and passing them to show_stack_log_lvl().\n\nThis brings show_stack(NULL, NULL)\u0027s behavior in line with\ndump_stack().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Vineet Gupta \u003cvgupta@synopsys.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7fba2c27a3e0cf7fa411fbab4839e1807a3e0734",
      "tree": "70e4c22a99a682752f7802162108de8e653eb604",
      "parents": [
        "58c7be84fec87b3a96964d65129b36c0e8c59a19"
      ],
      "author": {
        "name": "Lin Feng",
        "email": "linfeng@cn.fujitsu.com",
        "time": "Tue Apr 30 15:27:07 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:01 2013 -0700"
      },
      "message": "kernel/range.c: subtract_range: fix the broken phrase issued by printk\n\nAlso replace deprecated printk(KERN_ERR...) with pr_err() as suggested\nby Yinghai, attaching the function name to provide plenty info.\n\nSigned-off-by: Lin Feng \u003clinfeng@cn.fujitsu.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58c7be84fec87b3a96964d65129b36c0e8c59a19",
      "tree": "8a4c9fe5a1b23bd481542e371410b62ae3393e4e",
      "parents": [
        "835f2f51608fd80e1aef5a8955dabcc36ea528a4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Tue Apr 30 15:27:06 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:01 2013 -0700"
      },
      "message": "selftest: add simple test for soft-dirty bit\n\nIt creates a mapping of 3 pages and checks that reads, writes and\nclear-refs result in present and soft-dirt bits reported from pagemap2\nset as expected.\n\n[akpm@linux-foundation.org: alphasort the Makefile TARGETS to reduce rejects]\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "835f2f51608fd80e1aef5a8955dabcc36ea528a4",
      "tree": "6faea4b90d9c76ce7962ebcce0b5b98373e44f3c",
      "parents": [
        "1ac37bee81531cb62a9a64e78ffdad7da9b20ea2"
      ],
      "author": {
        "name": "Dan Magenheimer",
        "email": "dan.magenheimer@oracle.com",
        "time": "Tue Apr 30 15:27:05 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:01 2013 -0700"
      },
      "message": "staging: zcache: enable zcache to be built/loaded as a module\n\nAllow zcache to be built/loaded as a module.  Note runtime dependency\ndisallows loading if cleancache/frontswap lazy initialization patches\nare not present.  Zsmalloc support has not yet been merged into zcache\nbut, once merged, could now easily be selected via a module_param.\n\nIf built-in (not built as a module), the original mechanism of enabling\nvia a kernel boot parameter is retained, but this should be considered\ndeprecated.\n\nNote that module unload is explicitly not yet supported.\n\nSigned-off-by: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\n[v1: Rebased with different order of patches]\n[v2: Removed [CLEANCACHE|FRONTSWAP]_HAS_LAZY_INIT ifdef]\n[v3: Rebased on top of ramster-\u003ezcache move]\n[v4: Redid the Makefile]\n[v5: s/ZCACHE2/ZCACHE/]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Andor Daam \u003candor.daam@googlemail.com\u003e\nCc: Florian Schmaus \u003cfschmaus@gmail.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Stefan Hengelein \u003cilendir@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ac37bee81531cb62a9a64e78ffdad7da9b20ea2",
      "tree": "d9460e2c71cdaa991696f1058cefa2c8a17cc4a3",
      "parents": [
        "f42158fe6785dd366073c7fd00f159a65c631597"
      ],
      "author": {
        "name": "Dan Magenheimer",
        "email": "dan.magenheimer@oracle.com",
        "time": "Tue Apr 30 15:27:03 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:01 2013 -0700"
      },
      "message": "staging: zcache: enable ramster to be built/loaded as a module\n\nEnable module support for ramster.  Note runtime dependency disallows\nloading if cleancache/frontswap lazy initialization patches are not\npresent.\n\nIf built-in (not built as a module), the original mechanism of enabling\nvia a kernel boot parameter is retained, but this should be considered\ndeprecated.\n\nNote that module unload is explicitly not yet supported.\n\n[v1: Fixed compile issues since ramster_init now has four arguments]\n[v2: Fixed rebase on ramster-\u003ezcache move]\n[akpm@linux-foundation.org: use_frontswap_selfshrink cannot be __initdata]\nSigned-off-by: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Andor Daam \u003candor.daam@googlemail.com\u003e\nCc: Florian Schmaus \u003cfschmaus@gmail.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Stefan Hengelein \u003cilendir@googlemail.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f42158fe6785dd366073c7fd00f159a65c631597",
      "tree": "e57f6ac9b87ebce63e5f87a5a032bf7d77b04fe8",
      "parents": [
        "10a7a0771399a57a297fca9615450dbb3f88081a"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue Apr 30 15:27:01 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:01 2013 -0700"
      },
      "message": "zcache/tmem: Better error checking on frontswap_register_ops return value.\n\nIn the past it either used to be NULL or the \"older\" backend. Now we\nalso return -Exx error codes.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Andor Daam \u003candor.daam@googlemail.com\u003e\nCc: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nCc: Florian Schmaus \u003cfschmaus@gmail.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Stefan Hengelein \u003cilendir@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10a7a0771399a57a297fca9615450dbb3f88081a",
      "tree": "7c8564daf7ce2698277a4a38edb9ef0f636cb429",
      "parents": [
        "ff610a1d55da22bf95bbc6a8b193e052169b34b7"
      ],
      "author": {
        "name": "Dan Magenheimer",
        "email": "dan.magenheimer@oracle.com",
        "time": "Tue Apr 30 15:27:00 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:01 2013 -0700"
      },
      "message": "xen: tmem: enable Xen tmem shim to be built/loaded as a module\n\nAllow Xen tmem shim to be built/loaded as a module.  Xen self-ballooning\nand frontswap-selfshrinking are now also \"lazily\" initialized when the\nXen tmem shim is loaded as a module, unless explicitly disabled by\nmodule parameters.\n\nNote runtime dependency disallows loading if cleancache/frontswap lazy\ninitialization patches are not present.\n\nIf built-in (not built as a module), the original mechanism of enabling\nvia a kernel boot parameter is retained, but this should be considered\ndeprecated.\n\nNote that module unload is explicitly not yet supported.\n\n[v1: Removed the [CLEANCACHE|FRONTSWAP]_HAS_LAZY_INIT ifdef]\n[v2: Squashed the xen/tmem: Remove the subsys call patch in]\n[akpm@linux-foundation.org: fix build (disable_frontswap_selfshrinking undeclared)]\nSigned-off-by: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Andor Daam \u003candor.daam@googlemail.com\u003e\nCc: Florian Schmaus \u003cfschmaus@gmail.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Stefan Hengelein \u003cilendir@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff610a1d55da22bf95bbc6a8b193e052169b34b7",
      "tree": "0c96ecc78d4d3818825f74871357b94134a22eac",
      "parents": [
        "833f8662af9659508afc3cb80f09138eade378e2"
      ],
      "author": {
        "name": "Bob Liu",
        "email": "lliubbo@gmail.com",
        "time": "Tue Apr 30 15:26:58 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:01 2013 -0700"
      },
      "message": "mm: cleancache: clean up cleancache_enabled\n\ncleancache_ops is used to decide whether backend is registered.\nSo now cleancache_enabled is always true if defined CONFIG_CLEANCACHE.\n\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Andor Daam \u003candor.daam@googlemail.com\u003e\nCc: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nCc: Florian Schmaus \u003cfschmaus@gmail.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Stefan Hengelein \u003cilendir@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "833f8662af9659508afc3cb80f09138eade378e2",
      "tree": "fffd8a1328c55a6ec8ac1159d1258e28d8ca7cec",
      "parents": [
        "49a9ab815acb8379a2f5fd43abe40038821e8f87"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue Apr 30 15:26:57 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:01 2013 -0700"
      },
      "message": "cleancache: Make cleancache_init use a pointer for the ops\n\nInstead of using a backend_registered to determine whether a backend is\nenabled.  This allows us to remove the backend_register check and just\ndo \u0027if (cleancache_ops)\u0027\n\n[v1: Rebase on top of b97c4b430b0a (ramster-\u003ezcache move]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Andor Daam \u003candor.daam@googlemail.com\u003e\nCc: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nCc: Florian Schmaus \u003cfschmaus@gmail.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Stefan Hengelein \u003cilendir@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "49a9ab815acb8379a2f5fd43abe40038821e8f87",
      "tree": "965226ce0574ce3906ba433bfcb11463c56eff24",
      "parents": [
        "4f89849da22db9d0edb378acea65e23fcd546173"
      ],
      "author": {
        "name": "Dan Magenheimer",
        "email": "dan.magenheimer@oracle.com",
        "time": "Tue Apr 30 15:26:56 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:01 2013 -0700"
      },
      "message": "mm: cleancache: lazy initialization to allow tmem backends to build/run as modules\n\nWith the goal of allowing tmem backends (zcache, ramster, Xen tmem) to\nbe built/loaded as modules rather than built-in and enabled by a boot\nparameter, this patch provides \"lazy initialization\", allowing backends\nto register to cleancache even after filesystems were mounted.  Calls to\ninit_fs and init_shared_fs are remembered as fake poolids but no real\ntmem_pools created.  On backend registration the fake poolids are mapped\nto real poolids and respective tmem_pools.\n\nSigned-off-by: Stefan Hengelein \u003cilendir@googlemail.com\u003e\nSigned-off-by: Florian Schmaus \u003cfschmaus@gmail.com\u003e\nSigned-off-by: Andor Daam \u003candor.daam@googlemail.com\u003e\nSigned-off-by: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\n[v1: Minor fixes: used #define for some values and bools]\n[v2: Removed CLEANCACHE_HAS_LAZY_INIT]\n[v3: Added more comments, added a lock for [shared_|]fs_poolid_map]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f89849da22db9d0edb378acea65e23fcd546173",
      "tree": "8af95a340c8d8605ad8f492ef0f6f98f2a4e4523",
      "parents": [
        "f066ea230a65f939afc354beae62716ab5f0e645"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan@kernel.org",
        "time": "Tue Apr 30 15:26:54 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:00 2013 -0700"
      },
      "message": "frontswap: get rid of swap_lock dependency\n\nFrontswap initialization routine depends on swap_lock, which want to be\natomic about frontswap\u0027s first appearance.  IOW, frontswap is not present\nand will fail all calls OR frontswap is fully functional but if new\nswap_info_struct isn\u0027t registered by enable_swap_info, swap subsystem\ndoesn\u0027t start I/O so there is no race between init procedure and page I/O\nworking on frontswap.\n\nSo let\u0027s remove unnecessary swap_lock dependency.\n\nCc: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nSigned-off-by: Minchan Kim \u003cminchan@kernel.org\u003e\n[v1: Rebased on my branch, reworked to work with backends loading late]\n[v2: Added a check for !map]\n[v3: Made the invalidate path follow the init path]\n[v4: Address comments by Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad@darnok.org\u003e\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Andor Daam \u003candor.daam@googlemail.com\u003e\nCc: Florian Schmaus \u003cfschmaus@gmail.com\u003e\nCc: Stefan Hengelein \u003cilendir@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f066ea230a65f939afc354beae62716ab5f0e645",
      "tree": "1056e57d4b0c9819c74bd929006cf352994230d2",
      "parents": [
        "1e01c968db3d0aebd48e31db15f24516b03128df"
      ],
      "author": {
        "name": "Bob Liu",
        "email": "lliubbo@gmail.com",
        "time": "Tue Apr 30 15:26:53 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:00 2013 -0700"
      },
      "message": "mm: frontswap: cleanup code\n\nAfter allowing tmem backends to build/run as modules, frontswap_enabled\nalways true if defined CONFIG_FRONTSWAP.  But frontswap_test() depends on\nwhether backend is registered, mv it into frontswap.c using fronstswap_ops\nto make the decision.\n\nfrontswap_set/clear are not used outside frontswap, so don\u0027t export them.\n\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Andor Daam \u003candor.daam@googlemail.com\u003e\nCc: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nCc: Florian Schmaus \u003cfschmaus@gmail.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Stefan Hengelein \u003cilendir@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e01c968db3d0aebd48e31db15f24516b03128df",
      "tree": "6f8ebed201fdc426a6926b4a2235e8dd2538f025",
      "parents": [
        "905cd0e1bf9ffe82d6906a01fd974ea0f70be97a"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue Apr 30 15:26:51 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:00 2013 -0700"
      },
      "message": "frontswap: make frontswap_init use a pointer for the ops\n\nThis simplifies the code in the frontswap - we can get rid of the\n\u0027backend_registered\u0027 test and instead check against frontswap_ops.\n\n[v1: Rebase on top of 703ba7fe5e0 (ramster-\u003ezcache move]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Andor Daam \u003candor.daam@googlemail.com\u003e\nCc: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nCc: Florian Schmaus \u003cfschmaus@gmail.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Stefan Hengelein \u003cilendir@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "905cd0e1bf9ffe82d6906a01fd974ea0f70be97a",
      "tree": "e0ca87ed9b6e05b452d548d5d3ebbb6b48c70a34",
      "parents": [
        "421348f1ca0bf17769dee0aed4d991845ae0536d"
      ],
      "author": {
        "name": "Dan Magenheimer",
        "email": "dan.magenheimer@oracle.com",
        "time": "Tue Apr 30 15:26:50 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:00 2013 -0700"
      },
      "message": "mm: frontswap: lazy initialization to allow tmem backends to build/run as modules\n\nWith the goal of allowing tmem backends (zcache, ramster, Xen tmem) to\nbe built/loaded as modules rather than built-in and enabled by a boot\nparameter, this patch provides \"lazy initialization\", allowing backends\nto register to frontswap even after swapon was run.  Before a backend\nregisters all calls to init are recorded and the creation of tmem_pools\ndelayed until a backend registers or until a frontswap store is\nattempted.\n\nSigned-off-by: Stefan Hengelein \u003cilendir@googlemail.com\u003e\nSigned-off-by: Florian Schmaus \u003cfschmaus@gmail.com\u003e\nSigned-off-by: Andor Daam \u003candor.daam@googlemail.com\u003e\nSigned-off-by: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\n[v1: Fixes per Seth Jennings suggestions]\n[v2: Removed FRONTSWAP_HAS_.. ]\n[v3: Fix up per Bob Liu \u003clliubbo@gmail.com\u003e recommendations]\n[v4: Fix up per Andrew\u0027s comments]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "421348f1ca0bf17769dee0aed4d991845ae0536d",
      "tree": "b4bc4ba3b50909de4885370d1a0656ca916e82db",
      "parents": [
        "b4ea2eaa11fa2588c241a80d6d1e59f0f68f7b29"
      ],
      "author": {
        "name": "Greg Thelen",
        "email": "gthelen@google.com",
        "time": "Tue Apr 30 15:26:48 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:00 2013 -0700"
      },
      "message": "fs/dcache.c: add cond_resched() to shrink_dcache_parent()\n\nCall cond_resched() in shrink_dcache_parent() to maintain interactivity.\n\nBefore this patch:\n\n\tvoid shrink_dcache_parent(struct dentry * parent)\n\t{\n\t\twhile ((found \u003d select_parent(parent, \u0026dispose)) !\u003d 0)\n\t\t\tshrink_dentry_list(\u0026dispose);\n\t}\n\nselect_parent() populates the dispose list with dentries which\nshrink_dentry_list() then deletes.  select_parent() carefully uses\nneed_resched() to avoid doing too much work at once.  But neither\nshrink_dcache_parent() nor its called functions call cond_resched().  So\nonce need_resched() is set select_parent() will return single dentry\ndispose list which is then deleted by shrink_dentry_list().  This is\ninefficient when there are a lot of dentry to process.  This can cause\nsoftlockup and hurts interactivity on non preemptable kernels.\n\nThis change adds cond_resched() in shrink_dcache_parent().  The benefit\nof this is that need_resched() is quickly cleared so that future calls\nto select_parent() are able to efficiently return a big batch of dentry.\n\nThese additional cond_resched() do not seem to impact performance, at\nleast for the workload below.\n\nHere is a program which can cause soft lockup if other system activity\nsets need_resched().\n\n\tint main()\n\t{\n\t        struct rlimit rlim;\n\t        int i;\n\t        int f[100000];\n\t        char buf[20];\n\t        struct timeval t1, t2;\n\t        double diff;\n\n\t        /* cleanup past run */\n\t        system(\"rm -rf x\");\n\n\t        /* boost nfile rlimit */\n\t        rlim.rlim_cur \u003d 200000;\n\t        rlim.rlim_max \u003d 200000;\n\t        if (setrlimit(RLIMIT_NOFILE, \u0026rlim))\n\t                err(1, \"setrlimit\");\n\n\t        /* make directory for files */\n\t        if (mkdir(\"x\", 0700))\n\t                err(1, \"mkdir\");\n\n\t        if (gettimeofday(\u0026t1, NULL))\n\t                err(1, \"gettimeofday\");\n\n\t        /* populate directory with open files */\n\t        for (i \u003d 0; i \u003c 100000; i++) {\n\t                snprintf(buf, sizeof(buf), \"x/%d\", i);\n\t                f[i] \u003d open(buf, O_CREAT);\n\t                if (f[i] \u003d\u003d -1)\n\t                        err(1, \"open\");\n\t        }\n\n\t        /* close some of the files */\n\t        for (i \u003d 0; i \u003c 85000; i++)\n\t                close(f[i]);\n\n\t        /* unlink all files, even open ones */\n\t        system(\"rm -rf x\");\n\n\t        if (gettimeofday(\u0026t2, NULL))\n\t                err(1, \"gettimeofday\");\n\n\t        diff \u003d (((double)t2.tv_sec * 1000000 + t2.tv_usec) -\n\t                ((double)t1.tv_sec * 1000000 + t1.tv_usec));\n\n\t        printf(\"done: %g elapsed\\n\", diff/1e6);\n\t        return 0;\n\t}\n\nSigned-off-by: Greg Thelen \u003cgthelen@google.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4ea2eaa11fa2588c241a80d6d1e59f0f68f7b29",
      "tree": "6c068b2f78d8cabe735ae4be2a00a249f797492c",
      "parents": [
        "04df32fa10ab9a6f0643db2949d42efc966bc844"
      ],
      "author": {
        "name": "Yan Hong",
        "email": "clouds.yan@gmail.com",
        "time": "Tue Apr 30 15:26:47 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:00 2013 -0700"
      },
      "message": "fs/block_dev.c: no need to check inode-\u003ei_bdev in bd_forget()\n\nIts only caller evict() has promised a non-NULL inode-\u003ei_bdev.\n\nSigned-off-by: Yan Hong \u003cclouds.yan@gmail.com\u003e\nCc: Al 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\n"
    },
    {
      "commit": "04df32fa10ab9a6f0643db2949d42efc966bc844",
      "tree": "48cdb596da6d4b8bd49c743b570b63b936eba34f",
      "parents": [
        "ace6128d603d3f15238baba104d0b37ccf0b6c07"
      ],
      "author": {
        "name": "Zhao Hongjiang",
        "email": "zhaohongjiang@huawei.com",
        "time": "Tue Apr 30 15:26:46 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:00 2013 -0700"
      },
      "message": "inotify: invalid mask should return a error number but not set it\n\nWhen we run the crackerjack testsuite, the inotify_add_watch test is\nstalled.\n\nThis is caused by the invalid mask 0 - the task is waiting for the event\nbut it never comes.  inotify_add_watch() should return -EINVAL as it did\nbefore commit 676a0675cf92 (\"inotify: remove broken mask checks causing\nunmount to be EINVAL\").  That commit removes the invalid mask check, but\nthat check is needed.\n\nCheck the mask\u0027s ALL_INOTIFY_BITS before the inotify_arg_to_mask() call.\nIf none are set, just return -EINVAL.\n\nBecause IN_UNMOUNT is in ALL_INOTIFY_BITS, this change will not trigger\nthe problem that above commit fixed.\n\n[akpm@linux-foundation.org: fix build]\nSigned-off-by: Zhao Hongjiang \u003czhaohongjiang@huawei.com\u003e\nAcked-by: Jim Somerville \u003cJim.Somerville@windriver.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\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\n"
    },
    {
      "commit": "ace6128d603d3f15238baba104d0b37ccf0b6c07",
      "tree": "883f0e51d1576d915fde820eae7a21be95a232fb",
      "parents": [
        "677a0b5ac16337277139798ec43fc32ebaae1347"
      ],
      "author": {
        "name": "Vincent Stehlé",
        "email": "vincent.stehle@laposte.net",
        "time": "Tue Apr 30 15:26:45 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:00 2013 -0700"
      },
      "message": "memory hotplug: fix warnings\n\nFix the following compilation warnings:\n\n  mm/slab.c: In function `kmem_cache_init_late\u0027:\n  mm/slab.c:1778:2: warning: statement with no effect [-Wunused-value]\n\n  mm/page_cgroup.c: In function `page_cgroup_init\u0027:\n  mm/page_cgroup.c:305:2: warning: statement with no effect [-Wunused-value]\n\nSigned-off-by: Vincent Stehlé \u003cvincent.stehle@laposte.net\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "677a0b5ac16337277139798ec43fc32ebaae1347",
      "tree": "b27a64ff0dd0e5fb3529f2316f3331348c145b30",
      "parents": [
        "c9ef713993ba168b38d1a97ea0ab00874f1da022"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Apr 30 15:26:44 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:00 2013 -0700"
      },
      "message": "drivers/usb/storage/realtek_cr.c: fix build\n\nRemove unused local `us\u0027, which broke the build.  Also nuke an unneeded\ncast.\n\nRepairs commit 191648d03d20 (\"usb: storage: Convert US_DEBUGP to\nusb_stor_dbg\").\n\nCc: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9ef713993ba168b38d1a97ea0ab00874f1da022",
      "tree": "4eb3ea0e68af4f4ecfb0ca8ed7aea160b36bee30",
      "parents": [
        "87c1f0f8c9442c86cbb343b9324bef8312029d7d",
        "16c85a1fd73eade2ae290d759924c09b4595f504"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 10:10:48 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 10:10:48 2013 -0700"
      },
      "message": "Merge tag \u0027arm64-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64\n\nPull arm64 update from Catalin Marinas:\n \"Main features:\n\n   - Versatile Express SoC (model) support - DT files and Kconfig\n     entries (there are no arch/arm64/mach-* directories).  The bulk of\n     the code has already been moved to drivers/ as part of the ARM SoC\n     clean-up.\n\n   - Basic multi-cluster support (CPU logical map initialised from the\n     DT)\n\n   - Simple earlyprintk support for UART 8250/16550 and FastModel\n     console output\n\n   - Optimised kernel library bitops and string functions.\n\n   - Automatic initialisation of the irqchip and clocks via DT\"\n\n* tag \u0027arm64-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64: (26 commits)\n  arm64: Use acquire/release semantics instead of explicit DMB\n  arm64: klib: bitops: fix unpredictable stxr usage\n  arm64: vexpress: Enable ARMv8 RTSM model (SoC) support\n  arm64: vexpress: Add dts files for the ARMv8 RTSM models\n  arm64: Survive invalid cpu enable-methods\n  arm64: mm: Correct show_pte behaviour\n  arm64: Fix compat types affecting struct compat_stat\n  arm64: Execute DSB during thread switching for TLB/cache maintenance\n  arm64: compiling issue, need add include/asm/vga.h file\n  arm64: smp: honour #address-size when parsing CPU reg property\n  arm64: Define cmpxchg64 and cmpxchg64_local for outside use\n  arm64: Define readq and writeq for driver module using\n  arm64: Fix task tracing\n  arm64: add explicit symbols to ESR_EL1 decoding\n  arm64: Use irqchip_init() for interrupt controller initialisation\n  arm64: psci: Use the MPIDR values from cpu_logical_map for cpu ids.\n  arm64: klib: Optimised atomic bitops\n  arm64: klib: Optimised string functions\n  arm64: klib: Optimised memory functions\n  arm64: head: match all affinity levels in the pen of the secondaries\n  ...\n"
    },
    {
      "commit": "87c1f0f8c9442c86cbb343b9324bef8312029d7d",
      "tree": "47f97d468a83d2f13d08fe9603fc91e23cb60c8e",
      "parents": [
        "165bc513f7ec54d3fa3660f5c851c4bbc533d577",
        "164c013858a2e89b450cd8021a8be896f9e05697"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 10:09:39 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 10:09:39 2013 -0700"
      },
      "message": "Merge tag \u0027metag-for-v3.10-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag\n\nPull arch/metag update from James Hogan:\n\n - Various fixes for the interrupting perf counter handling in metag\u0027s\n   perf backend.\n\n - Add OProfile support based on perf.\n\n - Sets up cache partitions for SMP so bootloader doesn\u0027t have to.\n\n - Patch from Paul Bolle to remove ARCH_POPULATES_NODE_MAP again\n   (touches microblaze too).\n\n - Add TLS pointer regset to metag ptrace api.\n\n - Add exported metag DSP extended context handling header \u003casm/ech.h\u003e.\n\n - Increase defconfig log buffer size to 128KiB.\n\n - Various fixes, typos, missing exports.\n\n* tag \u0027metag-for-v3.10-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:\n  metag: defconfigs: increase log buffer 8KiB \u003d\u003e 128KiB\n  metag: avoid unnecessary builtin dtb rebuilds\n  metag: add exported \u003casm/ech.h\u003e for extended context handling\n  metag: export _metag_da_present and cpu_2_hwthread_id\n  metag: ptrace: Implement NT_METAG_TLS\n  memblock: Kill ARCH_POPULATES_NODE_MAP once more\n  metag: cachepart: fix get_global_dcache_size() typo\n  metag: cachepart: take into account small cache bits\n  metag: smp: copy cache partition and enable GCOn\n  metag: OProfile support\n  metag: perf: prepare for use by oprofile\n  metag: perf: don\u0027t reset TXTACTCYC\n  metag: perf: use hard_processor_id() to get thread\n  metag: perf: fix frequency sampling (dynamic period)\n  metag: perf: add missing prev_count updates\n  metag: perf: fixes for interrupting perf counters\n  metag: perf: fix wrap handling in delta calculation\n  metag: perf: fix core internal / perf channel mux\n"
    }
  ],
  "next": "165bc513f7ec54d3fa3660f5c851c4bbc533d577"
}
