)]}'
{
  "log": [
    {
      "commit": "9f4646d28362bc424b8a4c7d09ea1c2f1759371a",
      "tree": "0ff9dc36f1ef598736725f3eb30e164128d39774",
      "parents": [
        "86c8ead593305915729a7b67f738832764fb4ba7",
        "84e345e4e209cbe796c88fa2ad1732d7121ec100"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 14 19:46:10 2013 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 14 19:46:10 2013 +0100"
      },
      "message": "Merge branch \u0027fortglx/3.9/time\u0027 of git://git.linaro.org/people/jstultz/linux into timers/core\n"
    },
    {
      "commit": "84e345e4e209cbe796c88fa2ad1732d7121ec100",
      "tree": "f73f35d0e72a6c6f3e4b3ef430608aca3a5e8d54",
      "parents": [
        "6f16eebe1ff82176339a0439c98ebec9768b0ee2"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Fri Feb 08 17:59:53 2013 -0500"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Feb 08 15:07:05 2013 -0800"
      },
      "message": "time, Fix setting of hardware clock in NTP code\n\nAt init time, if the system time is \"warped\" forward in warp_clock()\nit will differ from the hardware clock by sys_tz.tz_minuteswest.  This time\ndifference is not taken into account when ntp updates the hardware clock,\nand this causes the system time to jump forward by this offset every reboot.\n\nThe kernel must take this offset into account when writing the system time\nto the hardware clock in the ntp code.  This patch adds\npersistent_clock_is_local which indicates that an offset has been applied\nin warp_clock() and accounts for the \"warp\" before writing the hardware\nclock.\n\nx86 does not have this problem as rtc writes are software limited to a\n+/-15 minute window relative to the current rtc time.  Other arches, such\nas powerpc, however do a full synchronization of the system time to the\nrtc and will see this problem.\n\n[v2]: generated against tip/timers/core\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "90889a635a9b5488624bccce3ff6b2eec68c007b",
      "tree": "8ddde1e04060bd65ca2aafb09b38066cb7d69b4d",
      "parents": [
        "a9037430c6c784165a940a90bcd29f886834c8e7",
        "6f16eebe1ff82176339a0439c98ebec9768b0ee2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 04 11:03:03 2013 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 04 11:03:03 2013 +0100"
      },
      "message": "Merge branch \u0027fortglx/3.9/time\u0027 of git://git.linaro.org/people/jstultz/linux into timers/core\n\nTrivial conflict in arch/x86/Kconfig\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "12ad10004645d38356b14d1fbba379c523a61916",
      "tree": "fe8b798176191c681c6b2fa1c81aa55dc98568dc",
      "parents": [
        "12572dbb53638c6e454ef831c8fee7de3df24389"
      ],
      "author": {
        "name": "Mark Rutland",
        "email": "mark.rutland@arm.com",
        "time": "Mon Jan 14 17:05:22 2013 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 31 22:15:36 2013 +0100"
      },
      "message": "clockevents: Add generic timer broadcast function\n\nCurrently, the timer broadcast mechanism is defined by a function\npointer on struct clock_event_device. As the fundamental mechanism for\nbroadcast is architecture-specific, this means that clock_event_device\ndrivers cannot be shared across multiple architectures.\n\nThis patch adds an (optional) architecture-specific function for timer\ntick broadcast, allowing drivers which may require broadcast\nfunctionality to be shared across multiple architectures.\n\nSigned-off-by: Mark Rutland \u003cmark.rutland@arm.com\u003e\nReviewed-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nCc: nico@linaro.org\nCc: Will.Deacon@arm.com\nCc: Marc.Zyngier@arm.com\nCc: john.stultz@linaro.org\nLink: http://lkml.kernel.org/r/1358183124-28461-3-git-send-email-mark.rutland@arm.com\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nReviewed-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "12572dbb53638c6e454ef831c8fee7de3df24389",
      "tree": "dac15b3d75adb3a33f3868b70a6dcf0b63c55b91",
      "parents": [
        "04c2eee5b9dfcb13f3cd07a5537fb8c785f2751a"
      ],
      "author": {
        "name": "Mark Rutland",
        "email": "mark.rutland@arm.com",
        "time": "Mon Jan 14 17:05:21 2013 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 31 22:15:35 2013 +0100"
      },
      "message": "clockevents: Add generic timer broadcast receiver\n\nCurrently the broadcast mechanism used for timers is abstracted by a\nfunction pointer on struct clock_event_device. As the fundamental\nmechanism for broadcast is architecture-specific, this ties each\nclock_event_device driver to a single architecture, even where the\ndriver is otherwise generic.\n\nThis patch adds a standard path for the receipt of timer broadcasts, so\ndrivers and/or architecture backends need not manage redundant lists of\ntimers for the purpose of routing broadcast timer ticks.\n\n[tglx: Made the implementation depend on the config switch as well ]\n\nSigned-off-by: Mark Rutland \u003cmark.rutland@arm.com\u003e\nReviewed-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nCc: nico@linaro.org\nCc: Will.Deacon@arm.com\nCc: Marc.Zyngier@arm.com\nCc: john.stultz@linaro.org\nLink: http://lkml.kernel.org/r/1358183124-28461-2-git-send-email-mark.rutland@arm.com\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nReviewed-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "bdb0ae6a767ef2622eb282e06fc225e855341653",
      "tree": "34441e77a137fa349c48472bce2e12efceb18b21",
      "parents": [
        "0fe94b9e56da7ebffad4422415bdc2854934a389",
        "e0094244e41c4d0c7ad69920681972fc45d8ce34"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 17:08:43 2013 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 17:08:43 2013 +1100"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 fixes from Peter Anvin:\n \"This is a collection of miscellaneous fixes, the most important one is\n  the fix for the Samsung laptop bricking issue (auto-blacklisting the\n  samsung-laptop driver); the efi_enabled() changes you see below are\n  prerequisites for that fix.\n\n  The other issues fixed are booting on OLPC XO-1.5, an UV fix, NMI\n  debugging, and requiring CAP_SYS_RAWIO for MSR references, just as\n  with I/O port references.\"\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  samsung-laptop: Disable on EFI hardware\n  efi: Make \u0027efi_enabled\u0027 a function to query EFI facilities\n  smp: Fix SMP function call empty cpu mask race\n  x86/msr: Add capabilities check\n  x86/dma-debug: Bump PREALLOC_DMA_DEBUG_ENTRIES\n  x86/olpc: Fix olpc-xo1-sci.c build errors\n  arch/x86/platform/uv: Fix incorrect tlb flush all issue\n  x86-64: Fix unwind annotations in recent NMI changes\n  x86-32: Start out cr0 clean, disable paging before modifying cr3/4\n"
    },
    {
      "commit": "83e68189745ad931c2afd45d8ee3303929233e7f",
      "tree": "35673a4eebff4c71bda4b1023ccc7cbea36f84b2",
      "parents": [
        "f44310b98ddb7f0d06550d73ed67df5865e3eda5"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Wed Nov 14 09:42:35 2012 +0000"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed Jan 30 11:51:59 2013 -0800"
      },
      "message": "efi: Make \u0027efi_enabled\u0027 a function to query EFI facilities\n\nOriginally \u0027efi_enabled\u0027 indicated whether a kernel was booted from\nEFI firmware. Over time its semantics have changed, and it now\nindicates whether or not we are booted on an EFI machine with\nbit-native firmware, e.g. 64-bit kernel with 64-bit firmware.\n\nThe immediate motivation for this patch is the bug report at,\n\n    https://bugs.launchpad.net/ubuntu-cdimage/+bug/1040557\n\nwhich details how running a platform driver on an EFI machine that is\ndesigned to run under BIOS can cause the machine to become\nbricked. Also, the following report,\n\n    https://bugzilla.kernel.org/show_bug.cgi?id\u003d47121\n\ndetails how running said driver can also cause Machine Check\nExceptions. Drivers need a new means of detecting whether they\u0027re\nrunning on an EFI machine, as sadly the expression,\n\n    if (!efi_enabled)\n\nhasn\u0027t been a sufficient condition for quite some time.\n\nUsers actually want to query \u0027efi_enabled\u0027 for different reasons -\nwhat they really want access to is the list of available EFI\nfacilities.\n\nFor instance, the x86 reboot code needs to know whether it can invoke\nthe ResetSystem() function provided by the EFI runtime services, while\nthe ACPI OSL code wants to know whether the EFI config tables were\nmapped successfully. There are also checks in some of the platform\ndriver code to simply see if they\u0027re running on an EFI machine (which\nwould make it a bad idea to do BIOS-y things).\n\nThis patch is a prereq for the samsung-laptop fix patch.\n\nCc: David Airlie \u003cairlied@linux.ie\u003e\nCc: Corentin Chary \u003ccorentincj@iksaif.net\u003e\nCc: Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e\nCc: Dave Jiang \u003cdave.jiang@intel.com\u003e\nCc: Olof Johansson \u003colof@lixom.net\u003e\nCc: Peter Jones \u003cpjones@redhat.com\u003e\nCc: Colin Ian King \u003ccolin.king@canonical.com\u003e\nCc: Steve Langasek \u003csteve.langasek@canonical.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad@kernel.org\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "6f16eebe1ff82176339a0439c98ebec9768b0ee2",
      "tree": "8d818d7299f205ebde374f753ac384b5d0ac1835",
      "parents": [
        "e90c83f757fffdacec8b3c5eee5617dcc038338f"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jan 25 17:08:12 2013 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 29 14:40:12 2013 -0800"
      },
      "message": "timekeeping: Switch HAS_PERSISTENT_CLOCK to ALWAYS_USE_PERSISTENT_CLOCK\n\nJason pointed out the HAS_PERSISTENT_CLOCK name isn\u0027t\nquite accurate for the config, as some systems may have\nthe persistent_clock in some cases, but not always.\n\nSo change the config name to the more clear\nALWAYS_USE_PERSISTENT_CLOCK.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "325a86b65c01408dc77690fac1a7a45c844a613b",
      "tree": "bd8f15f6ac34f51b6bc3d3e9b549cbfae0a6244a",
      "parents": [
        "22f837981514e157f8f9737b25ac6d7d90a14006",
        "2d1484f5990c094e2c706672a8d286576dd096b4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 28 11:51:57 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 28 11:51:57 2013 -0800"
      },
      "message": "Merge tag \u0027mfd-for-linus-3.8-1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6\n\nPull MFD fixes from Samuel Ortiz:\n \"This is the first pull request for MFD fixes for 3.8\n\n  We have some build failure fixes (twl4030, vexpress, abx500 and\n  tps65910), some actual runtime oops and lockup fixes (rtsx, da9052),\n  and some more hypothetical NULL pointers dereferences fixes for\n  pcf50633 and max776xx.\n\n  Then we also have additional rtsx fixes for a correct switch output\n  voltage and clock divider correctness for rtl8411 (rtsx driver), and\n  irqdomain fix for db8550-prcmu, and some more cosmetic fixes for\n  arizona and wm5102.\"\n\n* tag \u0027mfd-for-linus-3.8-1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:\n  mfd: rtsx: Fix oops when rtsx_pci_sdmmc is not probed\n  mfd: wm5102: Fix definition of WM5102_MAX_REGISTER\n  mfd: twl4030: Don\u0027t warn about uninitialized return code\n  mfd: da9052/53 lockup fix\n  mfd: rtsx: Add clock divider hook\n  mmc: rtsx: Call MFD hook to switch output voltage\n  mfd: rtsx: Add output voltage switch hook\n  mfd: Fix compile errors and warnings when !CONFIG_AB8500_BM\n  mfd: vexpress: Export global functions to fix build error\n  mfd: arizona: Check errors from regcache_sync()\n  mfd: tc3589x: Use simple irqdomain\n  mfd: pcf50633: Init pcf-\u003edev before using it\n  mfd: max77693: Init max77693-\u003edev before using it\n  mfd: max77686: Init max77686-\u003edev before using it\n  mfd: db8500-prcmu: Fix irqdomain usage\n  mfd: tps65910: Select REGMAP_IRQ in Kconfig to fix build error\n  mfd: arizona: Disable control interface reporting for WM5102 and WM5110\n"
    },
    {
      "commit": "22f837981514e157f8f9737b25ac6d7d90a14006",
      "tree": "5537a70dcd9225023335b1bd1cd0e9a9c0e95cb9",
      "parents": [
        "949db153b6466c6f7cad5a427ecea94985927311",
        "6642f91c92da07369cf1e582503ea3ccb4a7f1a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 28 11:41:37 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 28 11:41:37 2013 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking updates from David Miller:\n \"Much more accumulated than I would have liked due to an unexpected\n  bout with a nasty flu:\n\n   1) AH and ESP input don\u0027t set ECN field correctly because the\n      transport head of the SKB isn\u0027t set correctly, fix from Li\n      RongQing.\n\n   2) If netfilter conntrack zones are disabled, we can return an\n      uninitialized variable instead of the proper error code.  Fix from\n      Borislav Petkov.\n\n   3) Fix double SKB free in ath9k driver beacon handling, from Felix\n      Feitkau.\n\n   4) Remove bogus assumption about netns cleanup ordering in\n      nf_conntrack, from Pablo Neira Ayuso.\n\n   5) Remove a bogus BUG_ON in the new TCP fastopen code, from Eric\n      Dumazet.  It uses spin_is_locked() in it\u0027s test and is therefore\n      unsuitable for UP.\n\n   6) Fix SELINUX labelling regressions added by the tuntap multiqueue\n      changes, from Paul Moore.\n\n   7) Fix CRC errors with jumbo frame receive in tg3 driver, from Nithin\n      Nayak Sujir.\n\n   8) CXGB4 driver sets interrupt coalescing parameters only on first\n      queue, rather than all of them.  Fix from Thadeu Lima de Souza\n      Cascardo.\n\n   9) Fix regression in the dispatch of read/write registers in dm9601\n      driver, from Tushar Behera.\n\n  10) ipv6_append_data miscalculates header length, from Romain KUNTZ.\n\n  11) Fix PMTU handling regressions on ipv4 routes, from Steffen\n      Klassert, Timo Teräs, and Julian Anastasov.\n\n  12) In 3c574_cs driver, add necessary parenthesis to \"x \u003c\u003c y \u0026 z\"\n      expression.  From Nickolai Zeldovich.\n\n  13) macvlan_get_size() causes underallocation netlink message space,\n      fix from Eric Dumazet.\n\n  14) Avoid division by zero in xfrm_replay_advance_bmp(), from Nickolai\n      Zeldovich.  Amusingly the zero check was already there, we were\n      just performing it after the modulus :-)\n\n  15) Some more splice bug fixes from Eric Dumazet, which fix things\n      mostly eminating from how we now more aggressively use high-order\n      pages in SKBs.\n\n  16) Fix size calculation bug when freeing hash tables in the IPSEC\n      xfrm code, from Michal Kubecek.\n\n  17) Fix PMTU event propagation into socket cached routes, from Steffen\n      Klassert.\n\n  18) Fix off by one in TX buffer release in netxen driver, from Eric\n      Dumazet.\n\n  19) Fix rediculous memory allocation requirements introduced by the\n      tuntap multiqueue changes, from Jason Wang.\n\n  20) Remove bogus AMD platform workaround in r8169 driver that causes\n      major problems in normal operation, from Timo Teräs.\n\n  21) virtio-net set affinity and select queue don\u0027t handle\n      discontiguous cpu numbers properly, fix from Wanlong Gao.\n\n  22) Fix a route refcounting issue in loopback driver, from Eric\n      Dumazet.  There\u0027s a similar fix coming that we might add to the\n      macvlan driver as well.\n\n  23) Fix SKB leaks in batman-adv\u0027s distributed arp table code, from\n      Matthias Schiffer.\n\n  24) r8169 driver gives descriptor ownership back the hardware before\n      we\u0027re done reading the VLAN tag out of it, fix from Francois\n      Romieu.\n\n  25) Checksums not calculated properly in GRE tunnel driver fix from\n      Pravin B Shelar.\n\n26) Fix SCTP memory leak on namespace exit.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (101 commits)\n  dm9601: support dm9620 variant\n  SCTP: Free the per-net sysctl table on net exit. v2\n  net: phy: icplus: fix broken INTR pin settings\n  net: phy: icplus: Use the RGMII interface mode to configure clock delays\n  IP_GRE: Fix kernel panic in IP_GRE with GRE csum.\n  sctp: set association state to established in dupcook_a handler\n  ip6mr: limit IPv6 MRT_TABLE identifiers\n  r8169: fix vlan tag read ordering.\n  net: cdc_ncm: use IAD provided by the USB core\n  batman-adv: filter ARP packets with invalid MAC addresses in DAT\n  batman-adv: check for more types of invalid IP addresses in DAT\n  batman-adv: fix skb leak in batadv_dat_snoop_incoming_arp_reply()\n  net: loopback: fix a dst refcounting issue\n  virtio-net: reset virtqueue affinity when doing cpu hotplug\n  virtio-net: split out clean affinity function\n  virtio-net: fix the set affinity bug when CPU IDs are not consecutive\n  can: pch_can: fix invalid error codes\n  can: ti_hecc: fix invalid error codes\n  can: c_can: fix invalid error codes\n  r8169: remove the obsolete and incorrect AMD workaround\n  ...\n"
    },
    {
      "commit": "0a8c290ac58a86d5e1f2193abcd4d74ec075e20c",
      "tree": "02c785e04f7d7aecf6166f92e240302c725a3e86",
      "parents": [
        "ab4e8f8b7bdfeff0c961fdbbdacb262d68f094c0"
      ],
      "author": {
        "name": "Ashish Jangam",
        "email": "ashish.jangam@kpitcummins.com",
        "time": "Fri Jan 25 14:03:49 2013 +0530"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Jan 27 01:35:32 2013 +0100"
      },
      "message": "mfd: da9052/53 lockup fix\n\nAn issue has been reported where the PMIC either locks up or fails to\nrespond following a system Reset. This could result in a second write\nin which the bus writes the current content of the write buffer to address\nof the last I2C access.\n\nThe failure case is where this unwanted write transfers incorrect data to\na critical register.\n\nThis patch fixes this issue to by following any read or write with a dummy read\nto a safe register address. A safe register address is one where the contents\nwill not affect the operation of the system.\n\nSigned-off-by: Ashish Jangam \u003cashish.jangam@kpitcummins.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "ab4e8f8b7bdfeff0c961fdbbdacb262d68f094c0",
      "tree": "543440d2656343141c14e565e795a655378a0f72",
      "parents": [
        "ef85e736b1052d8c1e56990f0d08b6fce7cdbe41"
      ],
      "author": {
        "name": "Wei WANG",
        "email": "wei_wang@realsil.com.cn",
        "time": "Wed Jan 23 09:51:06 2013 +0800"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Jan 27 01:30:20 2013 +0100"
      },
      "message": "mfd: rtsx: Add clock divider hook\n\nAdd callback function conv_clk_and_div_n to convert between SSC clock\nand its divider N.\nFor rtl8411, the formula to calculate SSC clock divider N is different\nwith the other card reader models.\n\nSigned-off-by: Wei WANG \u003cwei_wang@realsil.com.cn\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "d817ac4e181710cd02b582b759d3123ad2cfa8d8",
      "tree": "1e4356b9baf0903293d9dc428a3b5badf8041015",
      "parents": [
        "00441b5e6b98ad6a50b5cb7f88d473e3ea1e0d75"
      ],
      "author": {
        "name": "Wei WANG",
        "email": "wei_wang@realsil.com.cn",
        "time": "Wed Jan 23 09:51:04 2013 +0800"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Jan 27 01:29:39 2013 +0100"
      },
      "message": "mfd: rtsx: Add output voltage switch hook\n\nDifferent card reader has different method to switch output voltage,\nadd this callback to let the card reader implement its individual switch\nfunction.\nThis is needed as rtl8411 has a specific switch output voltage procedure.\n\nSigned-off-by: Wei WANG \u003cwei_wang@realsil.com.cn\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "1496ec13a1ae92cea305d266ff73f850138f92c7",
      "tree": "906a88476ca654e6446502c83882b76ef067ae80",
      "parents": [
        "ba2ab41f3d68f277860768b2c5b197768b196332",
        "3836414f45b01486b9b50c627a329010573ad0f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 24 12:42:50 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 24 12:42:50 2013 -0800"
      },
      "message": "Merge tag \u0027fixes-for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull ARM SoC fixes from Olof Johansson:\n \"Here\u0027s a long-pending fixes pull request for arm-soc (I didn\u0027t send\n  one in the -rc4 cycle).\n\n  The larger deltas are from:\n\n   - A fixup of error paths in the mvsdio driver\n\n   - Header file move for a driver that hadn\u0027t been properly converted\n     to multiplatform on i.MX, which was causing build failures when\n     included\n\n   - Device tree updates for at91 dealing mostly with their new pinctrl\n     setup merged in 3.8 and mistakes in those initial configs\n\n  The rest are the normal mix of small fixes all over the place; sunxi,\n  omap, imx, mvebu, etc, etc.\"\n\n* tag \u0027fixes-for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (40 commits)\n  mfd: vexpress-sysreg: Don\u0027t skip initialization on probe\n  ARM: vexpress: Enable A7 cores in V2P-CA15_A7\u0027s Device Tree\n  ARM: vexpress: extend the MPIDR range used for pen release check\n  ARM: at91/dts: correct comment in at91sam9x5.dtsi for mii\n  ARM: at91/at91_dt_defconfig: add at91sam9n12 SoC to DT defconfig\n  ARM: at91/at91_dt_defconfig: remove memory specification to cmdline\n  ARM: at91/dts: add macb mii pinctrl config for kizbox\n  ARM: at91: rm9200: remake the BGA as default version\n  ARM: at91: fix gpios on i2c-gpio for RM9200 DT\n  ARM: at91/at91sam9x5 DTS: add SCK USART pins\n  ARM: at91/at91sam9x5 DTS: correct wrong PIO BANK values on u(s)arts\n  ARM: at91/at91-pinctrl documentation: fix typo and add some details\n  ARM: kirkwood: fix missing #interrupt-cells property\n  mmc: mvsdio: use devm_ API to simplify/correct error paths.\n  clk: mvebu/clk-cpu.c: fix memory leakage\n  ARM: OMAP2+: omap4-panda: add UART2 muxing for WiLink shared transport\n  ARM: OMAP2+: DT node Timer iteration fix\n  ARM: OMAP2+: Fix section warning for omap_init_ocp2scp()\n  ARM: OMAP2+: fix build break for omapdrm\n  ARM: OMAP2: Fix missing omap2xxx_clkt_vps_late_init function calls\n  ...\n"
    },
    {
      "commit": "51edce0ccee090ea762a3014510e7870d25c49df",
      "tree": "b960c6e50a318cb3a737f31323fe50246a87a0f3",
      "parents": [
        "b2555b877bf9faf7045ae362ca051590e79167cf",
        "7662a9c60fee25d7234da4be6d8eab2b2ac88448"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Tue Jan 22 11:20:18 2013 -0800"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Tue Jan 22 11:20:29 2013 -0800"
      },
      "message": "Merge tag \u0027omap-for-v3.8-rc4/fixes-signed\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes\n\nFrom Tony Lindgren:\nMinimal omap fixes for the -rc series:\n\n- A build fix for recently merged omap DRM changes\n\n- Regression fixes from the common clock framework conversion\n  for omap4 audio and omap2 reboot\n\n- Regression fix for pandaboard WLAN control UART muxing caused by\n  u-boot only muxing essential pins nowadays\n\n- Timer iteration fix for CONFIG_OF_DYNAMIC\n\n- A section mismatch fix for ocp2scp init\n\n* tag \u0027omap-for-v3.8-rc4/fixes-signed\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (306 commits)\n  ARM: OMAP2+: omap4-panda: add UART2 muxing for WiLink shared transport\n  ARM: OMAP2+: DT node Timer iteration fix\n  ARM: OMAP2+: Fix section warning for omap_init_ocp2scp()\n  ARM: OMAP2+: fix build break for omapdrm\n  ARM: OMAP2: Fix missing omap2xxx_clkt_vps_late_init function calls\n  ARM: OMAP4: hwmod_data: Correct IDLEMODE for McPDM\n  ARM: OMAP4: clock data: Lock ABE DPLL on all revisions\n  + Linux 3.8-rc4\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "0944c0a03465718909ba8e800a5230528aeabafb",
      "tree": "7c8463b121ca9680215e2dae9834db2b9035b74d",
      "parents": [
        "a7ed6c4320a638971c81a7c273458eee3db5025b",
        "803739d25c2343da6d2f95eebdcbc08bf67097d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 22 10:10:34 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 22 10:10:34 2013 -0800"
      },
      "message": "Merge tag \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\nPull libata fixes from Jeff Garzik:\n\n 1) ahci: Fix typo that caused erronenous error handling.\n\n    Thought: I wonder if sparse could have caught this, somehow.\n\n 2) ahci: support a slightly odd Enmotus variant\n\n 3) core: fix a drive detection problem by correcting the logic by which\n    the DevSlp timing variables are obtained and used.\n\n* tag \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  [libata] replace sata_settings with devslp_timing\n  [libata] ahci: Add support for Enmotus Bobcat device.\n  [libata] ahci: Fix lack of command retry after a success error handler.\n"
    },
    {
      "commit": "910ffdb18a6408e14febbb6e4b6840fd2c928c82",
      "tree": "258a215685f2ca2bb11dcd92582e0adafbd83f7b",
      "parents": [
        "9a9284153d965a57edc7162a8e57c14c97f3a935"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Jan 21 20:47:41 2013 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 22 08:50:08 2013 -0800"
      },
      "message": "ptrace: introduce signal_wake_up_state() and ptrace_signal_wake_up()\n\nCleanup and preparation for the next change.\n\nsignal_wake_up(resume \u003d\u003e true) is overused. None of ptrace/jctl callers\nactually want to wakeup a TASK_WAKEKILL task, but they can\u0027t specify the\nnecessary mask.\n\nTurn signal_wake_up() into signal_wake_up_state(state), reintroduce\nsignal_wake_up() as a trivial helper, and add ptrace_signal_wake_up()\nwhich adds __TASK_TRACED.\n\nThis way ptrace_signal_wake_up() can work \"inside\" ptrace_request()\neven if the tracee doesn\u0027t have the TASK_WAKEKILL bit set.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00441b5e6b98ad6a50b5cb7f88d473e3ea1e0d75",
      "tree": "1e1785a0981a62f4e579a0a6d1f420318947012d",
      "parents": [
        "a17155bc9c9a43f94f4f502ad9776bf082219d84"
      ],
      "author": {
        "name": "Lee Jones",
        "email": "lee.jones@linaro.org",
        "time": "Wed Jan 09 10:06:03 2013 +0000"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Tue Jan 22 17:28:44 2013 +0100"
      },
      "message": "mfd: Fix compile errors and warnings when !CONFIG_AB8500_BM\n\ndrivers/mfd/ab8500-core.c:1015:21: error: ‘ab8500_bm_data’ undeclared here\n\ninclude/linux/mfd/abx500/ab8500-bm.h:445:13: warning: ‘ab8500_fg_reinit’ defined but not used\ninclude/linux/mfd/abx500/ab8500-bm.h:448:13: warning: ‘ab8500_charger_usb_state_changed’ defined but not used\ninclude/linux/mfd/abx500/ab8500-bm.h:451:29: warning: ‘ab8500_btemp_get’ defined but not used\ninclude/linux/mfd/abx500/ab8500-bm.h:455:12: warning: ‘ab8500_btemp_get_batctrl_temp’ defined but not used\ninclude/linux/mfd/abx500/ab8500-bm.h:463:12: warning: ‘ab8500_fg_inst_curr_blocking’ defined but not used\ninclude/linux/mfd/abx500/ab8500-bm.h:442:12: warning: ‘ab8500_fg_inst_curr_done’ defined but not used\ninclude/linux/mfd/abx500/ab8500-bm.h:447:26: warning: ‘ab8500_fg_get’ defined but not used\n\nSigned-off-by: Lee Jones \u003clee.jones@linaro.org\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "b2555b877bf9faf7045ae362ca051590e79167cf",
      "tree": "a4dfbc40f93be0c2668bbe51541c8a26f16f44dd",
      "parents": [
        "5046e385b4426e229a6beb4bce480762af91a6fc",
        "e909c682d04e55e77a3c9d158e7dc36027195493"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Tue Jan 22 00:22:12 2013 -0800"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Tue Jan 22 00:22:12 2013 -0800"
      },
      "message": "Merge tag \u0027imx-fixes-rc\u0027 of git://git.pengutronix.de/git/imx/linux-2.6 into fixes\n\nFrom Sascha Hauer:\n\nARM i.MX fixes for -rc.\n\nThis contains a single compilation fix for the CODA driver.\n\n* tag \u0027imx-fixes-rc\u0027 of git://git.pengutronix.de/git/imx/linux-2.6:\n  [media] coda: Fix build due to iram.h rename\n"
    },
    {
      "commit": "6509141f9c2ba74df6cc72ec35cd1865276ae3a4",
      "tree": "996dd8ab7310de1d9668aec3761cf72ab92796c4",
      "parents": [
        "f91f33452be939b38c3b16ba1fab35c27221e7ec"
      ],
      "author": {
        "name": "Wei Shuai",
        "email": "cpuwolf@gmail.com",
        "time": "Mon Jan 21 06:00:31 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 21 14:24:37 2013 -0500"
      },
      "message": "usbnet: add new flag FLAG_NOARP for usb net devices\n\nWe do have some USB net devices, which cannot do ARP.\nso we can introduce a new flag FLAG_NOARP, then client drivers\ncan easily handle this kind of devices\n\nSigned-off-by: Wei Shuai \u003ccpuwolf@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "226364766f936d249e408de03821468c1bf11dda",
      "tree": "3b4feabb40a87f311ae92bb973c18293d05597e8",
      "parents": [
        "3a142ed962958d3063f648738a3384ab90017100",
        "1fb9341ac34825aa40354e74d9a2c69df7d2c304"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 20 16:44:28 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 20 16:44:28 2013 -0800"
      },
      "message": "Merge tag \u0027fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux\n\nPull module fixes and a virtio block fix from Rusty Russell:\n \"Various minor fixes, but a slightly more complex one to fix the\n  per-cpu overload problem introduced recently by kvm id changes.\"\n\n* tag \u0027fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:\n  module: put modules in list much earlier.\n  module: add new state MODULE_STATE_UNFORMED.\n  module: prevent warning when finit_module a 0 sized file\n  virtio-blk: Don\u0027t free ida when disk is in use\n"
    },
    {
      "commit": "edea0d03ee5f0ae0051b6adb6681ebdf976b1ca4",
      "tree": "5a2a5f44fcfc1d0246e48fd93d91c61fe157a987",
      "parents": [
        "5da1f88b8b727dc3a66c52d4513e871be6d43d19"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sun Jan 20 20:25:47 2013 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 20 12:26:05 2013 -0800"
      },
      "message": "ia64: kill thread_matches(), unexport ptrace_check_attach()\n\nThe ia64 function \"thread_matches()\" has no users since commit\ne868a55c2a8c (\"[IA64] remove find_thread_for_addr()\").  Remove it.\n\nThis allows us to make ptrace_check_attach() static to kernel/ptrace.c,\nwhich is good since we\u0027ll need to change the semantics of it and fix up\nall the callers.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "309b51e87905e8a52060dbbab1e427552d5dda9a",
      "tree": "891aaefe5d347de1b3b1b233fa62b9e576b4e096",
      "parents": [
        "3a55fb0d9fe8e2f4594329edd58c5fd6f35a99dd",
        "8aef33a7cf40ca9da188e8578b2abe7267a38c52"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 16 14:34:52 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 16 14:34:52 2013 -0800"
      },
      "message": "Merge tag \u0027pm+acpi-for-3.8-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull ACPI and power management fixes from Rafael Wysocki:\n\n - cpuidle regression fix related to the initialization of state\n   kobjects from Krzysztof Mazur.\n\n - cpuidle fix removing some not very useful code and making some\n   user-visible problems go away at the same time.  From Daniel Lezcano.\n\n - ACPI build fix from Yinghai Lu.\n\n* tag \u0027pm+acpi-for-3.8-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  cpuidle: remove the power_specified field in the driver\n  ACPI / glue: Fix build with ACPI_GLUE_DEBUG set\n  cpuidle: fix number of initialized/destroyed states\n"
    },
    {
      "commit": "e65b9ad222c280c031bc8d3642cc38dd3026fe06",
      "tree": "e1156d88a4fb42d7623e0390469227b6e3f4202b",
      "parents": [
        "36e7a96ceb6e9d347d8bf3def689c315131edf10"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Jan 15 20:12:37 2013 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 16 12:13:20 2013 -0800"
      },
      "message": "lockdep, rwsem: fix down_write_nest_lock() if !CONFIG_DEBUG_LOCK_ALLOC\n\nCommit 1b963c81b145 (\"lockdep, rwsem: provide down_write_nest_lock()\")\ncontains a bug in a codepath when CONFIG_DEBUG_LOCK_ALLOC is disabled,\nwhich causes down_read() to be called instead of down_write() by mistake\non such configurations.  Fix that.\n\nReported-and-tested-by: Andrew Clayton \u003candrew@digital-domain.net\u003e\nReported-and-tested-by: Zlatko Calusic \u003czlatko.calusic@iskon.hr\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "774a1221e862b343388347bac9b318767336b20b",
      "tree": "ee02b2b71268d9478f709bea8636ddd5eafdc007",
      "parents": [
        "406089d01562f1e2bf9f089fd7637009ebaad589"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 15 18:52:51 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 16 09:05:33 2013 -0800"
      },
      "message": "module, async: async_synchronize_full() on module init iff async is used\n\nIf the default iosched is built as module, the kernel may deadlock\nwhile trying to load the iosched module on device probe if the probing\nwas running off async.  This is because async_synchronize_full() at\nthe end of module init ends up waiting for the async job which\ninitiated the module loading.\n\n async A\t\t\t\tmodprobe\n\n 1. finds a device\n 2. registers the block device\n 3. request_module(default iosched)\n\t\t\t\t\t4. modprobe in userland\n\t\t\t\t\t5. load and init module\n\t\t\t\t\t6. async_synchronize_full()\n\nAsync A waits for modprobe to finish in request_module() and modprobe\nwaits for async A to finish in async_synchronize_full().\n\nBecause there\u0027s no easy to track dependency once control goes out to\nuserland, implementing properly nested flushing is difficult.  For\nnow, make module init perform async_synchronize_full() iff module init\nhas queued async jobs as suggested by Linus.\n\nThis avoids the described deadlock because iosched module doesn\u0027t use\nasync and thus wouldn\u0027t invoke async_synchronize_full().  This is\nhacky and incomplete.  It will deadlock if async module loading nests;\nhowever, this works around the known problem case and seems to be the\nbest of bad options.\n\nFor more details, please refer to the following thread.\n\n  http://thread.gmane.org/gmane.linux.kernel/1420814\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Alex Riesen \u003craa.lkml@gmail.com\u003e\nTested-by: Ming Lei \u003cming.lei@canonical.com\u003e\nTested-by: Alex Riesen \u003craa.lkml@gmail.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "05ad717c77b1b8e98a1dd768c3700036d634629e",
      "tree": "c52d75ca925bcd9b4c7125aad4c1059d7d3a43ee",
      "parents": [
        "9ecf37eb7a81e3295a1b274eafb6f83d7d2cabf0"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Wed Jan 16 00:09:49 2013 +0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 15 18:16:08 2013 -0800"
      },
      "message": "timekeeping: Add CONFIG_HAS_PERSISTENT_CLOCK option\n\nMake the persistent clock check a kernel config option, so that some\nplatform can explicitely select it, also make CONFIG_RTC_HCTOSYS and\nRTC_SYSTOHC depend on its non-existence, which could prevent the\npersistent clock and RTC code from doing similar thing twice during\nsystem\u0027s init/suspend/resume phases.\n\nIf the CONFIG_HAS_PERSISTENT_CLOCK\u003dn, then no change happens for kernel\nwhich still does the persistent clock check in timekeeping_init().\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSuggested-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\n[jstultz: Added dependency for RTC_SYSTOHC as well]\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "31ade30692dc9680bfc95700d794818fa3f754ac",
      "tree": "cb436c839b890d04f589b49f75cb0df59315158e",
      "parents": [
        "f0dbe81f0e7c39783ad25d9084bbcda131508993"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Wed Jan 16 00:09:47 2013 +0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 15 18:16:07 2013 -0800"
      },
      "message": "timekeeping: Add persistent_clock_exist flag\n\nIn current kernel, there are several places which need to check\nwhether there is a persistent clock for the platform. Current check\nis done by calling the read_persistent_clock() and validating its\nreturn value.\n\nSo one optimization is to do the check only once in timekeeping_init(),\nand use a flag persistent_clock_exist to record it.\n\nv2: Add a has_persistent_clock() helper function, as suggested by John.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "023f333a99cee9b5cd3268ff87298eb01a31f78e",
      "tree": "bf1d316ac4f4ad6ccd9f98206debece6f24a7a4f",
      "parents": [
        "503637375269e33f368fd3484a199beace01f36e"
      ],
      "author": {
        "name": "Jason Gunthorpe",
        "email": "jgunthorpe@obsidianresearch.com",
        "time": "Mon Dec 17 14:30:53 2012 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 15 18:16:06 2013 -0800"
      },
      "message": "NTP: Add a CONFIG_RTC_SYSTOHC configuration\n\nThe purpose of this option is to allow ARM/etc systems that rely on the\nclass RTC subsystem to have the same kind of automatic NTP based\nsynchronization that we have on PC platforms. Today ARM does not\nimplement update_persistent_clock and makes extensive use of the class\nRTC system.\n\nWhen enabled CONFIG_RTC_SYSTOHC will provide a generic\nrtc_update_persistent_clock that stores the current time in the RTC and\nis intended complement the existing CONFIG_RTC_HCTOSYS option that loads\nthe RTC at boot.\n\nLike with RTC_HCTOSYS the platform\u0027s update_persistent_clock is used\nfirst, if it works. Platforms with mixed class RTC and non-RTC drivers\nneed to return ENODEV when class RTC should be used. Such an update for\nPPC is included in this patch.\n\nLong term, implementations of update_persistent_clock should migrate to\nproper class RTC drivers and use CONFIG_RTC_SYSTOHC instead.\n\nTested on ARM kirkwood and PPC405\n\nSigned-off-by: Jason Gunthorpe \u003cjgunthorpe@obsidianresearch.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "1e817fb62cd185a2232ad4302579491805609489",
      "tree": "d4155fb65a9fb32cd9236405a8b7534f39c293b9",
      "parents": [
        "9c3f9e281697d02889c3b08922f3b30be75f56c2"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Mon Nov 19 10:26:16 2012 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 15 18:16:02 2013 -0800"
      },
      "message": "time: create __getnstimeofday for WARNless calls\n\nThe pstore RAM backend can get called during resume, and must be defensive\nagainst a suspended time source. Expose getnstimeofday logic that returns\nan error instead of a WARN. This can be detected and the timestamp can\nbe zeroed out.\n\nReported-by: Doug Anderson \u003cdianders@chromium.org\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "8aef33a7cf40ca9da188e8578b2abe7267a38c52",
      "tree": "4f0908d2b007ad3f372ffeeaca624cfe81afdf47",
      "parents": [
        "a412a11d6a24aebb6a898ed5d4e1c0725b638da3"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@linaro.org",
        "time": "Tue Jan 15 14:18:04 2013 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Jan 15 14:18:04 2013 +0100"
      },
      "message": "cpuidle: remove the power_specified field in the driver\n\nWe realized that the power usage field is never filled and when it\nis filled for tegra, the power_specified flag is not set causing all\nof these values to be reset when the driver is initialized with\nset_power_state().\n\nHowever, the power_specified flag can be simply removed under the\nassumption that the states are always backward sorted, which is the\ncase with the current code.\n\nThis change allows the menu governor select function and the\ncpuidle_play_dead() to be simplified.  Moreover, the\nset_power_states() function can removed as it does not make sense\nany more.\n\nDrop the power_specified flag from struct cpuidle_driver and make\nthe related changes as described above.\n\nAs a consequence, this also fixes the bug where on the dynamic\nC-states system, the power fields are not initialized.\n\n[rjw: Changelog]\nReferences: https://bugzilla.kernel.org/show_bug.cgi?id\u003d42870\nReferences: https://bugzilla.kernel.org/show_bug.cgi?id\u003d43349\nReferences: https://lkml.org/lkml/2012/10/16/518\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "5dbbaf2de89613d19a9286d4db0a535ca2735d26",
      "tree": "1eaa64968a8ecf83aee4d2f6792840abde6c4916",
      "parents": [
        "6f96c142f77c96a34ac377a3616ee7abcd77fb4d"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "pmoore@redhat.com",
        "time": "Mon Jan 14 07:12:19 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 14 18:16:59 2013 -0500"
      },
      "message": "tun: fix LSM/SELinux labeling of tun/tap devices\n\nThis patch corrects some problems with LSM/SELinux that were introduced\nwith the multiqueue patchset.  The problem stems from the fact that the\nmultiqueue work changed the relationship between the tun device and its\nassociated socket; before the socket persisted for the life of the\ndevice, however after the multiqueue changes the socket only persisted\nfor the life of the userspace connection (fd open).  For non-persistent\ndevices this is not an issue, but for persistent devices this can cause\nthe tun device to lose its SELinux label.\n\nWe correct this problem by adding an opaque LSM security blob to the\ntun device struct which allows us to have the LSM security state, e.g.\nSELinux labeling information, persist for the lifetime of the tun\ndevice.  In the process we tweak the LSM hooks to work with this new\napproach to TUN device/socket labeling and introduce a new LSM hook,\nsecurity_tun_dev_attach_queue(), to approve requests to attach to a\nTUN queue via TUNSETQUEUE.\n\nThe SELinux code has been adjusted to match the new LSM hooks, the\nother LSMs do not make use of the LSM TUN controls.  This patch makes\nuse of the recently added \"tun_socket:attach_queue\" permission to\nrestrict access to the TUNSETQUEUE operation.  On older SELinux\npolicies which do not define the \"tun_socket:attach_queue\" permission\nthe access control decision for TUNSETQUEUE will be handled according\nto the SELinux policy\u0027s unknown permission setting.\n\nSigned-off-by: Paul Moore \u003cpmoore@redhat.com\u003e\nAcked-by: Eric Paris \u003ceparis@parisplace.org\u003e\nTested-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "803739d25c2343da6d2f95eebdcbc08bf67097d4",
      "tree": "59f3fd6a8285925c79419132b469602f4c36a0bf",
      "parents": [
        "7f9c9f8e24590e7dcd26ca408458c43df5b83e61"
      ],
      "author": {
        "name": "Shane Huang",
        "email": "shane.huang@amd.com",
        "time": "Mon Dec 17 23:18:59 2012 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Mon Jan 14 13:29:15 2013 -0500"
      },
      "message": "[libata] replace sata_settings with devslp_timing\n\nNCQ capability was used to check availability of SATA Settings page\nfrom Identify Device Data Log, which contains DevSlp timing variables.\nIt does not work on some HDDs and leads to error messages.\n\nIDENTIFY word 78 bit 5(Hardware Feature Control) can\u0027t work either\nbecause it is only the sufficient condition of Identify Device data\nlog, not the necessary condition.\n\nThis patch replaced ata_device-\u003esata_settings with -\u003edevslp_timing\nto only save DevSlp timing variables(8 bytes), instead of the whole\nSATA Settings page(512 bytes).\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d51881\n\nReported-by: Borislav Petkov \u003cbp@alien8.de\u003e\nSigned-off-by: Shane Huang \u003cshane.huang@amd.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "3441f0d26d02ec8073ea9ac7d1a4da8a9818ad59",
      "tree": "fb82a5ae8ec99df63ed13ea72d9eaf1d8ed0c0b7",
      "parents": [
        "f6a0e2ca7b1fe89da4e4b0afa6ba08dc34f1a0f7",
        "f1688e0431d3a395388e70fe21da89ed0de0c323"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 14 09:07:11 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 14 09:07:11 2013 -0800"
      },
      "message": "Merge tag \u0027driver-core-3.8-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core fixes from Greg Kroah-Hartman:\n \"Here are two patches for 3.8-rc3.\n\n  One removes the __dev* defines from init.h now that all usages of it\n  are gone from your tree.  The other fix is for debugfs\u0027s paramater\n  that was using the wrong base for the option.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\n* tag \u0027driver-core-3.8-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:\n  debugfs: convert gid\u003d argument from decimal, not octal\n  Remove __dev* markings from init.h\n"
    },
    {
      "commit": "6843cc0e0f59643d75a624999012b4dd72bfe1cf",
      "tree": "6924ab19725e67b3f35f90277b2b670d0f0e0958",
      "parents": [
        "7c8284c3aa127ffe72a90a1bad52183ec9ad870a",
        "d0b9cec3e27d0e9fda2fbf6aaacece68c99b1104"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 14 08:27:10 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 14 08:27:10 2013 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n 1) Fix regression allowing IP_TTL setting of zero, fix from Cong Wang.\n\n 2) Fix leak regressions in tunap, from Jason Wang.\n\n 3) be2net driver always returns IRQ_HANDLED in INTx handler, fix from\n    Sathya Perla.\n\n 4) qlge doesn\u0027t really support NETIF_F_TSO6, don\u0027t set that flag.  Fix\n    from Amerigo Wang.\n\n 5) Add 802.11ad Atheros wil6210 driver, from Vladimir Kondratiev.\n\n 6) Fix MTU calculations in mac80211 layer, from T Krishna Chaitanya.\n\n 7) Station info layer of mac80211 needs to use del_timer_sync(), from\n    Johannes Berg.\n\n 8) tcp_read_sock() can loop forever, because we don\u0027t immediately stop\n    when recv_actor() returns zero.  Fix from Eric Dumazet.\n\n 9) Fix WARN_ON() in tcp_cleanup_rbuf().  We have to use sk_eat_skb() in\n    tcp_recv_skb() to handle the case where a large GRO packet is split\n    up while it is use by a splice() operation.  Fix also from Eric\n    Dumazet.\n\n10) addrconf_get_prefix_route() in ipv6 tests flags incorrectly, it\n    does:\n\n        if (X \u0026\u0026 (p-\u003eflags \u0026 Y) !\u003d 0)\n\n    when it really meant to go:\n\n        if (X \u0026\u0026 (p-\u003eflags \u0026 X) !\u003d 0)\n\n    fix from Romain Kuntz.\n\n11) Fix lost Kconfig dependency for bfin_mac driver hardware\n    timestamping.  From Lars-Peter Clausen.\n\n12) Fix regression in handling of RST without ACK in TCP, from Eric\n    Dumazet.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (37 commits)\n  be2net: fix unconditionally returning IRQ_HANDLED in INTx\n  tuntap: fix leaking reference count\n  tuntap: forbid calling TUNSETIFF when detached\n  tuntap: switch to use rtnl_dereference()\n  net, wireless: overwrite default_ethtool_ops\n  qlge: remove NETIF_F_TSO6 flag\n  tcp: accept RST without ACK flag\n  net: ethernet: xilinx: Do not use NO_IRQ in axienet\n  net: ethernet: xilinx: Do not use axienet on PPC\n  bnx2x: Allow management traffic after boot from SAN\n  bnx2x: Fix fastpath structures when memory allocation fails\n  bfin_mac: Restore hardware time-stamping dependency on BF518\n  tun: avoid owner checks on IFF_ATTACH_QUEUE\n  bnx2x: move debugging code before the return\n  tuntap: refuse to re-attach to different tun_struct\n  ipv6: use addrconf_get_prefix_route for prefix route lookup [v2]\n  ipv6: fix the noflags test in addrconf_get_prefix_route\n  tcp: fix splice() and tcp collapsing interaction\n  tcp: splice: fix an infinite loop in tcp_read_sock()\n  net: prevent setting ttl\u003d0 via IP_TTL\n  ...\n"
    },
    {
      "commit": "0d21b0e3477395e7ff2acc269f15df6e6a8d356d",
      "tree": "116c1a198a36f7ec80cf39e8f307175344290612",
      "parents": [
        "52441fa8f2f1ccc9fa97607c6ccf8b46b9fd15ae"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 12 11:38:44 2013 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 12 13:27:05 2013 +1030"
      },
      "message": "module: add new state MODULE_STATE_UNFORMED.\n\nYou should never look at such a module, so it\u0027s excised from all paths\nwhich traverse the modules list.\n\nWe add the state at the end, to avoid gratuitous ABI break (ksplice).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "d07d7507bfb4e23735c9b83e397c43e1e8a173e8",
      "tree": "1422f8bc9cfa0340a7b1cdec03456a6bf5e3a7d5",
      "parents": [
        "f7e9e230f41f991a6e3e7cb6096424fdfb626081"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Thu Jan 10 23:19:10 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 11 15:55:48 2013 -0800"
      },
      "message": "net, wireless: overwrite default_ethtool_ops\n\nSince:\n\ncommit 2c60db037034d27f8c636403355d52872da92f81\nAuthor: Eric Dumazet \u003cedumazet@google.com\u003e\nDate:   Sun Sep 16 09:17:26 2012 +0000\n\n    net: provide a default dev-\u003eethtool_ops\n\nwireless core does not correctly assign ethtool_ops.\n\nAfter alloc_netdev*() call, some cfg80211 drivers provide they own\nethtool_ops, but some do not. For them, wireless core provide generic\ncfg80211_ethtool_ops, which is assigned in NETDEV_REGISTER notify call:\n\n        if (!dev-\u003eethtool_ops)\n                dev-\u003eethtool_ops \u003d \u0026cfg80211_ethtool_ops;\n\nBut after Eric\u0027s commit, dev-\u003eethtool_ops is no longer NULL (on cfg80211\ndrivers without custom ethtool_ops), but points to \u0026default_ethtool_ops.\n\nIn order to fix the problem, provide function which will overwrite\ndefault_ethtool_ops and use it by wireless core.\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cb7a56344ca45ee56d71c5f8fe9f922306bff1f",
      "tree": "da6fd5aa462e9e7c117063740c15fd95241c72d3",
      "parents": [
        "a8906b0b673a8a64ae1446a7847def62388f6e46"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Fri Jan 11 14:32:20 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 11 14:54:56 2013 -0800"
      },
      "message": "lib/rbtree.c: avoid the use of non-static __always_inline\n\nlib/rbtree.c declared __rb_erase_color() as __always_inline void, and\nthen exported it with EXPORT_SYMBOL.\n\nThis was because __rb_erase_color() must be exported for augmented\nrbtree users, but it must also be inlined into rb_erase() so that the\ndummy callback can get optimized out of that call site.\n\n(Actually with a modern compiler, none of the dummy callback functions\nshould even be generated as separate text functions).\n\nThe above usage is legal C, but it was unusual enough for some compilers\nto warn about it.  This change makes things more explicit, with a static\n__always_inline ____rb_erase_color function for use in rb_erase(), and a\nseparate non-inline __rb_erase_color function for use in\nrb_erase_augmented call sites.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nReported-by: 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": "8fb74b9fb2b182d54beee592350d9ea1f325917a",
      "tree": "ccdcf36cfedb0cf54268226ebde75330e4882539",
      "parents": [
        "c0a3a20b6c4b5229ef5d26fd9b1c4b1957632aa7"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Jan 11 14:32:16 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 11 14:54:56 2013 -0800"
      },
      "message": "mm: compaction: partially revert capture of suitable high-order page\n\nEric Wong reported on 3.7 and 3.8-rc2 that ppoll() got stuck when\nwaiting for POLLIN on a local TCP socket.  It was easier to trigger if\nthere was disk IO and dirty pages at the same time and he bisected it to\ncommit 1fb3f8ca0e92 (\"mm: compaction: capture a suitable high-order page\nimmediately when it is made available\").\n\nThe intention of that patch was to improve high-order allocations under\nmemory pressure after changes made to reclaim in 3.6 drastically hurt\nTHP allocations but the approach was flawed.  For Eric, the problem was\nthat page-\u003epfmemalloc was not being cleared for captured pages leading\nto a poor interaction with swap-over-NFS support causing the packets to\nbe dropped.  However, I identified a few more problems with the patch\nincluding the fact that it can increase contention on zone-\u003elock in some\ncases which could result in async direct compaction being aborted early.\n\nIn retrospect the capture patch took the wrong approach.  What it should\nhave done is mark the pageblock being migrated as MIGRATE_ISOLATE if it\nwas allocating for THP and avoided races that way.  While the patch was\nshowing to improve allocation success rates at the time, the benefit is\nmarginal given the relative complexity and it should be revisited from\nscratch in the context of the other reclaim-related changes that have\ntaken place since the patch was first written and tested.  This patch\npartially reverts commit 1fb3f8ca0e92 (\"mm: compaction: capture a\nsuitable high-order page immediately when it is made available\").\n\nReported-and-tested-by: Eric Wong \u003cnormalperson@yhbt.net\u003e\nTested-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c0a3a20b6c4b5229ef5d26fd9b1c4b1957632aa7",
      "tree": "3809e683c054ba7e285db493aad31132e7ea9681",
      "parents": [
        "829199197a430dade2519d54f5545c4a094393b8"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Fri Jan 11 14:32:13 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 11 14:54:56 2013 -0800"
      },
      "message": "linux/audit.h: move ptrace.h include to kernel header\n\nWhile the kernel internals want pt_regs (and so it includes\nlinux/ptrace.h), the user version of audit.h does not need it.  So move\nthe include out of the uapi version.\n\nThis avoids issues where people want the audit defines and userland\nptrace api.  Including both the kernel ptrace and the userland ptrace\nheaders can easily lead to failure.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nReviewed-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b9205bd775afc4439ed86d617f9042ee9e76a71",
      "tree": "cfb91447f15301d7daccc73bda12a63fde6a229d",
      "parents": [
        "56ca9d98772c68368c929ab41d42108319a38da2"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Fri Jan 11 14:32:05 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 11 14:54:55 2013 -0800"
      },
      "message": "audit: create explicit AUDIT_SECCOMP event type\n\nThe seccomp path was using AUDIT_ANOM_ABEND from when seccomp mode 1\ncould only kill a process.  While we still want to make sure an audit\nrecord is forced on a kill, this should use a separate record type since\nseccomp mode 2 introduces other behaviors.\n\nIn the case of \"handled\" behaviors (process wasn\u0027t killed), only emit a\nrecord if the process is under inspection.  This change also fixes\nuserspace examination of seccomp audit events, since it was considered\nmalformed due to missing fields of the AUDIT_ANOM_ABEND event type.\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Julien Tinnes \u003cjln@google.com\u003e\nAcked-by: Will Drewry \u003cwad@chromium.org\u003e\nAcked-by: Steve Grubb \u003csgrubb@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@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": "1b963c81b14509e330e0fe3218b645ece2738dc5",
      "tree": "5179a29d62e7283c8a1d764e7e320490c4352aeb",
      "parents": [
        "fef6c12e8874279ebebfa4cd58d735f6adce3ed1"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jan 11 14:31:56 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 11 14:54:55 2013 -0800"
      },
      "message": "lockdep, rwsem: provide down_write_nest_lock()\n\ndown_write_nest_lock() provides a means to annotate locking scenario\nwhere an outer lock is guaranteed to serialize the order nested locks\nare being acquired.\n\nThis is analogoue to already existing mutex_lock_nest_lock() and\nspin_lock_nest_lock().\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nTested-by: Sedat Dilek \u003csedat.dilek@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": "896f97ea95c1d29c0520ee0766b66b7f64cb967c",
      "tree": "9898ba669c2348294452fcfd5b7b81fe04cb072f",
      "parents": [
        "254adaa465c40151df11fc1f88f93e6e86eb61d4"
      ],
      "author": {
        "name": "David Decotigny",
        "email": "decot@googlers.com",
        "time": "Fri Jan 11 14:31:36 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 11 14:54:54 2013 -0800"
      },
      "message": "lib: cpu_rmap: avoid flushing all workqueues\n\nIn some cases, free_irq_cpu_rmap() is called while holding a lock (eg\nrtnl).  This can lead to deadlocks, because it invokes\nflush_scheduled_work() which ends up waiting for whole system workqueue\nto flush, but some pending works might try to acquire the lock we are\nalready holding.\n\nThis commit uses reference-counting to replace\nirq_run_affinity_notifiers().  It also removes\nirq_run_affinity_notifiers() altogether.\n\n[akpm@linux-foundation.org: eliminate free_cpu_rmap, rename cpu_rmap_reclaim() to cpu_rmap_release(), propagate kref_put() retval from cpu_rmap_put()]\nSigned-off-by: David Decotigny \u003cdecot@googlers.com\u003e\nReviewed-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nAcked-by: Amir Vadai \u003camirv@mellanox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54b956b903607f8f8878754dd4352da6a54a1da2",
      "tree": "5f4a5bafbafb4105882c21183e397524c53f1e69",
      "parents": [
        "9931faca02c604c22335f5a935a501bb2ace6e20"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 10 10:57:01 2013 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 10 10:57:01 2013 -0800"
      },
      "message": "Remove __dev* markings from init.h\n\nNow that all in-kernel users of __dev* are gone, let\u0027s remove them from\ninit.h to keep them from popping up again and again.\n\nThanks to Bill Pemberton for doing all of the hard work to make removal\nof this possible.\n\nCc: Bill Pemberton \u003cwfp5p@virginia.edu\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "08c097fc3bb283299a6915a6a3795edab85979b1",
      "tree": "5c19a18fd83a34a0a853a4a43c83ec9b9aa1ee96",
      "parents": [
        "974b33586b4bbbdab33c666417f9ba9ef50b62c3"
      ],
      "author": {
        "name": "Marc Dionne",
        "email": "marc.c.dionne@gmail.com",
        "time": "Wed Jan 09 14:16:30 2013 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 09 08:26:53 2013 -0800"
      },
      "message": "cred: Remove tgcred pointer from struct cred\n\nCommit 3a50597de863 (\"KEYS: Make the session and process keyrings\nper-thread\") removed the definition of the thread_group_cred structure,\nbut left a now unused pointer in struct cred.\n\nSigned-off-by: Marc Dionne \u003cmarc.c.dionne@gmail.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e909c682d04e55e77a3c9d158e7dc36027195493",
      "tree": "b90ec2ea72c088f60d6c927696fb7a44afe01588",
      "parents": [
        "d1c3ed669a2d452cacfb48c2d171a1f364dae2ed"
      ],
      "author": {
        "name": "Sascha Hauer",
        "email": "s.hauer@pengutronix.de",
        "time": "Mon Jan 07 10:57:14 2013 +0100"
      },
      "committer": {
        "name": "Sascha Hauer",
        "email": "s.hauer@pengutronix.de",
        "time": "Tue Jan 08 09:44:06 2013 +0100"
      },
      "message": "[media] coda: Fix build due to iram.h rename\n\ncommit c045e3f13 (ARM: imx: include iram.h rather than mach/iram.h) changed the\nlocation of iram.h, which causes the following build error when building the coda\ndriver:\n\ndrivers/media/platform/coda.c:27:23: error: mach/iram.h: No such file or directory\ndrivers/media/platform/coda.c: In function \u0027coda_probe\u0027:\ndrivers/media/platform/coda.c:2000: error: implicit declaration of function \u0027iram_alloc\u0027\ndrivers/media/platform/coda.c:2001: warning: assignment makes pointer from integer without a cast\ndrivers/media/platform/coda.c: In function \u0027coda_remove\u0027:\ndrivers/media/platform/coda.c:2024: error: implicit declaration of function \u0027iram_free\u0027\n\nSince the content of iram.h is not imx specific, move it to\ninclude/linux/platform_data/imx-iram.h instead. This is an intermediate solution\nuntil the i.MX iram allocator is converted to the generic SRAM allocator.\n\nSigned-off-by: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "d287b8750e47c1702dab0e37ac11012bb751ece0",
      "tree": "f3663e3e612b2e25be1d261acd39dda6f36ca08e",
      "parents": [
        "36a25de23359940b7713fc40cbcbb046b3797511",
        "08b60f8438879a84246d7debded31c9cb7aea6e4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 07 09:41:20 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 07 09:41:20 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull namei.h missing include fix from Al Viro.\n\nThe new use of ESTALE in namei.h can cause compile failures on ARM with\ncertain configurations due to lack of errno.h.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  namei.h: include errno.h\n"
    },
    {
      "commit": "a458431e176ddb27e8ef8b98c2a681b217337393",
      "tree": "466ec91a25ebbe30870d12486071bb08a8c7cd5a",
      "parents": [
        "358e419f826b552c9d795bcd3820597217692461"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "b.zolnierkie@samsung.com",
        "time": "Fri Jan 04 15:35:08 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 04 16:11:46 2013 -0800"
      },
      "message": "mm: fix zone_watermark_ok_safe() accounting of isolated pages\n\nCommit 702d1a6e0766 (\"memory-hotplug: fix kswapd looping forever\nproblem\") added an isolated pageblocks counter (nr_pageblock_isolate in\nstruct zone) and used it to adjust free pages counter in\nzone_watermark_ok_safe() to prevent kswapd looping forever problem.\n\nThen later, commit 2139cbe627b8 (\"cma: fix counting of isolated pages\")\nfixed accounting of isolated pages in global free pages counter.  It\nmade the previous zone_watermark_ok_safe() fix unnecessary and\npotentially harmful (cause now isolated pages may be accounted twice\nmaking free pages counter incorrect).\n\nThis patch removes the special isolated pageblocks counter altogether\nwhich fixes zone_watermark_ok_safe() free pages check.\n\nReported-by: Tomasz Stanislawski \u003ct.stanislaws@samsung.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cb.zolnierkie@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Aaditya Kumar \u003caaditya.kumar.30@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nCc: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nCc: Hugh Dickins \u003chughd@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": "3a665531a3b7c2ad2c87903b24646be6916340e4",
      "tree": "9f5186e3b9786216a74c092b6652d958abc8e2a9",
      "parents": [
        "4a674f34ba04a002244edaf891b5da7fc1473ae8"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 04 15:34:56 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 04 16:11:45 2013 -0800"
      },
      "message": "selftests: IPC message queue copy feature test\n\nThis test can be used to check wheither kernel supports IPC message queue\ncopy and restore features (required by CRIU project).\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@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": "f9dd87f4738c7555aca2cdf8cb2b2326cafb0cad",
      "tree": "4fb581910eaee4309ae6befeef8c4f921b274c5d",
      "parents": [
        "03f595668017f1a1fb971c02fc37140bc6e7bb1c"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 04 15:34:52 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 04 16:11:45 2013 -0800"
      },
      "message": "ipc: message queue receive cleanup\n\nMove all message related manipulation into one function msg_fill().\nActually, two functions because of the compat one.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@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": "03f595668017f1a1fb971c02fc37140bc6e7bb1c",
      "tree": "3aa5c4b32b5fd396f0d74679548de8c09ca195a1",
      "parents": [
        "9afdacda0252fc1ddb7907728e878518edbcdfce"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 04 15:34:50 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 04 16:11:45 2013 -0800"
      },
      "message": "ipc: add sysctl to specify desired next object id\n\nAdd 3 new variables and sysctls to tune them (by one \"next_id\" variable\nfor messages, semaphores and shared memory respectively).  This variable\ncan be used to set desired id for next allocated IPC object.  By default\nit\u0027s equal to -1 and old behaviour is preserved.  If this variable is\nnon-negative, then desired idr will be extracted from it and used as a\nstart value to search for free IDR slot.\n\nNotes:\n\n1) this patch doesn\u0027t guarantee that the new object will have desired\n   id.  So it\u0027s up to user space how to handle new object with wrong id.\n\n2) After a sucessful id allocation attempt, \"next_id\" will be set back\n   to -1 (if it was non-negative).\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@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": "e389623a68622e3c9be440ab522fac1aa1ca3454",
      "tree": "9cf1e13b4656c1d6b79a83e6225d2496b65ac387",
      "parents": [
        "63a29f744fe1c19742039ce7526663a98f172f7e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Dec 21 15:15:49 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 03 15:57:16 2013 -0800"
      },
      "message": "include: remove __dev* attributes.\n\nCONFIG_HOTPLUG is going away as an option.  As a result, the __dev*\nmarkings need to be removed.\n\nThis change removes the use of __devinit from some include files that\nwere previously missed.\n\nBased on patches originally written by Bill Pemberton, but redone by me\nin order to handle some of the coding style issues better, by hand.\n\nCc: Bill Pemberton \u003cwfp5p@virginia.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "0f58a01ddd5e8177255705ba15e64c3b74d67993",
      "tree": "3ac74486247a11f2bc98da40e5be78fbded09192",
      "parents": [
        "bcd2982a0e2af8d0506271b439af4b568fc33fdc"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Dec 21 15:12:59 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 03 15:57:15 2013 -0800"
      },
      "message": "Drivers: bcma: remove __dev* attributes.\n\nCONFIG_HOTPLUG is going away as an option.  As a result, the __dev*\nmarkings need to be removed.\n\nThis change removes the use of __devinit, __devexit_p, and __devexit\nfrom these drivers.\n\nBased on patches originally written by Bill Pemberton, but redone by me\nin order to handle some of the coding style issues better, by hand.\n\nCc: Bill Pemberton \u003cwfp5p@virginia.edu\u003e\nCc: \"Rafał Miłecki\" \u003czajec5@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "f568f6ca811fe681ecfd11c4ce78b6aa488020c0",
      "tree": "032951483c8d9d70867c0d8d5f7f9bc2ad5d14f1",
      "parents": [
        "fcb35a9bac6710851bbca1b7908ca85e83aecb4a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Dec 21 15:02:05 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 03 15:57:14 2013 -0800"
      },
      "message": "pstore: remove __dev* attributes.\n\nCONFIG_HOTPLUG is going away as an option.  As a result, the __dev*\nmarkings need to be removed.\n\nThis change removes the use of __devinit from the pstore filesystem.\n\nBased on patches originally written by Bill Pemberton, but redone by me\nin order to handle some of the coding style issues better, by hand.\n\nCc: Bill Pemberton \u003cwfp5p@virginia.edu\u003e\nCc: Anton Vorontsov \u003ccbouatmailru@gmail.com\u003e\nCc: Colin Cross \u003cccross@android.com\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "080a62e2ceec28163194facb837d6388983aae5d",
      "tree": "c39ea5bd760383e2300057adcc112ea3be6ce4a4",
      "parents": [
        "8a7eab2b54b349d005181fd971cfa027b1976c7b",
        "812089e01b9f65f90fc8fc670d8cce72a0e01fbb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 17:44:29 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 17:44:29 2013 -0800"
      },
      "message": "Merge tag \u00273.8-pci-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci\n\nPull PCI updates from Bjorn Helgaas:\n \"Some fixes for v3.8.  They include a fix for the new SR-IOV sysfs\n  management support, an expanded quirk for Ricoh SD card readers, a\n  Stratus DMI quirk fix, and a PME polling fix.\"\n\n* tag \u00273.8-pci-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:\n  PCI: Reduce Ricoh 0xe822 SD card reader base clock frequency to 50MHz\n  PCI/PM: Do not suspend port if any subordinate device needs PME polling\n  PCI: Add PCIe Link Capability link speed and width names\n  PCI: Work around Stratus ftServer broken PCIe hierarchy (fix DMI check)\n  PCI: Remove spurious error for sriov_numvfs store and simplify flow\n"
    },
    {
      "commit": "3d33fcc11bdd11b6949cf5c406726a094395dc4f",
      "tree": "c2c25e3d7b3c031d21048c5606cceb5fe09d37f8",
      "parents": [
        "007f6c3a63e0831ff5a34bde072db08e917134c8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Jan 02 15:12:55 2013 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 17:36:10 2013 -0800"
      },
      "message": "UAPI: Remove empty Kbuild files\n\nEmpty files can get deleted by the patch program, so remove empty Kbuild\nfiles and their links from the parent Kbuilds.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42288fe366c4f1ce7522bc9f27d0bc2a81c55264",
      "tree": "f881ebd4f4032e6cc8f5f848b2e61e9ff1d611af",
      "parents": [
        "5439ca6b8ff8cf8d758c19eb28b617a5912904ee"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Dec 21 23:10:25 2012 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 17:32:13 2013 -0800"
      },
      "message": "mm: mempolicy: Convert shared_policy mutex to spinlock\n\nSasha was fuzzing with trinity and reported the following problem:\n\n  BUG: sleeping function called from invalid context at kernel/mutex.c:269\n  in_atomic(): 1, irqs_disabled(): 0, pid: 6361, name: trinity-main\n  2 locks held by trinity-main/6361:\n   #0:  (\u0026mm-\u003emmap_sem){++++++}, at: [\u003cffffffff810aa314\u003e] __do_page_fault+0x1e4/0x4f0\n   #1:  (\u0026(\u0026mm-\u003epage_table_lock)-\u003erlock){+.+...}, at: [\u003cffffffff8122f017\u003e] handle_pte_fault+0x3f7/0x6a0\n  Pid: 6361, comm: trinity-main Tainted: G        W\n  3.7.0-rc2-next-20121024-sasha-00001-gd95ef01-dirty #74\n  Call Trace:\n    __might_sleep+0x1c3/0x1e0\n    mutex_lock_nested+0x29/0x50\n    mpol_shared_policy_lookup+0x2e/0x90\n    shmem_get_policy+0x2e/0x30\n    get_vma_policy+0x5a/0xa0\n    mpol_misplaced+0x41/0x1d0\n    handle_pte_fault+0x465/0x6a0\n\nThis was triggered by a different version of automatic NUMA balancing\nbut in theory the current version is vunerable to the same problem.\n\ndo_numa_page\n  -\u003e numa_migrate_prep\n    -\u003e mpol_misplaced\n      -\u003e get_vma_policy\n        -\u003e shmem_get_policy\n\nIt\u0027s very unlikely this will happen as shared pages are not marked\npte_numa -- see the page_mapcount() check in change_pte_range() -- but\nit is possible.\n\nTo address this, this patch restores sp-\u003elock as originally implemented\nby Kosaki Motohiro.  In the path where get_vma_policy() is called, it\nshould not be calling sp_alloc() so it is not necessary to treat the PTL\nspecially.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nTested-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5439ca6b8ff8cf8d758c19eb28b617a5912904ee",
      "tree": "676f9e0b25074d2d8c5ab29df30c962b3cb7311e",
      "parents": [
        "a7a88b23737095e6c18a20c5d4eef9e25ec5b829",
        "0e9a9a1ad619e7e987815d20262d36a2f95717ca"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 09:57:34 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 09:57:34 2013 -0800"
      },
      "message": "Merge tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\nPull ext4 bug fixes from Ted Ts\u0027o:\n \"Various bug fixes for ext4.  Perhaps the most serious bug fixed is one\n  which could cause file system corruptions when performing file punch\n  operations.\"\n\n* tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: avoid hang when mounting non-journal filesystems with orphan list\n  ext4: lock i_mutex when truncating orphan inodes\n  ext4: do not try to write superblock on ro remount w/o journal\n  ext4: include journal blocks in df overhead calcs\n  ext4: remove unaligned AIO warning printk\n  ext4: fix an incorrect comment about i_mutex\n  ext4: fix deadlock in journal_unmap_buffer()\n  ext4: split off ext4_journalled_invalidatepage()\n  jbd2: fix assertion failure in jbd2_journal_flush()\n  ext4: check dioread_nolock on remount\n  ext4: fix extent tree corruption caused by hole punch\n"
    },
    {
      "commit": "a7a88b23737095e6c18a20c5d4eef9e25ec5b829",
      "tree": "da6000487d0a1e4694fd760ac55467bce091e854",
      "parents": [
        "f2a07f40dbc603c15f8b06e6ec7f768af67b424f"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Jan 02 02:04:23 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 09:27:10 2013 -0800"
      },
      "message": "mempolicy: remove arg from mpol_parse_str, mpol_to_str\n\nRemove the unused argument (formerly no_context) from mpol_parse_str()\nand from mpol_to_str().\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ddf75ae34e61bc8472f8b54281ad29bc87274be1",
      "tree": "cd93e82253bc35d1bd97859f7b6353223e0c2f84",
      "parents": [
        "7fd83b47cebb9e4fafab0ff9a058d2bebf29b8f5",
        "48c6d1217e3dc743e7d3ad9b9def8d4810d13a85"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 27 10:42:46 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 27 10:42:46 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace\n\nPull namespace fixes from Eric Biederman:\n \"This tree includes two bug fixes for problems Oleg spotted on his\n  review of the recent pid namespace work.  A small fix to not enable\n  bottom halves with irqs disabled, and a trivial build fix for f2fs\n  with user namespaces enabled.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:\n  f2fs: Don\u0027t assign e_id in f2fs_acl_from_disk\n  proc: Allow proc_free_inum to be called from any context\n  pidns: Stop pid allocation when init dies\n  pidns: Outlaw thread creation after unshare(CLONE_NEWPID)\n"
    },
    {
      "commit": "7fd83b47cebb9e4fafab0ff9a058d2bebf29b8f5",
      "tree": "eb669f55b4e144afd49349f4922b78009f938ccd",
      "parents": [
        "ad4b3fb7ff9940bcdb1e4cd62bd189d10fa636ba",
        "ae782bb16c35ce27512beeda9be6024c88f85b08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 27 10:40:30 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 27 10:40:30 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n1) GRE tunnel drivers don\u0027t set the transport header properly, they also\n   blindly deref the inner protocol ipv4 and needs some checks.  Fixes\n   from Isaku Yamahata.\n\n2) Fix sleeps while atomic in netdevice rename code, from Eric Dumazet.\n\n3) Fix double-spinlock in solos-pci driver, from Dan Carpenter.\n\n4) More ARP bug fixes.  Fix lockdep splat in arp_solicit() and then the\n   bug accidentally added by that fix.  From Eric Dumazet and Cong Wang.\n\n5) Remove some __dev* annotations that slipped back in, as well as all\n   HOTPLUG references.  From Greg KH\n\n6) RDS protocol uses wrong interfaces to access scatter-gather elements,\n   causing a regression.  From Mike Marciniszyn.\n\n7) Fix build error in cpts driver, from Richard Cochran.\n\n8) Fix arithmetic in packet scheduler, from Stefan Hasko.\n\n9) Similarly, fix association during calculation of random backoff in\n   batman-adv.  From Akinobu Mita.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (21 commits)\n  ipv6/ip6_gre: set transport header correctly\n  ipv4/ip_gre: set transport header correctly to gre header\n  IB/rds: suppress incompatible protocol when version is known\n  IB/rds: Correct ib_api use with gs_dma_address/sg_dma_len\n  net/vxlan: Use the underlying device index when joining/leaving multicast groups\n  tcp: should drop incoming frames without ACK flag set\n  netprio_cgroup: define sk_cgrp_prioidx only if NETPRIO_CGROUP is enabled\n  cpts: fix a run time warn_on.\n  cpts: fix build error by removing useless code.\n  batman-adv: fix random jitter calculation\n  arp: fix a regression in arp_solicit()\n  net: sched: integer overflow fix\n  CONFIG_HOTPLUG removal from networking core\n  Drivers: network: more __dev* removal\n  bridge: call br_netpoll_disable in br_add_if\n  ipv4: arp: fix a lockdep splat in arp_solicit()\n  tuntap: dont use a private kmem_cache\n  net: devnet_rename_seq should be a seqcount\n  ip_gre: fix possible use after free\n  ip_gre: make ipgre_tunnel_xmit() not parse network header as IP unconditionally\n  ...\n"
    },
    {
      "commit": "ad4b3fb7ff9940bcdb1e4cd62bd189d10fa636ba",
      "tree": "aa9d7bc0e606df0104b47716c90a38c6689fc713",
      "parents": [
        "637704cbc95c02d18741b4a6e7a5d2397f8b28ce"
      ],
      "author": {
        "name": "Christoffer Dall",
        "email": "cdall@cs.columbia.edu",
        "time": "Fri Dec 21 13:03:50 2012 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 26 14:57:34 2012 -0800"
      },
      "message": "mm: Fix PageHead when !CONFIG_PAGEFLAGS_EXTENDED\n\nUnfortunately with !CONFIG_PAGEFLAGS_EXTENDED, (!PageHead) is false, and\n(PageHead) is true, for tail pages.  If this is indeed the intended\nbehavior, which I doubt because it breaks cache cleaning on some ARM\nsystems, then the nomenclature is highly problematic.\n\nThis patch makes sure PageHead is only true for head pages and PageTail\nis only true for tail pages, and neither is true for non-compound pages.\n\n[ This buglet seems ancient - seems to have been introduced back in Apr\n  2008 in commit 6a1e7f777f61: \"pageflags: convert to the use of new\n  macros\".  And the reason nobody noticed is because the PageHead()\n  tests are almost all about just sanity-checking, and only used on\n  pages that are actual page heads.  The fact that the old code returned\n  true for tail pages too was thus not really noticeable.   - Linus ]\n\nSigned-off-by: Christoffer Dall \u003ccdall@cs.columbia.edu\u003e\nAcked-by:  Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Will Deacon \u003cWill.Deacon@arm.com\u003e\nCc: Steve Capper \u003cSteve.Capper@arm.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: stable@kernel.org  # 2.6.26+\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "812089e01b9f65f90fc8fc670d8cce72a0e01fbb",
      "tree": "cc187999ed4f669cd5bed0b9de661e9d99ec3753",
      "parents": [
        "c733b77475707cc3980542c86ee0ad5c841d544c"
      ],
      "author": {
        "name": "Andy Lutomirski",
        "email": "luto@amacapital.net",
        "time": "Sat Dec 01 12:37:20 2012 -0800"
      },
      "committer": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Wed Dec 26 10:43:06 2012 -0700"
      },
      "message": "PCI: Reduce Ricoh 0xe822 SD card reader base clock frequency to 50MHz\n\nOtherwise it fails like this on cards like the Transcend 16GB SDHC card:\n\n    mmc0: new SDHC card at address b368\n    mmcblk0: mmc0:b368 SDC   15.0 GiB\n    mmcblk0: error -110 sending status command, retrying\n    mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb0\n\nTested on my Lenovo x200 laptop.\n\n[bhelgaas: changelog]\nSigned-off-by: Andy Lutomirski \u003cluto@amacapital.net\u003e\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nAcked-by: Chris Ball \u003ccjb@laptop.org\u003e\nCC: Manoj Iyer \u003cmanoj.iyer@canonical.com\u003e\nCC: stable@vger.kernel.org"
    },
    {
      "commit": "c876ad7682155958d0c9c27afe9017925c230d64",
      "tree": "926064bd7909f60daed3b6b963555e57cab7b520",
      "parents": [
        "8382fcac1b813ad0a4e68a838fc7ae93fa39eda0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Dec 21 20:27:12 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Dec 25 16:10:05 2012 -0800"
      },
      "message": "pidns: Stop pid allocation when init dies\n\nOleg pointed out that in a pid namespace the sequence.\n- pid 1 becomes a zombie\n- setns(thepidns), fork,...\n- reaping pid 1.\n- The injected processes exiting.\n\nCan lead to processes attempting access their child reaper and\ninstead following a stale pointer.\n\nThat waitpid for init can return before all of the processes in\nthe pid namespace have exited is also unfortunate.\n\nAvoid these problems by disabling the allocation of new pids in a pid\nnamespace when init dies, instead of when the last process in a pid\nnamespace is reaped.\n\nPointed-out-by:  Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "08b60f8438879a84246d7debded31c9cb7aea6e4",
      "tree": "75367ca36c1e531e6fbf7745f8ffdf556eeb4864",
      "parents": [
        "a49f0d1ea3ec94fc7cf33a7c36a16343b74bd565"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@wwwdotorg.org",
        "time": "Mon Dec 24 11:14:58 2012 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 25 18:45:06 2012 -0500"
      },
      "message": "namei.h: include errno.h\n\nThis solves:\n\nIn file included from fs/ext3/symlink.c:20:0:\ninclude/linux/namei.h: In function \u0027retry_estale\u0027:\ninclude/linux/namei.h:114:19: error: \u0027ESTALE\u0027 undeclared (first use in this function)\n\nSigned-off-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "53e872681fed6a43047e71bf927f77d06f467988",
      "tree": "8b5061acbaf222b3f25df54ddbcaa0b1123c471a",
      "parents": [
        "4520fb3c3690f2643006d85f09ecb74554c10e95"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Dec 25 13:29:52 2012 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 25 13:29:52 2012 -0500"
      },
      "message": "ext4: fix deadlock in journal_unmap_buffer()\n\nWe cannot wait for transaction commit in journal_unmap_buffer()\nbecause we hold page lock which ranks below transaction start.  We\nsolve the issue by bailing out of journal_unmap_buffer() and\njbd2_journal_invalidatepage() with -EBUSY.  Caller is then responsible\nfor waiting for transaction commit to finish and try invalidation\nagain. Since the issue can happen only for page stradding i_size, it\nis simple enough to manually call jbd2_journal_invalidatepage() for\nsuch page from ext4_setattr(), check the return value and wait if\nnecessary.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "4fe19a136a8871e5fc6e44d72979f18a4968c2ab",
      "tree": "785366514a250acd3f38f91686f2c886dc34cfb9",
      "parents": [
        "769cb858c23ba7379ea27208624b444cd7b61af2",
        "d692170037c0338b31dac5ac4722c1360a4b5257"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 17:10:29 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 17:10:29 2012 -0800"
      },
      "message": "Merge git://www.linux-watchdog.org/linux-watchdog\n\nPull watchdog updates from Wim Van Sebroeck:\n \"This includes some fixes and code improvements (like\n  clk_prepare_enable and clk_disable_unprepare), conversion from the\n  omap_wdt and twl4030_wdt drivers to the watchdog framework, addition\n  of the SB8x0 chipset support and the DA9055 Watchdog driver and some\n  OF support for the davinci_wdt driver.\"\n\n* git://www.linux-watchdog.org/linux-watchdog: (22 commits)\n  watchdog: mei: avoid oops in watchdog unregister code path\n  watchdog: Orion: Fix possible null-deference in orion_wdt_probe\n  watchdog: sp5100_tco: Add SB8x0 chipset support\n  watchdog: davinci_wdt: add OF support\n  watchdog: da9052: Fix invalid free of devm_ allocated data\n  watchdog: twl4030_wdt: Change TWL4030_MODULE_PM_RECEIVER to TWL_MODULE_PM_RECEIVER\n  watchdog: remove depends on CONFIG_EXPERIMENTAL\n  watchdog: Convert dev_printk(KERN_\u003cLEVEL\u003e to dev_\u003clevel\u003e(\n  watchdog: DA9055 Watchdog driver\n  watchdog: omap_wdt: eliminate goto\n  watchdog: omap_wdt: delete redundant platform_set_drvdata() calls\n  watchdog: omap_wdt: convert to devm_ functions\n  watchdog: omap_wdt: convert to new watchdog core\n  watchdog: WatchDog Timer Driver Core: fix comment\n  watchdog: s3c2410_wdt: use clk_prepare_enable and clk_disable_unprepare\n  watchdog: imx2_wdt: Select the driver via ARCH_MXC\n  watchdog: cpu5wdt.c: add missing del_timer call\n  watchdog: hpwdt.c: Increase version string\n  watchdog: Convert twl4030_wdt to watchdog core\n  davinci_wdt: preparation for switch to common clock framework\n  ...\n"
    },
    {
      "commit": "b49249d10324d0fd6fb29725c2807dfd80d0edbc",
      "tree": "9a8fa724e6c9f9283530979c6e32a311c74999d5",
      "parents": [
        "10532b560bacf23766f9c7dc09778b31b198ff45",
        "45e621d45e24ffc4cb2b2935e8438987b860063a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 17:08:06 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 17:08:06 2012 -0800"
      },
      "message": "Merge tag \u0027dm-3.8-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm\n\nPull dm update from Alasdair G Kergon:\n \"Miscellaneous device-mapper fixes, cleanups and performance\n  improvements.\n\n  Of particular note:\n   - Disable broken WRITE SAME support in all targets except linear and\n     striped.  Use it when kcopyd is zeroing blocks.\n   - Remove several mempools from targets by moving the data into the\n     bio\u0027s new front_pad area(which dm calls \u0027per_bio_data\u0027).\n   - Fix a race in thin provisioning if discards are misused.\n   - Prevent userspace from interfering with the ioctl parameters and\n     use kmalloc for the data buffer if it\u0027s small instead of vmalloc.\n   - Throttle some annoying error messages when I/O fails.\"\n\n* tag \u0027dm-3.8-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm: (36 commits)\n  dm stripe: add WRITE SAME support\n  dm: remove map_info\n  dm snapshot: do not use map_context\n  dm thin: dont use map_context\n  dm raid1: dont use map_context\n  dm flakey: dont use map_context\n  dm raid1: rename read_record to bio_record\n  dm: move target request nr to dm_target_io\n  dm snapshot: use per_bio_data\n  dm verity: use per_bio_data\n  dm raid1: use per_bio_data\n  dm: introduce per_bio_data\n  dm kcopyd: add WRITE SAME support to dm_kcopyd_zero\n  dm linear: add WRITE SAME support\n  dm: add WRITE SAME support\n  dm: prepare to support WRITE SAME\n  dm ioctl: use kmalloc if possible\n  dm ioctl: remove PF_MEMALLOC\n  dm persistent data: improve improve space map block alloc failure message\n  dm thin: use DMERR_LIMIT for errors\n  ...\n"
    },
    {
      "commit": "184e2516614f7055d4c3a2e63fd8a3eb95fff6d6",
      "tree": "9822dd3cc97f8cfed3cbda6167818b60355cc7ec",
      "parents": [
        "0264405b84505f60ae00625f261e75a32c7ddf56",
        "d72623b665d84b1e07fe43854e83387fce8dd134"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 16:40:26 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 16:40:26 2012 -0800"
      },
      "message": "Merge tag \u0027rdma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\nPull more infiniband changes from Roland Dreier:\n \"Second batch of InfiniBand/RDMA changes for 3.8:\n   - cxgb4 changes to fix lookup engine hash collisions\n   - mlx4 changes to make flow steering usable\n   - fix to IPoIB to avoid pinning dst reference for too long\"\n\n* tag \u0027rdma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  RDMA/cxgb4: Fix bug for active and passive LE hash collision path\n  RDMA/cxgb4: Fix LE hash collision bug for passive open connection\n  RDMA/cxgb4: Fix LE hash collision bug for active open connection\n  mlx4_core: Allow choosing flow steering mode\n  mlx4_core: Adjustments to Flow Steering activation logic for SR-IOV\n  mlx4_core: Fix error flow in the flow steering wrapper\n  mlx4_core: Add QPN enforcement for flow steering rules set by VFs\n  cxgb4: Add LE hash collision bug fix path in LLD driver\n  cxgb4: Add T4 filter support\n  IPoIB: Call skb_dst_drop() once skb is enqueued for sending\n"
    },
    {
      "commit": "30e6c9fa93cf3dbc7cc6df1d748ad25e4264545a",
      "tree": "e313291a178010fb892d9725cbecb326bd63fdc0",
      "parents": [
        "f7e75ba1772bc712af0070655ffd8b09906993b5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu Dec 20 17:25:08 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 21 13:14:01 2012 -0800"
      },
      "message": "net: devnet_rename_seq should be a seqcount\n\nUsing a seqlock for devnet_rename_seq is not a good idea,\nas device_rename() can sleep.\n\nAs we hold RTNL, we dont need a protection for writers,\nand only need a seqcount so that readers can catch a change done\nby a writer.\n\nBug added in commit c91f6df2db4972d3 (sockopt: Change getsockopt() of\nSO_BINDTODEVICE to return an interface name)\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7de3ee57da4b717050e79c9313a9bf66ccc72519",
      "tree": "dd9bf250c6d9139528e563167cabdb811c8fd6cb",
      "parents": [
        "ee18026ac69efba804144541171299efd41747d2"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Dec 21 20:23:41 2012 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Dec 21 20:23:41 2012 +0000"
      },
      "message": "dm: remove map_info\n\nThis patch removes map_info from bio-based device mapper targets.\nmap_info is still used for request-based targets.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "ddbd658f6446a35e4d6ba84812fd71023320cae2",
      "tree": "6c5bf9fd1cab10d20c21eb8582a5cc73f1bccc85",
      "parents": [
        "42bc954f2a4525c9034667dedc9bd1c342208013"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Dec 21 20:23:39 2012 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Dec 21 20:23:39 2012 +0000"
      },
      "message": "dm: move target request nr to dm_target_io\n\nThis patch moves target_request_nr from map_info to dm_target_io and\nmakes it accessible with dm_bio_get_target_request_nr.\n\nThis patch is a preparation for the next patch that removes map_info.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "c0820cf5ad09522bdd9ff68e84841a09c9f339d8",
      "tree": "04817d6d9a7d213ac96d1e014a9714f8f29ff07a",
      "parents": [
        "70d6c400acc386ea910c77318688541fc32e7ce8"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Dec 21 20:23:38 2012 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Dec 21 20:23:38 2012 +0000"
      },
      "message": "dm: introduce per_bio_data\n\nIntroduce a field per_bio_data_size in struct dm_target.\n\nTargets can set this field in the constructor. If a target sets this\nfield to a non-zero value, \"per_bio_data_size\" bytes of auxiliary data\nare allocated for each bio submitted to the target. These data can be\nused for any purpose by the target and help us improve performance by\nremoving some per-target mempools.\n\nPer-bio data is accessed with dm_per_bio_data. The\nargument data_size must be the same as the value per_bio_data_size in\ndm_target.\n\nIf the target has a pointer to per_bio_data, it can get a pointer to\nthe bio with dm_bio_from_per_bio_data() function (data_size must be the\nsame as the value passed to dm_per_bio_data).\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d54eaa5a0fde0a202e4e91f200f818edcef15bee",
      "tree": "bb40893166dc8cd1d0f84c8087d021b66774a007",
      "parents": [
        "9c5091f2eeeffe5eca2ffe8a1bc28d312c8a5083"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Fri Dec 21 20:23:36 2012 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Dec 21 20:23:36 2012 +0000"
      },
      "message": "dm: prepare to support WRITE SAME\n\nAllow targets to opt in to WRITE SAME support by setting\n\u0027num_write_same_requests\u0027 in the dm_target structure.\n\nA dm device will only advertise WRITE SAME support if all its\ntargets and all its underlying devices support it.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "96680d2b9174668100824d763382240c71baa811",
      "tree": "ec84c2347df47913cc98e3cfc1d43f427d51fa1f",
      "parents": [
        "4c9a44aebeaef35570a67aed17b72a2cf8d0b219",
        "1ca39ab9d21ac93f94b9e3eb364ea9a5cf2aba06"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 20:11:52 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 20:11:52 2012 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.infradead.org/users/eparis/notify\n\nPull filesystem notification updates from Eric Paris:\n \"This pull mostly is about locking changes in the fsnotify system.  By\n  switching the group lock from a spin_lock() to a mutex() we can now\n  hold the lock across things like iput().  This fixes a problem\n  involving unmounting a fs and having inodes be busy, first pointed out\n  by FAT, but reproducible with tmpfs.\n\n  This also restores signal driven I/O for inotify, which has been\n  broken since about 2.6.32.\"\n\nUgh.  I *hate* the timing of this.  It was rebased after the merge\nwindow opened, and then left to sit with the pull request coming the day\nbefore the merge window closes.  That\u0027s just crap.  But apparently the\npatches themselves have been around for over a year, just gathering\ndust, so now it\u0027s suddenly critical.\n\nFixed up semantic conflict in fs/notify/fdinfo.c as per Stephen\nRothwell\u0027s fixes from -next.\n\n* \u0027for-next\u0027 of git://git.infradead.org/users/eparis/notify:\n  inotify: automatically restart syscalls\n  inotify: dont skip removal of watch descriptor if creation of ignored event failed\n  fanotify: dont merge permission events\n  fsnotify: make fasync generic for both inotify and fanotify\n  fsnotify: change locking order\n  fsnotify: dont put marks on temporary list when clearing marks by group\n  fsnotify: introduce locked versions of fsnotify_add_mark() and fsnotify_remove_mark()\n  fsnotify: pass group to fsnotify_destroy_mark()\n  fsnotify: use a mutex instead of a spinlock to protect a groups mark list\n  fanotify: add an extra flag to mark_remove_from_mask that indicates wheather a mark should be destroyed\n  fsnotify: take groups mark_lock before mark lock\n  fsnotify: use reference counting for groups\n  fsnotify: introduce fsnotify_get_group()\n  inotify, fanotify: replace fsnotify_put_group() with fsnotify_destroy_group()\n"
    },
    {
      "commit": "4c9a44aebeaef35570a67aed17b72a2cf8d0b219",
      "tree": "abb874fe7f50671627b282f6c7fb58db5e75a2e3",
      "parents": [
        "1f0377ff088ed2971c57debc9b0c3b846ec431fd",
        "cfde819088422503b5c69e03ab7bb90f87121d4d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 20:00:43 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 20:00:43 2012 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge the rest of Andrew\u0027s patches for -rc1:\n \"A bunch of fixes and misc missed-out-on things.\n\n  That\u0027ll do for -rc1.  I still have a batch of IPC patches which still\n  have a possible bug report which I\u0027m chasing down.\"\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (25 commits)\n  keys: use keyring_alloc() to create module signing keyring\n  keys: fix unreachable code\n  sendfile: allows bypassing of notifier events\n  SGI-XP: handle non-fatal traps\n  fat: fix incorrect function comment\n  Documentation: ABI: remove testing/sysfs-devices-node\n  proc: fix inconsistent lock state\n  linux/kernel.h: fix DIV_ROUND_CLOSEST with unsigned divisors\n  memcg: don\u0027t register hotcpu notifier from -\u003ecss_alloc()\n  checkpatch: warn on uapi #includes that #include \u003cuapi/...\n  revert \"rtc: recycle id when unloading a rtc driver\"\n  mm: clean up transparent hugepage sysfs error messages\n  hfsplus: add error message for the case of failure of sync fs in delayed_sync_fs() method\n  hfsplus: rework processing of hfs_btree_write() returned error\n  hfsplus: rework processing errors in hfsplus_free_extents()\n  hfsplus: avoid crash on failed block map free\n  kcmp: include linux/ptrace.h\n  drivers/rtc/rtc-imxdi.c: must include \u003clinux/spinlock.h\u003e\n  mm: cma: WARN if freed memory is still in use\n  exec: do not leave bprm-\u003einterp on stack\n  ...\n"
    },
    {
      "commit": "1f0377ff088ed2971c57debc9b0c3b846ec431fd",
      "tree": "cd53c8981269e57e38e4285abd71cc990e1cfc67",
      "parents": [
        "54d46ea993744c5408e39ce0cb4851e13cbea716",
        "b729d75d19777a5dd34672020516eada43ff026f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:14:31 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:14:31 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull VFS update from Al Viro:\n \"fscache fixes, ESTALE patchset, vmtruncate removal series, assorted\n  misc stuff.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (79 commits)\n  vfs: make lremovexattr retry once on ESTALE error\n  vfs: make removexattr retry once on ESTALE\n  vfs: make llistxattr retry once on ESTALE error\n  vfs: make listxattr retry once on ESTALE error\n  vfs: make lgetxattr retry once on ESTALE\n  vfs: make getxattr retry once on an ESTALE error\n  vfs: allow lsetxattr() to retry once on ESTALE errors\n  vfs: allow setxattr to retry once on ESTALE errors\n  vfs: allow utimensat() calls to retry once on an ESTALE error\n  vfs: fix user_statfs to retry once on ESTALE errors\n  vfs: make fchownat retry once on ESTALE errors\n  vfs: make fchmodat retry once on ESTALE errors\n  vfs: have chroot retry once on ESTALE error\n  vfs: have chdir retry lookup and call once on ESTALE error\n  vfs: have faccessat retry once on an ESTALE error\n  vfs: have do_sys_truncate retry once on an ESTALE error\n  vfs: fix renameat to retry on ESTALE errors\n  vfs: make do_unlinkat retry once on ESTALE errors\n  vfs: make do_rmdir retry once on ESTALE errors\n  vfs: add a flags argument to user_path_parent\n  ...\n"
    },
    {
      "commit": "54d46ea993744c5408e39ce0cb4851e13cbea716",
      "tree": "8e38fa92cc2ae72e0353c44e1e68be9bf5a7a058",
      "parents": [
        "f59dc2bb5a50b26ea751f9eac1c81e4cc7de5257",
        "50ececcfa7d1acee085b2c518cad495062db6379"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:05:28 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:05:28 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull signal handling cleanups from Al Viro:\n \"sigaltstack infrastructure + conversion for x86, alpha and um,\n  COMPAT_SYSCALL_DEFINE infrastructure.\n\n  Note that there are several conflicts between \"unify\n  SS_ONSTACK/SS_DISABLE definitions\" and UAPI patches in mainline;\n  resolution is trivial - just remove definitions of SS_ONSTACK and\n  SS_DISABLED from arch/*/uapi/asm/signal.h; they are all identical and\n  include/uapi/linux/signal.h contains the unified variant.\"\n\nFixed up conflicts as per Al.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:\n  alpha: switch to generic sigaltstack\n  new helpers: __save_altstack/__compat_save_altstack, switch x86 and um to those\n  generic compat_sys_sigaltstack()\n  introduce generic sys_sigaltstack(), switch x86 and um to it\n  new helper: compat_user_stack_pointer()\n  new helper: restore_altstack()\n  unify SS_ONSTACK/SS_DISABLE definitions\n  new helper: current_user_stack_pointer()\n  missing user_stack_pointer() instances\n  Bury the conditionals from kernel_thread/kernel_execve series\n  COMPAT_SYSCALL_DEFINE: infrastructure\n"
    },
    {
      "commit": "c4e18497d8fd92eef2c6e7eadcc1a107ccd115ea",
      "tree": "9513b220cbdd633ad7c42299d61f2b46b9fb1561",
      "parents": [
        "154b454edaf6d94a69016db6c342c57fa935bbe9"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "linux@roeck-us.net",
        "time": "Thu Dec 20 15:05:42 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 17:40:20 2012 -0800"
      },
      "message": "linux/kernel.h: fix DIV_ROUND_CLOSEST with unsigned divisors\n\nCommit 263a523d18bc (\"linux/kernel.h: Fix warning seen with W\u003d1 due to\nchange in DIV_ROUND_CLOSEST\") fixes a warning seen with W\u003d1 due to\nchange in DIV_ROUND_CLOSEST.\n\nUnfortunately, the C compiler converts divide operations with unsigned\ndivisors to unsigned, even if the dividend is signed and negative (for\nexample, -10 / 5U \u003d 858993457).  The C standard says \"If one operand has\nunsigned int type, the other operand is converted to unsigned int\", so\nthe compiler is not to blame.  As a result, DIV_ROUND_CLOSEST(0, 2U) and\nsimilar operations now return bad values, since the automatic conversion\nof expressions such as \"0 - 2U/2\" to unsigned was not taken into\naccount.\n\nFix by checking for the divisor variable type when deciding which\noperation to perform.  This fixes DIV_ROUND_CLOSEST(0, 2U), but still\nreturns bad values for negative dividends divided by unsigned divisors.\nMark the latter case as unsupported.\n\nOne observed effect of this problem is that the s2c_hwmon driver reports\na value of 4198403 instead of 0 if the ADC reads 0.\n\nOther impact is unpredictable.  Problem is seen if the divisor is an\nunsigned variable or constant and the dividend is less than (divisor/2).\n\nSigned-off-by: Guenter Roeck \u003clinux@roeck-us.net\u003e\nReported-by: Juergen Beisert \u003cjbe@pengutronix.de\u003e\nTested-by: Juergen Beisert \u003cjbe@pengutronix.de\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[3.7.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b66c5984017533316fd1951770302649baf1aa33",
      "tree": "78d1e5fc82a057c62699734602c8e5f7ca86b7a2",
      "parents": [
        "9f9c9cbb60576a1518d0bf93fb8e499cffccf377"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Thu Dec 20 15:05:16 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 17:40:19 2012 -0800"
      },
      "message": "exec: do not leave bprm-\u003einterp on stack\n\nIf a series of scripts are executed, each triggering module loading via\nunprintable bytes in the script header, kernel stack contents can leak\ninto the command line.\n\nNormally execution of binfmt_script and binfmt_misc happens recursively.\nHowever, when modules are enabled, and unprintable bytes exist in the\nbprm-\u003ebuf, execution will restart after attempting to load matching\nbinfmt modules.  Unfortunately, the logic in binfmt_script and\nbinfmt_misc does not expect to get restarted.  They leave bprm-\u003einterp\npointing to their local stack.  This means on restart bprm-\u003einterp is\nleft pointing into unused stack memory which can then be copied into the\nuserspace argv areas.\n\nAfter additional study, it seems that both recursion and restart remains\nthe desirable way to handle exec with scripts, misc, and modules.  As\nsuch, we need to protect the changes to interp.\n\nThis changes the logic to require allocation for any changes to the\nbprm-\u003einterp.  To avoid adding a new kmalloc to every exec, the default\nvalue is left as-is.  Only when passing through binfmt_script or\nbinfmt_misc does an allocation take place.\n\nFor a proof of concept, see DoTest.sh from:\n\n   http://www.halfdog.net/Security/2012/LinuxKernelBinfmtScriptStackDataDisclosure/\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: halfdog \u003cme@halfdog.net\u003e\nCc: P J P \u003cppandit@redhat.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\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": "1ac12b4b6d707937f9de6d09622823b2fd0c93ef",
      "tree": "7ac3f66abfcce206615abe9effd9e55f26c117a9",
      "parents": [
        "7955119e02d9fdf78a39fba8073f19ca6152613e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Dec 11 12:10:06 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:50:02 2012 -0500"
      },
      "message": "vfs: turn is_dir argument to kern_path_create into a lookup_flags arg\n\nWhere we can pass in LOOKUP_DIRECTORY or LOOKUP_REVAL. Any other flags\npassed in here are currently ignored.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b9d6ba94b875192ef5e2dab92d72beea33b83c3d",
      "tree": "a06e604535e10ec0c469300f0d36cb5aa8c2782d",
      "parents": [
        "21e89c0c48bb799beb09181740796fc80c9676e2"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Dec 20 14:59:40 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:50:00 2012 -0500"
      },
      "message": "vfs: add a retry_estale helper function to handle retries on ESTALE\n\nThis function is expected to be called from path-based syscalls to help\nthem decide whether to try the lookup and call again in the event that\nthey got an -ESTALE return back on an earier try.\n\nCurrently, we only retry the call once on an ESTALE error, but in the\nevent that we decide that that\u0027s not enough in the future, we should be\nable to change the logic in this helper without too much effort.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "21e89c0c48bb799beb09181740796fc80c9676e2",
      "tree": "bd5aef34a980f189ad41c75e881d225bc854bf44",
      "parents": [
        "b911a6bdeef5848c468597d040e3407e0aee04ce",
        "91c7fbbf63f33c77d8d28de624834a21888842bb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:49:14 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:49:14 2012 -0500"
      },
      "message": "Merge branch \u0027fscache\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into for-linus\n"
    },
    {
      "commit": "471667391a92bf7bf2cd4ff31a3ad88e5dec934b",
      "tree": "cb07ce436ed20f5f50e0e3c1db386a105ed65434",
      "parents": [
        "b9f61c3c0c8daed9844870bc9358e6d9fdb7eb61"
      ],
      "author": {
        "name": "Alessio Igor Bogani",
        "email": "abogani@kernel.org",
        "time": "Thu Dec 13 12:22:39 2012 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:47:08 2012 -0500"
      },
      "message": "vfs: Remove useless function prototypes\n\nCommit 8e22cc88d68ca1a46d7d582938f979eb640ed30f removes the (un)lock_super\nfunction definitions but forgets to remove their prototypes.\n\nSigned-off-by: Alessio Igor Bogani \u003cabogani@kernel.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7898575fc81bd707ce0844cb06874d48e39bbe09",
      "tree": "ab30305f0d957854497fababde6caff644b2bfca",
      "parents": [
        "d30357f2f0ec0bfb67fd39f8f76d22d02d78631e"
      ],
      "author": {
        "name": "Marco Stornelli",
        "email": "marco.stornelli@gmail.com",
        "time": "Sat Dec 15 12:00:02 2012 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:46:29 2012 -0500"
      },
      "message": "mm: drop vmtruncate\n\nRemoved vmtruncate\n\nSigned-off-by: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d30357f2f0ec0bfb67fd39f8f76d22d02d78631e",
      "tree": "0923a2f8276af03293410cb2b78b2457d7fc6996",
      "parents": [
        "9014da7525dffef69131f717decf262e08ff3d58"
      ],
      "author": {
        "name": "Marco Stornelli",
        "email": "marco.stornelli@gmail.com",
        "time": "Sat Dec 15 11:59:20 2012 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:46:29 2012 -0500"
      },
      "message": "vfs: drop vmtruncate\n\nRemoved vmtruncate\n\nSigned-off-by: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1f372dff1da37e2b36ae9085368fa46896398598",
      "tree": "f47b00dc61c9cf6c0eaa6d437bd7f91bfcb4d76d",
      "parents": [
        "7ef001e937e8b9cbedb2fc1c31dd681ac3b31927"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 13 20:03:13 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 22:34:00 2012 +0000"
      },
      "message": "FS-Cache: Mark cancellation of in-progress operation\n\nMark as cancelled an operation that is in progress rather than pending at the\ntime it is cancelled, and call fscache_complete_op() to cancel an operation so\nthat blocked ops can be started.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "36a02de5d7981435931d4608ee3e510b752e072b",
      "tree": "d0d8283ba3ab9bcb9224582677d8ec00ec987ef3",
      "parents": [
        "b4cf1e08c8ac95eff65faa53904f7f13ac78194b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Dec 05 13:34:46 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 22:08:05 2012 +0000"
      },
      "message": "FS-Cache: Convert the object event ID #defines into an enum\n\nConvert the fscache_object event IDs from #defines into an enum.  Also add an\nextra label to the enum to carry the event count and redefine the event mask\nin terms of that.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "a02de9608595c8ef649ef03ae735b0b45e3d4396",
      "tree": "ca411825ecc8a30b70d869244a7e9412d0728486",
      "parents": [
        "ef778e7ae67cd426c30cad43378b908f5eb0bad5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:52:36 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 22:05:41 2012 +0000"
      },
      "message": "VFS: Make more complete truncate operation available to CacheFiles\n\nMake a more complete truncate operation available to CacheFiles (including\nsecurity checks and suchlike) so that it can use this to clear invalidated\ncache files.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "982197277c85018cc6eb77f1d3bef17933b0c5fd",
      "tree": "805fcef9ec7c1e83867b89332fd37f751594fae3",
      "parents": [
        "40889e8d9fc6355980cf2bc94ef4356c10dec4ec",
        "24ffb93872f7363a01ad639e3c8a9889b46c3f0a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 14:04:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 14:04:11 2012 -0800"
      },
      "message": "Merge branch \u0027for-3.8\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd update from Bruce Fields:\n \"Included this time:\n\n   - more nfsd containerization work from Stanislav Kinsbursky: we\u0027re\n     not quite there yet, but should be by 3.9.\n\n   - NFSv4.1 progress: implementation of basic backchannel security\n     negotiation and the mandatory BACKCHANNEL_CTL operation.  See\n\n       http://wiki.linux-nfs.org/wiki/index.php/Server_4.0_and_4.1_issues\n\n     for remaining TODO\u0027s\n\n   - Fixes for some bugs that could be triggered by unusual compounds.\n     Our xdr code wasn\u0027t designed with v4 compounds in mind, and it\n     shows.  A more thorough rewrite is still a todo.\n\n   - If you\u0027ve ever seen \"RPC: multiple fragments per record not\n     supported\" logged while using some sort of odd userland NFS client,\n     that should now be fixed.\n\n   - Further work from Jeff Layton on our mechanism for storing\n     information about NFSv4 clients across reboots.\n\n   - Further work from Bryan Schumaker on his fault-injection mechanism\n     (which allows us to discard selective NFSv4 state, to excercise\n     rarely-taken recovery code paths in the client.)\n\n   - The usual mix of miscellaneous bugs and cleanup.\n\n  Thanks to everyone who tested or contributed this cycle.\"\n\n* \u0027for-3.8\u0027 of git://linux-nfs.org/~bfields/linux: (111 commits)\n  nfsd4: don\u0027t leave freed stateid hashed\n  nfsd4: free_stateid can use the current stateid\n  nfsd4: cleanup: replace rq_resused count by rq_next_page pointer\n  nfsd: warn on odd reply state in nfsd_vfs_read\n  nfsd4: fix oops on unusual readlike compound\n  nfsd4: disable zero-copy on non-final read ops\n  svcrpc: fix some printks\n  NFSD: Correct the size calculation in fault_inject_write\n  NFSD: Pass correct buffer size to rpc_ntop\n  nfsd: pass proper net to nfsd_destroy() from NFSd kthreads\n  nfsd: simplify service shutdown\n  nfsd: replace boolean nfsd_up flag by users counter\n  nfsd: simplify NFSv4 state init and shutdown\n  nfsd: introduce helpers for generic resources init and shutdown\n  nfsd: make NFSd service structure allocated per net\n  nfsd: make NFSd service boot time per-net\n  nfsd: per-net NFSd up flag introduced\n  nfsd: move per-net startup code to separated function\n  nfsd: pass net to __write_ports() and down\n  nfsd: pass net to nfsd_set_nrthreads()\n  ...\n"
    },
    {
      "commit": "ef778e7ae67cd426c30cad43378b908f5eb0bad5",
      "tree": "4893f19487cb99e8ec0eb835ec4391d952641a9c",
      "parents": [
        "9f10523f891928330b7529da54c1a3cc65180b1a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:52:36 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 22:04:07 2012 +0000"
      },
      "message": "FS-Cache: Provide proper invalidation\n\nProvide a proper invalidation method rather than relying on the netfs retiring\nthe cookie it has and getting a new one.  The problem with this is that isn\u0027t\neasy for the netfs to make sure that it has completed/cancelled all its\noutstanding storage and retrieval operations on the cookie it is retiring.\n\nInstead, have the cache provide an invalidation method that will cancel or wait\nfor all currently outstanding operations before invalidating the cache, and\nwill cause new operations to queue up behind that.  Whilst invalidation is in\nprogress, some requests will be rejected until the cache can stack a barrier on\nthe operation queue to cause new operations to be deferred behind it.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "40889e8d9fc6355980cf2bc94ef4356c10dec4ec",
      "tree": "c03f4e218477052c665cd9b01352f83e32c4a593",
      "parents": [
        "1ca22254b32657d65315af261ae0e699b8427fb7",
        "c3e946ce7276faf0b302acd25c7b874edbeba661"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 14:00:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 14:00:13 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\nPull Ceph update from Sage Weil:\n \"There are a few different groups of commits here.  The largest is\n  Alex\u0027s ongoing work to enable the coming RBD features (cloning,\n  striping).  There is some cleanup in libceph that goes along with it.\n\n  Cyril and David have fixed some problems with NFS reexport (leaking\n  dentries and page locks), and there is a batch of patches from Yan\n  fixing problems with the fs client when running against a clustered\n  MDS.  There are a few bug fixes mixed in for good measure, many of\n  which will be going to the stable trees once they\u0027re upstream.\n\n  My apologies for the late pull.  There is still a gremlin in the rbd\n  map/unmap code and I was hoping to include the fix for that as well,\n  but we haven\u0027t been able to confirm the fix is correct yet; I\u0027ll send\n  that in a separate pull once it\u0027s nailed down.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (68 commits)\n  rbd: get rid of rbd_{get,put}_dev()\n  libceph: register request before unregister linger\n  libceph: don\u0027t use rb_init_node() in ceph_osdc_alloc_request()\n  libceph: init event-\u003enode in ceph_osdc_create_event()\n  libceph: init osd-\u003eo_node in create_osd()\n  libceph: report connection fault with warning\n  libceph: socket can close in any connection state\n  rbd: don\u0027t use ENOTSUPP\n  rbd: remove linger unconditionally\n  rbd: get rid of RBD_MAX_SEG_NAME_LEN\n  libceph: avoid using freed osd in __kick_osd_requests()\n  ceph: don\u0027t reference req after put\n  rbd: do not allow remove of mounted-on image\n  libceph: Unlock unprocessed pages in start_read() error path\n  ceph: call handle_cap_grant() for cap import message\n  ceph: Fix __ceph_do_pending_vmtruncate\n  ceph: Don\u0027t add dirty inode to dirty list if caps is in migration\n  ceph: Fix infinite loop in __wake_requests\n  ceph: Don\u0027t update i_max_size when handling non-auth cap\n  bdi_register: add __printf verification, fix arg mismatch\n  ...\n"
    },
    {
      "commit": "9f10523f891928330b7529da54c1a3cc65180b1a",
      "tree": "014731e89d44d1ca86cc665f4d39d8d2c25c69bf",
      "parents": [
        "ef46ed888efb1e8da33be5d33c9b54476289a43b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:52:35 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:58:26 2012 +0000"
      },
      "message": "FS-Cache: Fix operation state management and accounting\n\nFix the state management of internal fscache operations and the accounting of\nwhat operations are in what states.\n\nThis is done by:\n\n (1) Give struct fscache_operation a enum variable that directly represents the\n     state it\u0027s currently in, rather than spreading this knowledge over a bunch\n     of flags, who\u0027s processing the operation at the moment and whether it is\n     queued or not.\n\n     This makes it easier to write assertions to check the state at various\n     points and to prevent invalid state transitions.\n\n (2) Add an \u0027operation complete\u0027 state and supply a function to indicate the\n     completion of an operation (fscache_op_complete()) and make things call\n     it.  The final call to fscache_put_operation() can then check that an op\n     in the appropriate state (complete or cancelled).\n\n (3) Adjust the use of object-\u003en_ops, -\u003en_in_progress, -\u003en_exclusive to better\n     govern the state of an object:\n\n\t(a) The -\u003en_ops is now the number of extant operations on the object\n\t    and is now decremented by fscache_put_operation() only.\n\n\t(b) The -\u003en_in_progress is simply the number of objects that have been\n\t    taken off of the object\u0027s pending queue for the purposes of being\n\t    run.  This is decremented by fscache_op_complete() only.\n\n\t(c) The -\u003en_exclusive is the number of exclusive ops that have been\n\t    submitted and queued or are in progress.  It is decremented by\n\t    fscache_op_complete() and by fscache_cancel_op().\n\n     fscache_put_operation() and fscache_operation_gc() now no longer try to\n     clean up -\u003en_exclusive and -\u003en_in_progress.  That was leading to double\n     decrements against fscache_cancel_op().\n\n     fscache_cancel_op() now no longer decrements -\u003en_ops.  That was leading to\n     double decrements against fscache_put_operation().\n\n     fscache_submit_exclusive_op() now decides whether it has to queue an op\n     based on -\u003en_in_progress being \u003e 0 rather than -\u003en_ops \u003e 0 as the latter\n     will persist in being true even after all preceding operations have been\n     cancelled or completed.  Furthermore, if an object is active and there are\n     runnable ops against it, there must be at least one op running.\n\n (4) Add a remaining-pages counter (n_pages) to struct fscache_retrieval and\n     provide a function to record completion of the pages as they complete.\n\n     When n_pages reaches 0, the operation is deemed to be complete and\n     fscache_op_complete() is called.\n\n     Add calls to fscache_retrieval_complete() anywhere we\u0027ve finished with a\n     page we\u0027ve been given to read or allocate for.  This includes places where\n     we just return pages to the netfs for reading from the server and where\n     accessing the cache fails and we discard the proposed netfs page.\n\nThe bugs in the unfixed state management manifest themselves as oopses like the\nfollowing where the operation completion gets out of sync with return of the\ncookie by the netfs.  This is possible because the cache unlocks and returns\nall the netfs pages before recording its completion - which means that there\u0027s\nnothing to stop the netfs discarding them and returning the cookie.\n\n\nFS-Cache: Cookie \u0027NFS.fh\u0027 still has outstanding reads\n------------[ cut here ]------------\nkernel BUG at fs/fscache/cookie.c:519!\ninvalid opcode: 0000 [#1] SMP\nCPU 1\nModules linked in: cachefiles nfs fscache auth_rpcgss nfs_acl lockd sunrpc\n\nPid: 400, comm: kswapd0 Not tainted 3.1.0-rc7-fsdevel+ #1090                  /DG965RY\nRIP: 0010:[\u003cffffffffa007050a\u003e]  [\u003cffffffffa007050a\u003e] __fscache_relinquish_cookie+0x170/0x343 [fscache]\nRSP: 0018:ffff8800368cfb00  EFLAGS: 00010282\nRAX: 000000000000003c RBX: ffff880023cc8790 RCX: 0000000000000000\nRDX: 0000000000002f2e RSI: 0000000000000001 RDI: ffffffff813ab86c\nRBP: ffff8800368cfb50 R08: 0000000000000002 R09: 0000000000000000\nR10: ffff88003a1b7890 R11: ffff88001df6e488 R12: ffff880023d8ed98\nR13: ffff880023cc8798 R14: 0000000000000004 R15: ffff88003b8bf370\nFS:  0000000000000000(0000) GS:ffff88003bd00000(0000) knlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\nCR2: 00000000008ba008 CR3: 0000000023d93000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess kswapd0 (pid: 400, threadinfo ffff8800368ce000, task ffff88003b8bf040)\nStack:\n ffff88003b8bf040 ffff88001df6e528 ffff88001df6e528 ffffffffa00b46b0\n ffff88003b8bf040 ffff88001df6e488 ffff88001df6e620 ffffffffa00b46b0\n ffff88001ebd04c8 0000000000000004 ffff8800368cfb70 ffffffffa00b2c91\nCall Trace:\n [\u003cffffffffa00b2c91\u003e] nfs_fscache_release_inode_cookie+0x3b/0x47 [nfs]\n [\u003cffffffffa008f25f\u003e] nfs_clear_inode+0x3c/0x41 [nfs]\n [\u003cffffffffa0090df1\u003e] nfs4_evict_inode+0x2f/0x33 [nfs]\n [\u003cffffffff810d8d47\u003e] evict+0xa1/0x15c\n [\u003cffffffff810d8e2e\u003e] dispose_list+0x2c/0x38\n [\u003cffffffff810d9ebd\u003e] prune_icache_sb+0x28c/0x29b\n [\u003cffffffff810c56b7\u003e] prune_super+0xd5/0x140\n [\u003cffffffff8109b615\u003e] shrink_slab+0x102/0x1ab\n [\u003cffffffff8109d690\u003e] balance_pgdat+0x2f2/0x595\n [\u003cffffffff8103e009\u003e] ? process_timeout+0xb/0xb\n [\u003cffffffff8109dba3\u003e] kswapd+0x270/0x289\n [\u003cffffffff8104c5ea\u003e] ? __init_waitqueue_head+0x46/0x46\n [\u003cffffffff8109d933\u003e] ? balance_pgdat+0x595/0x595\n [\u003cffffffff8104bf7a\u003e] kthread+0x7f/0x87\n [\u003cffffffff813ad6b4\u003e] kernel_thread_helper+0x4/0x10\n [\u003cffffffff81026b98\u003e] ? finish_task_switch+0x45/0xc0\n [\u003cffffffff813abcdd\u003e] ? retint_restore_args+0xe/0xe\n [\u003cffffffff8104befb\u003e] ? __init_kthread_worker+0x53/0x53\n [\u003cffffffff813ad6b0\u003e] ? gs_change+0xb/0xb\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "ef46ed888efb1e8da33be5d33c9b54476289a43b",
      "tree": "d538dc01a075162f95da416da1fb5d6fd676445a",
      "parents": [
        "37491a1339df26259b06dfa33f30e574e9e52034"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:52:35 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:58:25 2012 +0000"
      },
      "message": "FS-Cache: Make cookie relinquishment wait for outstanding reads\n\nMake fscache_relinquish_cookie() log a warning and wait if there are any\noutstanding reads left on the cookie it was given.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "a13eea6bd9ee62ceacfc5243d54c84396bc86cb4",
      "tree": "46192468880c144f2b367deb5188267866ee1fac",
      "parents": [
        "fcc16882ac4532aaa644bff444f0c5d6228ba71e",
        "6666e6aa9f36b2bfd6b30072c07b34f2a24becf1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 13:54:51 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 13:54:52 2012 -0800"
      },
      "message": "Merge tag \u0027for-3.8-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs\n\nPull new F2FS filesystem from Jaegeuk Kim:\n \"Introduce a new file system, Flash-Friendly File System (F2FS), to\n  Linux 3.8.\n\n  Highlights:\n   - Add initial f2fs source codes\n   - Fix an endian conversion bug\n   - Fix build failures on random configs\n   - Fix the power-off-recovery routine\n   - Minor cleanup, coding style, and typos patches\"\n\nFrom the Kconfig help text:\n\n  F2FS is based on Log-structured File System (LFS), which supports\n  versatile \"flash-friendly\" features. The design has been focused on\n  addressing the fundamental issues in LFS, which are snowball effect\n  of wandering tree and high cleaning overhead.\n\n  Since flash-based storages show different characteristics according to\n  the internal geometry or flash memory management schemes aka FTL, F2FS\n  and tools support various parameters not only for configuring on-disk\n  layout, but also for selecting allocation and cleaning algorithms.\n\nand there\u0027s an article by Neil Brown about it on lwn.net:\n\n  http://lwn.net/Articles/518988/\n\n* tag \u0027for-3.8-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (36 commits)\n  f2fs: fix tracking parent inode number\n  f2fs: cleanup the f2fs_bio_alloc routine\n  f2fs: introduce accessor to retrieve number of dentry slots\n  f2fs: remove redundant call to f2fs_put_page in delete entry\n  f2fs: make use of GFP_F2FS_ZERO for setting gfp_mask\n  f2fs: rewrite f2fs_bio_alloc to make it simpler\n  f2fs: fix a typo in f2fs documentation\n  f2fs: remove unused variable\n  f2fs: move error condition for mkdir at proper place\n  f2fs: remove unneeded initialization\n  f2fs: check read only condition before beginning write out\n  f2fs: remove unneeded memset from init_once\n  f2fs: show error in case of invalid mount arguments\n  f2fs: fix the compiler warning for uninitialized use of variable\n  f2fs: resolve build failures\n  f2fs: adjust kernel coding style\n  f2fs: fix endian conversion bugs reported by sparse\n  f2fs: remove unneeded version.h header file from f2fs.h\n  f2fs: update the f2fs document\n  f2fs: update Kconfig and Makefile\n  ...\n"
    },
    {
      "commit": "c4d6d8dbf335c7fa47341654a37c53a512b519bb",
      "tree": "14f0b9c7146a39aa3770c26bc7c480cf0d2c4f56",
      "parents": [
        "1800098549fc310cffffefdcb3722adaad0edda8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:52:32 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Dec 20 21:54:30 2012 +0000"
      },
      "message": "CacheFiles: Fix the marking of cached pages\n\nUnder some circumstances CacheFiles defers the marking of pages with PG_fscache\nso that it can take advantage of pagevecs to reduce the number of calls to\nfscache_mark_pages_cached() and the netfs\u0027s hook to keep track of this.\n\nThere are, however, two problems with this:\n\n (1) It can lead to the PG_fscache mark being applied _after_ the page is set\n     PG_uptodate and unlocked (by the call to fscache_end_io()).\n\n (2) CacheFiles\u0027s ref on the page is dropped immediately following\n     fscache_end_io() - and so may not still be held when the mark is applied.\n     This can lead to the page being passed back to the allocator before the\n     mark is applied.\n\nFix this by, where appropriate, marking the page before calling\nfscache_end_io() and releasing the page.  This means that we can\u0027t take\nadvantage of pagevecs and have to make a separate call for each page to the\nmarking routines.\n\nThe symptoms of this are Bad Page state errors cropping up under memory\npressure, for example:\n\nBUG: Bad page state in process tar  pfn:002da\npage:ffffea0000009fb0 count:0 mapcount:0 mapping:          (null) index:0x1447\npage flags: 0x1000(private_2)\nPid: 4574, comm: tar Tainted: G        W   3.1.0-rc4-fsdevel+ #1064\nCall Trace:\n [\u003cffffffff8109583c\u003e] ? dump_page+0xb9/0xbe\n [\u003cffffffff81095916\u003e] bad_page+0xd5/0xea\n [\u003cffffffff81095d82\u003e] get_page_from_freelist+0x35b/0x46a\n [\u003cffffffff810961f3\u003e] __alloc_pages_nodemask+0x362/0x662\n [\u003cffffffff810989da\u003e] __do_page_cache_readahead+0x13a/0x267\n [\u003cffffffff81098942\u003e] ? __do_page_cache_readahead+0xa2/0x267\n [\u003cffffffff81098d7b\u003e] ra_submit+0x1c/0x20\n [\u003cffffffff8109900a\u003e] ondemand_readahead+0x28b/0x29a\n [\u003cffffffff81098ee2\u003e] ? ondemand_readahead+0x163/0x29a\n [\u003cffffffff810990ce\u003e] page_cache_sync_readahead+0x38/0x3a\n [\u003cffffffff81091d8a\u003e] generic_file_aio_read+0x2ab/0x67e\n [\u003cffffffffa008cfbe\u003e] nfs_file_read+0xa4/0xc9 [nfs]\n [\u003cffffffff810c22c4\u003e] do_sync_read+0xba/0xfa\n [\u003cffffffff81177a47\u003e] ? security_file_permission+0x7b/0x84\n [\u003cffffffff810c25dd\u003e] ? rw_verify_area+0xab/0xc8\n [\u003cffffffff810c29a4\u003e] vfs_read+0xaa/0x13a\n [\u003cffffffff810c2a79\u003e] sys_read+0x45/0x6c\n [\u003cffffffff813ac37b\u003e] system_call_fastpath+0x16/0x1b\n\nAs can be seen, PG_private_2 (\u003d\u003d PG_fscache) is set in the page flags.\n\nInstrumenting fscache_mark_pages_cached() to verify whether page-\u003emapping was\nset appropriately showed that sometimes it wasn\u0027t.  This led to the discovery\nthat sometimes the page has apparently been reclaimed by the time the marker\ngot to see it.\n\nReported-by: M. Stevens \u003cm@tippett.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "39e3c9553f34381a1b664c27b0c696a266a5735e",
      "tree": "f754789dccac7a017ee8feb602b01dd42b73023d",
      "parents": [
        "741b7c3f77937b2fb7c10aeb4c5c621463582583"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Nov 28 11:30:53 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 13:57:36 2012 -0500"
      },
      "message": "vfs: remove DCACHE_NEED_LOOKUP\n\nThe code that relied on that flag was ripped out of btrfs quite some\ntime ago, and never added back. Josef indicated that he was going to\ntake a different approach to the problem in btrfs, and that we\ncould just eliminate this flag.\n\nCc: Josef Bacik \u003cjbacik@fusionio.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "787314c35fbb97e02823a1b8eb8cfa58f366cd49",
      "tree": "3fe5a484c1846c80361217a726997484533e8344",
      "parents": [
        "6491d4d02893d9787ba67279595990217177b351",
        "9c6ecf6a3ade2dc4b03a239af68058b22897af41"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 10:07:25 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 10:07:25 2012 -0800"
      },
      "message": "Merge tag \u0027iommu-updates-v3.8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu\n\nPull IOMMU updates from Joerg Roedel:\n \"A few new features this merge-window.  The most important one is\n  probably, that dma-debug now warns if a dma-handle is not checked with\n  dma_mapping_error by the device driver.  This requires minor changes\n  to some architectures which make use of dma-debug.  Most of these\n  changes have the respective Acks by the Arch-Maintainers.\n\n  Besides that there are updates to the AMD IOMMU driver for refactor\n  the IOMMU-Groups support and to make sure it does not trigger a\n  hardware erratum.\n\n  The OMAP changes (for which I pulled in a branch from Tony Lindgren\u0027s\n  tree) have a conflict in linux-next with the arm-soc tree.  The\n  conflict is in the file arch/arm/mach-omap2/clock44xx_data.c which is\n  deleted in the arm-soc tree.  It is safe to delete the file too so\n  solve the conflict.  Similar changes are done in the arm-soc tree in\n  the common clock framework migration.  A missing hunk from the patch\n  in the IOMMU tree will be submitted as a seperate patch when the\n  merge-window is closed.\"\n\n* tag \u0027iommu-updates-v3.8\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (29 commits)\n  ARM: dma-mapping: support debug_dma_mapping_error\n  ARM: OMAP4: hwmod data: ipu and dsp to use parent clocks instead of leaf clocks\n  iommu/omap: Adapt to runtime pm\n  iommu/omap: Migrate to hwmod framework\n  iommu/omap: Keep mmu enabled when requested\n  iommu/omap: Remove redundant clock handling on ISR\n  iommu/amd: Remove obsolete comment\n  iommu/amd: Don\u0027t use 512GB pages\n  iommu/tegra: smmu: Move bus_set_iommu after probe for multi arch\n  iommu/tegra: gart: Move bus_set_iommu after probe for multi arch\n  iommu/tegra: smmu: Remove unnecessary PTC/TLB flush all\n  tile: dma_debug: add debug_dma_mapping_error support\n  sh: dma_debug: add debug_dma_mapping_error support\n  powerpc: dma_debug: add debug_dma_mapping_error support\n  mips: dma_debug: add debug_dma_mapping_error support\n  microblaze: dma-mapping: support debug_dma_mapping_error\n  ia64: dma_debug: add debug_dma_mapping_error support\n  c6x: dma_debug: add debug_dma_mapping_error support\n  ARM64: dma_debug: add debug_dma_mapping_error support\n  intel-iommu: Prevent devices with RMRRs from being placed into SI Domain\n  ...\n"
    },
    {
      "commit": "b7dfde956daee23f4439d0c8562a5e38b43e79d9",
      "tree": "2ed71fb5c5eac6957fd1e1ad0a67be6c3282167a",
      "parents": [
        "03c850ec327c42a97e44c448b75983e12da417d9",
        "1b6370463e88b0c1c317de16d7b962acc1dab4f2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 08:37:04 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 08:37:05 2012 -0800"
      },
      "message": "Merge tag \u0027virtio-next-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux\n\nPull virtio update from Rusty Russell:\n \"Some nice cleanups, and even a patch my wife did as a \"live\" demo for\n  Latinoware 2012.\n\n  There\u0027s a slightly non-trivial merge in virtio-net, as we cleaned up\n  the virtio add_buf interface while DaveM accepted the mq virtio-net\n  patches.\"\n\n* tag \u0027virtio-next-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (27 commits)\n  virtio_console: Add support for remoteproc serial\n  virtio_console: Merge struct buffer_token into struct port_buffer\n  virtio: add drv_to_virtio to make code clearly\n  virtio: use dev_to_virtio wrapper in virtio\n  virtio-mmio: Fix irq parsing in command line parameter\n  virtio_console: Free buffers from out-queue upon close\n  virtio: Convert dev_printk(KERN_\u003cLEVEL\u003e to dev_\u003clevel\u003e(\n  virtio_console: Use kmalloc instead of kzalloc\n  virtio_console: Free buffer if splice fails\n  virtio: tools: make it clear that virtqueue_add_buf() no longer returns \u003e 0\n  virtio: scsi: make it clear that virtqueue_add_buf() no longer returns \u003e 0\n  virtio: rpmsg: make it clear that virtqueue_add_buf() no longer returns \u003e 0\n  virtio: net: make it clear that virtqueue_add_buf() no longer returns \u003e 0\n  virtio: console: make it clear that virtqueue_add_buf() no longer returns \u003e 0\n  virtio: make virtqueue_add_buf() returning 0 on success, not capacity.\n  virtio: console: don\u0027t rely on virtqueue_add_buf() returning capacity.\n  virtio_net: don\u0027t rely on virtqueue_add_buf() returning capacity.\n  virtio-net: remove unused skb_vnet_hdr-\u003enum_sg field\n  virtio-net: correct capacity math on ring full\n  virtio: move queue_index and num_free fields into core struct virtqueue.\n  ...\n"
    },
    {
      "commit": "1ffab3d4139533eff6e27b7568825307e575faa6",
      "tree": "eca25b2ef6b9b7c8168625c2a5dea6b08fd37756",
      "parents": [
        "ddedec28b1d5144bc2c765d97003997f3505fd3a",
        "4d1839138220e7e35bf9e31c854e4e0196dea7a1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 07:21:54 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 07:21:54 2012 -0800"
      },
      "message": "Merge tag \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull ARM SoC fixes from Olof Johansson:\n \"This is a batch of fixes for arm-soc platforms, most of it is for OMAP\n  but there are others too (i.MX, Tegra, ep93xx).  Fixes warnings, some\n  broken platforms and drivers, etc.  A bit all over the map really.\"\n\nThere was some concern about commit 68136b10 (\"RM: sunxi: Change device\ntree naming scheme for sunxi\"), but Tony says:\n \"Looks like that\u0027s trivial to fix as needed, no need to rebuild the\n  branch to fix that AFAIK.\n\n  The fix can be done once Olof is available online again.\n\n  Linus, I suggest that you go ahead and pull this if there are no other\n  issues with this branch.\"\n\n* tag \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (32 commits)\n  ARM: sunxi: Change device tree naming scheme for sunxi\n  ARM: ux500: fix missing include\n  ARM: u300: delete custom pin hog code\n  ARM: davinci: fix build break due to missing include\n  ARM: exynos: Fix warning due to missing \u0027inline\u0027 in stub\n  ARM: imx: Move platform-mx2-emma to arch/arm/mach-imx/devices\n  ARM i.MX51 clock: Fix regression since enabling MIPI/HSP clocks\n  ARM: dts: mx27: Fix the AIPI bus for FEC\n  ARM: OMAP2+: common: remove use of vram\n  ARM: OMAP3/4: cpuidle: fix sparse and checkpatch warnings\n  ARM: OMAP4: clock data: DPLLs are missing bypass clocks in their parent lists\n  ARM: OMAP4: clock data: div_iva_hs_clk is a power-of-two divider\n  ARM: OMAP4: Fix EMU clock domain always on\n  ARM: OMAP4460: Workaround ABE DPLL failing to turn-on\n  ARM: OMAP4: Enhance support for DPLLs with 4X multiplier\n  ARM: OMAP4: Add function table for non-M4X dplls\n  ARM: OMAP4: Update timer clock aliases\n  ARM: OMAP: Move plat/omap-serial.h to include/linux/platform_data/serial-omap.h\n  ARM: dts: Add build target for omap4-panda-a4\n  ARM: dts: OMAP2420: Correct H4 board memory size\n  ...\n"
    },
    {
      "commit": "ada65c74059f8c104f1b467c126205471634c435",
      "tree": "795e6bbf35c5a70b8778ec53bf5124ef546eefbb",
      "parents": [
        "b6fa0cd62c5b9d47f8e5d42cb2876677a5ed701e"
      ],
      "author": {
        "name": "Maarten Lankhorst",
        "email": "maarten.lankhorst@canonical.com",
        "time": "Wed Dec 12 10:23:03 2012 +0100"
      },
      "committer": {
        "name": "Sumit Semwal",
        "email": "sumit.semwal@linaro.org",
        "time": "Thu Dec 20 12:05:06 2012 +0530"
      },
      "message": "dma-buf: remove fallback for !CONFIG_DMA_SHARED_BUFFER\n\nDocumentation says that code requiring dma-buf should add it to\nselect, so inline fallbacks are not going to be used. A link error\nwill make it obvious what went wrong, instead of silently doing\nnothing at runtime.\n\nSigned-off-by: Maarten Lankhorst \u003cmaarten.lankhorst@canonical.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Rob Clark \u003crob.clark@linaro.org\u003e\nSigned-off-by: Sumit Semwal \u003csumit.semwal@linaro.org\u003e\n"
    }
  ],
  "next": "9eb127cc04c4005c8c0708ce92146d91da862b42"
}
