)]}'
{
  "log": [
    {
      "commit": "6037b715d6fab139742c3df8851db4c823081561",
      "tree": "aba9e9427debd4fa5b904daefa8e71a6320f4b93",
      "parents": [
        "deabb19ba4bd8c06ae69bc262e3594b515e3a459"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@sous-sol.org",
        "time": "Wed Feb 09 22:11:51 2011 -0800"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Feb 11 17:41:58 2011 +1100"
      },
      "message": "security: add cred argument to security_capable()\n\nExpand security_capable() to include cred, so that it can be usable in a\nwider range of call sites.\n\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "67d019528e5c2693145217cf18a507689980d2a4",
      "tree": "77191261468d37b069009887c1ab11afd93e2952",
      "parents": [
        "ce86d35d2fd119d777fc72736732c8c9c3456698",
        "721d92fc6373dee15846216f9d178ec240ec0fd7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 10 12:20:40 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 10 12:20:40 2011 -0800"
      },
      "message": "Merge branch \u0027usb-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* \u0027usb-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (21 commits)\n  USB: cdc-acm: Adding second ACM channel support for Nokia N8\n  USB, Mass Storage, composite, gadget: Fix build failure and memset of a struct\n  USB: Fix trout build failure with ci13xxx_msm gadget\n  USB: EHCI: fix scheduling while atomic during suspend\n  USB: usb-storage: unusual_devs entry for Coby MP3 player\n  USB: ftdi_sio: Add VID\u003d0x0647, PID\u003d0x0100 for Acton Research spectrograph\n  USB: fix race between root-hub resume and wakeup requests\n  USB: prevent buggy hubs from crashing the USB stack\n  usb: r8a66597-udc: Fixed bufnum of Bulk\n  USB: ftdi_sio: add ST Micro Connect Lite uart support\n  USB: Storage: Add unusual_devs entry for VTech Kidizoom\n  USB SL811HS HCD: Fix memory leak in sl811h_urb_enqueue()\n  USB: ti_usb: fix module removal\n  USB: io_edgeport: fix the reported firmware major and minor\n  usb: ehci-omap: Show fatal probing time errors to end user\n  usb: musb: introduce api for dma code to check compatibility with usb request\n  usb: musb: maintain three states for buffer mappings instead of two\n  usb: musb: disable double buffering when it\u0027s broken\n  usb: musb: hsdma: change back to use musb_read/writew\n  usb: musb: core: fix IRQ check\n  ...\n"
    },
    {
      "commit": "e128c5e26bd474a2a56b96ec7c8967aff347b763",
      "tree": "1352a221d62f4c452c3962c283aac48491549363",
      "parents": [
        "70a062286b9dfcbd24d2e11601aecfead5cf709a",
        "3e9d08ec0a68f6faf718d5a7e050fe5ca0ba004f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 10 12:05:09 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 10 12:05:09 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (34 commits)\n  virtio_net: Add schedule check to napi_enable call\n  x25: Do not reference freed memory.\n  pch_can: fix tseg1/tseg2 setting issue\n  isdn: hysdn: Kill (partially buggy) CVS regision log reporting.\n  can: softing_cs needs slab.h\n  pch_gbe: Fix the issue which a driver locks when rx offload is set by ethtool\n  netfilter: nf_conntrack: set conntrack templates again if we return NF_REPEAT\n  pch_can: fix module reload issue with MSI\n  pch_can: fix rmmod issue\n  pch_can: fix 800k comms issue\n  net: Fix lockdep regression caused by initializing netdev queues too early.\n  net/caif: Fix dangling list pointer in freed object on error.\n  USB CDC NCM errata updates for cdc_ncm host driver\n  CDC NCM errata updates for cdc.h\n  ixgbe: update version string\n  ixgbe: cleanup variable initialization\n  ixgbe: limit VF access to network traffic\n  ixgbe: fix for 82599 erratum on Header Splitting\n  ixgbe: fix variable set but not used warnings by gcc 4.6\n  e1000: add support for Marvell Alaska M88E1118R PHY\n  ...\n"
    },
    {
      "commit": "d3d373e0e3f51f335d8c722dd1340ab812fdf94b",
      "tree": "766175dfbbd5688f77e69fe43c835865fd864d2d",
      "parents": [
        "aceb91cd351bc3a19a783c901fe8a8070d5f6fa9",
        "5084f89303c0a138f66bf74662753f46878989bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 09 11:51:40 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 09 11:51:40 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  virtio: console: Update Copyright\n  virtio: console: Wake up outvq on host notifications\n"
    },
    {
      "commit": "3a9dda7602e566014a859faaf8490e6454683ab1",
      "tree": "8bd9a7f31308fd13551112ed2a0454b1022f2160",
      "parents": [
        "3fb17dabf663216b90076f7a1649b599e90d46f1"
      ],
      "author": {
        "name": "Alexey Orishko",
        "email": "alexey.orishko@gmail.com",
        "time": "Mon Feb 07 09:45:09 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 13:54:42 2011 -0800"
      },
      "message": "CDC NCM errata updates for cdc.h\n\nChanges are based on the following documents:\n- CDC NCM errata:\nhttp://www.usb.org/developers/devclass_docs/NCM10_012011.zip\n- CDC and WMC errata link:\nhttp://www.usb.org/developers/devclass_docs/CDC1.2_WMC1.1_012011.zip\n\nSigned-off-by: Alexey Orishko \u003calexey.orishko@stericsson.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5084f89303c0a138f66bf74662753f46878989bb",
      "tree": "7bb0b6cb9d54de0680c53c2efcea23f7baf378e2",
      "parents": [
        "2770c5ea501be69989a7acf54ec4cb3554c47191"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@redhat.com",
        "time": "Mon Jan 31 13:06:37 2011 +0530"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Feb 09 08:19:55 2011 +1030"
      },
      "message": "virtio: console: Update Copyright\n\nSigned-off-by: Amit Shah \u003camit.shah@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "43a723286f3cae795418c62bc41c3cce73791a81",
      "tree": "71b8f7e24df3b2dd49164c31da0c92d5992c43f7",
      "parents": [
        "15ccb7b429d341605296b6a654b414f2b3ae9fd3",
        "a9fe8d5fd52ecd17c3f3970bbcf6b3573f831898"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 06 12:04:49 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 06 12:04:49 2011 -0800"
      },
      "message": "Merge branch \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  m32r: Fixup last __do_IRQ leftover\n  genirq: Add missing status flags to modification mask\n"
    },
    {
      "commit": "15ccb7b429d341605296b6a654b414f2b3ae9fd3",
      "tree": "f2af4a8952b10728e13c6f41db4b7a062a574a5c",
      "parents": [
        "07675f484bb9de0c4bd0722e174cb27043dbacef",
        "862b6f62bf0cd768910b087f6d051f420206c4d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 06 12:04:16 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 06 12:04:16 2011 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf stat: Fix aggreate counter reading accounting\n  tracing: Replace syscall_meta_data struct array with pointer array\n  tracepoints: Fix section alignment using pointer array\n  tracing: Replace trace_event struct array with pointer array\n"
    },
    {
      "commit": "872434d69c644b8aa5088b835598dc3cd9832aff",
      "tree": "82f55a0ff9ed1fc9eb814fb80dfb5e605f47e07a",
      "parents": [
        "44f2c5c841da1b1e0864d768197ab1497b5c2cc1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 05 16:25:25 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 05 16:33:56 2011 +0100"
      },
      "message": "genirq: Add missing status flags to modification mask\n\nThe mask which filters out the valid bits which can be set via\nirq_modify_status() is missing IRQ_NO_BALANCING, which breaks UV.\n\nAdd IRQ_PER_CPU as well to avoid another one line patch for 39.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "44f2c5c841da1b1e0864d768197ab1497b5c2cc1",
      "tree": "a9e62ee30dedd31c5aeb9c1a97cb8efec5dc3398",
      "parents": [
        "78d2978874e4e10e97dfd4fd79db45bdc0748550",
        "1e6d93e45b231b3ae87c01902ede2315aacfe976"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 04 13:20:01 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 04 13:20:01 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (68 commits)\n  net: can: janz-ican3: world-writable sysfs termination file\n  net: can: at91_can: world-writable sysfs files\n  MAINTAINERS: update email ids of the be2net driver maintainers.\n  bridge: Don\u0027t put partly initialized fdb into hash\n  r8169: prevent RxFIFO induced loops in the irq handler.\n  r8169: RxFIFO overflow oddities with 8168 chipsets.\n  r8169: use RxFIFO overflow workaround for 8168c chipset.\n  include/net/genetlink.h: Allow genlmsg_cancel to accept a NULL argument\n  net: Provide compat support for SIOCGETMIFCNT_IN6 and SIOCGETSGCNT_IN6.\n  net: Support compat SIOCGETVIFCNT ioctl in ipv4.\n  net: Fix bug in compat SIOCGETSGCNT handling.\n  niu: Fix races between up/down and get_stats.\n  tcp_ecn is an integer not a boolean\n  atl1c: Add missing PCI device ID\n  s390: Fix possibly wrong size in strncmp (smsgiucv)\n  s390: Fix wrong size in memcmp (netiucv)\n  qeth: allow OSA CHPARM change in suspend state\n  qeth: allow HiperSockets framesize change in suspend\n  qeth: add more strict MTU checking\n  qeth: show new mac-address if its setting fails\n  ...\n"
    },
    {
      "commit": "8cf28f1f4de58c70e6af657bb46ca8f304c073d4",
      "tree": "0127ff6c9f92106d42e07f5607547e5ebb71fdd3",
      "parents": [
        "148fc55fd0449683a1d15bf219ad8d8b6fa17545"
      ],
      "author": {
        "name": "Pavankumar Kondeti",
        "email": "pkondeti@codeaurora.org",
        "time": "Fri Feb 04 10:08:18 2011 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 04 12:38:14 2011 -0800"
      },
      "message": "USB: Fix trout build failure with ci13xxx_msm gadget\n\nThis patch fixes the below compilation errors.\n\n  CC      drivers/usb/gadget/ci13xxx_msm.o\n  CC      net/mac80211/led.o\n  drivers/usb/gadget/ci13xxx_msm.c: In function \u0027ci13xxx_msm_notify_event\u0027:\n  drivers/usb/gadget/ci13xxx_msm.c:42: error: \u0027USB_AHBBURST\u0027 undeclared (first use in this function)\n  drivers/usb/gadget/ci13xxx_msm.c:42: error: (Each undeclared identifier is reported only once\n  drivers/usb/gadget/ci13xxx_msm.c:42: error: for each function it appears in.)\n  drivers/usb/gadget/ci13xxx_msm.c:43: error: \u0027USB_AHBMODE\u0027 undeclared (first use in this function)\nmake[4]: *** [drivers/usb/gadget/ci13xxx_msm.o] Error 1\nmake[3]: *** [drivers/usb/gadget] Error 2\n\nMSM USB driver is not supported on boards like trout (MSM7201) which\nhas an external PHY.\n\nSigned-off-by: Pavankumar Kondeti \u003cpkondeti@codeaurora.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "862b6f62bf0cd768910b087f6d051f420206c4d6",
      "tree": "f646e5246679ca851baf54e888c0d59b66ecf324",
      "parents": [
        "1ebdfa803dc5ced604ebadd26fcb8cdca8e09b85",
        "3d56e331b6537671c66f1b510bed0f1e0331dfc8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 04 19:02:53 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 04 19:02:53 2011 +0100"
      },
      "message": "Merge branch \u0027tip/perf/urgent-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent\n"
    },
    {
      "commit": "e2d57766e6744f2956975dd2086d82957187b0f6",
      "tree": "6d7f09ad6eaaac8ad99528cc83894faa6b230b1a",
      "parents": [
        "ca6b8bb097c8e0ab6bce4fa04584074dee17c0d9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 17:59:32 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 18:05:29 2011 -0800"
      },
      "message": "net: Provide compat support for SIOCGETMIFCNT_IN6 and SIOCGETSGCNT_IN6.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3d56e331b6537671c66f1b510bed0f1e0331dfc8",
      "tree": "80145576e1b9e701b7a2270c6a09798ed6b783c3",
      "parents": [
        "654986462939cd7ec18f276c6379a334dac106a7"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 02 17:06:09 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Feb 03 09:29:06 2011 -0500"
      },
      "message": "tracing: Replace syscall_meta_data struct array with pointer array\n\nCurrently the syscall_meta structures for the syscall tracepoints are\nplaced in the __syscall_metadata section, and at link time, the linker\nmakes one large array of all these syscall metadata structures. On boot\nup, this array is read (much like the initcall sections) and the syscall\ndata is processed.\n\nThe problem is that there is no guarantee that gcc will place complex\nstructures nicely together in an array format. Two structures in the\nsame file may be placed awkwardly, because gcc has no clue that they\nare suppose to be in an array.\n\nA hack was used previous to force the alignment to 4, to pack the\nstructures together. But this caused alignment issues with other\narchitectures (sparc).\n\nInstead of packing the structures into an array, the structures\u0027 addresses\nare now put into the __syscall_metadata section. As pointers are always the\nnatural alignment, gcc should always pack them tightly together\n(otherwise initcall, extable, etc would also fail).\n\nBy having the pointers to the structures in the section, we can still\niterate the trace_events without causing unnecessary alignment problems\nwith other architectures, or depending on the current behaviour of\ngcc that will likely change in the future just to tick us kernel developers\noff a little more.\n\nThe __syscall_metadata section is also moved into the .init.data section\nas it is now only needed at boot up.\n\nSuggested-by: David Miller \u003cdavem@davemloft.net\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "654986462939cd7ec18f276c6379a334dac106a7",
      "tree": "b9c70944012c24fa6d7cc973fa9b4b6e875ca842",
      "parents": [
        "e4a9ea5ee7c8812a7bf0c3fb725ceeaa3d4c2fcc"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@efficios.com",
        "time": "Wed Jan 26 17:26:22 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Feb 03 09:28:46 2011 -0500"
      },
      "message": "tracepoints: Fix section alignment using pointer array\n\nMake the tracepoints more robust, making them solid enough to handle compiler\nchanges by not relying on anything based on compiler-specific behavior with\nrespect to structure alignment. Implement an approach proposed by David Miller:\nuse an array of const pointers to refer to the individual structures, and export\nthis pointer array through the linker script rather than the structures per se.\nIt will consume 32 extra bytes per tracepoint (24 for structure padding and 8\nfor the pointers), but are less likely to break due to compiler changes.\n\nHistory:\n\ncommit 7e066fb8 tracepoints: add DECLARE_TRACE() and DEFINE_TRACE()\nadded the aligned(32) type and variable attribute to the tracepoint structures\nto deal with gcc happily aligning statically defined structures on 32-byte\nmultiples.\n\nOne attempt was to use a 8-byte alignment for tracepoint structures by applying\nboth the variable and type attribute to tracepoint structures definitions and\ndeclarations. It worked fine with gcc 4.5.1, but broke with gcc 4.4.4 and 4.4.5.\n\nThe reason is that the \"aligned\" attribute only specify the _minimum_ alignment\nfor a structure, leaving both the compiler and the linker free to align on\nlarger multiples. Because tracepoint.c expects the structures to be placed as an\narray within each section, up-alignment cause NULL-pointer exceptions due to the\nextra unexpected padding.\n\n(this patch applies on top of -tip)\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nLKML-Reference: \u003c20110126222622.GA10794@Krystal\u003e\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCC: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCC: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e4a9ea5ee7c8812a7bf0c3fb725ceeaa3d4c2fcc",
      "tree": "1b25668508fa302a6ada053c895cd55727f798f1",
      "parents": [
        "9ffdc6c37df131f89d52001e0ef03091b158826f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jan 27 09:15:30 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Feb 02 21:37:13 2011 -0500"
      },
      "message": "tracing: Replace trace_event struct array with pointer array\n\nCurrently the trace_event structures are placed in the _ftrace_events\nsection, and at link time, the linker makes one large array of all\nthe trace_event structures. On boot up, this array is read (much like\nthe initcall sections) and the events are processed.\n\nThe problem is that there is no guarantee that gcc will place complex\nstructures nicely together in an array format. Two structures in the\nsame file may be placed awkwardly, because gcc has no clue that they\nare suppose to be in an array.\n\nA hack was used previous to force the alignment to 4, to pack the\nstructures together. But this caused alignment issues with other\narchitectures (sparc).\n\nInstead of packing the structures into an array, the structures\u0027 addresses\nare now put into the _ftrace_event section. As pointers are always the\nnatural alignment, gcc should always pack them tightly together\n(otherwise initcall, extable, etc would also fail).\n\nBy having the pointers to the structures in the section, we can still\niterate the trace_events without causing unnecessary alignment problems\nwith other architectures, or depending on the current behaviour of\ngcc that will likely change in the future just to tick us kernel developers\noff a little more.\n\nThe _ftrace_event section is also moved into the .init.data section\nas it is now only needed at boot up.\n\nSuggested-by: David Miller \u003cdavem@davemloft.net\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "3cd90ea42f2c15f928b70ed66f6d8ed0a8e7aadd",
      "tree": "2e27c807baaec2e6528cd5431d57308a4d874dea",
      "parents": [
        "1a44bc8c7cfe69756a116d38aef992d50fc1969d"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Feb 01 15:52:46 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 02 16:03:19 2011 -0800"
      },
      "message": "vfs: sparse: add __FMODE_EXEC\n\nFMODE_EXEC is a constant type of fmode_t but was used with normal integer\nconstants.  This results in following warnings from sparse.  Fix it using\nnew macro __FMODE_EXEC.\n\n fs/exec.c:116:58: warning: restricted fmode_t degrades to integer\n fs/exec.c:689:58: warning: restricted fmode_t degrades to integer\n fs/fcntl.c:777:9: warning: restricted fmode_t degrades to integer\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a44bc8c7cfe69756a116d38aef992d50fc1969d",
      "tree": "3e830a7fe2f4b57e425421b35c6faebbbb2c7cc2",
      "parents": [
        "3751d60430fe4c26460a5ca8ad8672d32f93bcb1"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Feb 01 15:52:46 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 02 16:03:19 2011 -0800"
      },
      "message": "vfs: sparse: remove a warning on OPEN_FMODE()\n\nAND-ing FMODE_* constant with normal integer results in following\nsparse warnings. Fix it.\n\n fs/open.c:662:21: warning: restricted fmode_t degrades to integer\n fs/anon_inodes.c:123:34: warning: restricted fmode_t degrades to integer\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19942822df65ee4a47c2e6d6d70cace1b7f01710",
      "tree": "1fe6fdcc92ae7e64014c04676fc91e0105bdf344",
      "parents": [
        "9221edb7120e2dc3ae90f1c58514979f7ba40e46"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue Feb 01 15:52:43 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 02 16:03:19 2011 -0800"
      },
      "message": "memcg: prevent endless loop when charging huge pages to near-limit group\n\nIf reclaim after a failed charging was unsuccessful, the limits are\nchecked again, just in case they settled by means of other tasks.\n\nThis is all fine as long as every charge is of size PAGE_SIZE, because in\nthat case, being below the limit means having at least PAGE_SIZE bytes\navailable.\n\nBut with transparent huge pages, we may end up in an endless loop where\ncharging and reclaim fail, but we keep going because the limits are not\nyet exceeded, although not allowing for a huge page.\n\nFix this up by explicitely checking for enough room, not just whether we\nare within limits.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0fd08c5545a806c960a6597fae4a2e656eb7ead9",
      "tree": "027dfcc65f600afe6a4b19ab72c472fe3f0f24fa",
      "parents": [
        "7921127e297ea203b794c4a1c3ef3eb0ee52acbf",
        "d1205f87bbb8040c1408bbd9e0a720310b2b0b9b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 01 09:41:02 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 01 09:41:02 2011 +1000"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: NFSv4 readdir loses entries\n  NFS: Micro-optimize nfs4_decode_dirent()\n  NFS: Fix an NFS client lockdep issue\n  NFS construct consistent co_ownerid for v4.1\n  NFS: nfs_wcc_update_inode() should set nfsi-\u003eattr_gencount\n  NFS improve pnfs_put_deviceid_cache debug print\n  NFS fix cb_sequence error processing\n  NFS do not find client in NFSv4 pg_authenticate\n  NLM: Fix \"kernel BUG at fs/lockd/host.c:417!\" or \".../host.c:283!\"\n  NFS: Prevent memory allocation failure in nfsacl_encode()\n  NFS: nfsacl_{encode,decode} should return signed integer\n  NFS: Fix \"kernel BUG at fs/nfs/nfs3xdr.c:1338!\"\n  NFS: Fix \"kernel BUG at fs/aio.c:554!\"\n  NFS4: Avoid potential NULL pointer dereference in decode_and_add_ds().\n  NFS: fix handling of malloc failure during nfs_flush_multi()\n"
    },
    {
      "commit": "ffbbf2da9e578dc7b7ae4f945412c4b74f54b20e",
      "tree": "42286b98b10fce7132ad61750db94765a0946c3c",
      "parents": [
        "fb9f1f17e9c117c0bf7a8f1b7a0efe5db5bc1836"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Jan 31 09:29:14 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 01 08:23:22 2011 +1000"
      },
      "message": "kernel.h: fix kernel-doc warning\n\nFix kernel-doc warning in kernel.h from commit 7ef88ad56145\n(\"BUILD_BUG_ON: make it handle more cases\"):\n\n  Warning(include/linux/kernel.h:605): No description found for parameter \u0027condition\u0027\n  Warning(include/linux/kernel.h:605): Excess function parameter \u0027cond\u0027 description in \u0027BUILD_BUG_ON\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cbae48738f23d5409138700c5ccdfd6e4e0d6032",
      "tree": "67f3773989a9ed3787c18bc22cf80f503431ee9c",
      "parents": [
        "fb1c6348b22dde3ef75b53ec23982bf1bc617c32",
        "fd96d0d8d8079b1ea7a7e8943a4da9dfc9621124"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 01 08:07:40 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 01 08:07:40 2011 +1000"
      },
      "message": "Merge branch \u0027usb-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* \u0027usb-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (42 commits)\n  usb: gadget: composite: avoid access beyond array max length\n  USB: serial: handle Data Carrier Detect changes\n  USB: gadget: Fix endpoint representation in ci13xxx_udc\n  USB: gadget: Fix error path in ci13xxx_udc gadget probe function\n  usb: pch_udc: Fix the worning log issue at gadget driver remove\n  USB: serial: Updated support for ICOM devices\n  USB: ehci-mxc: add work-around for efika mx/sb bug\n  USB: unbreak ehci-mxc on otg port of i.MX27\n  drivers: update to pl2303 usb-serial to support Motorola cables\n  USB: adding USB support for Cinterion\u0027s HC2x, EU3 and PH8 products\n  USB serial: add missing .usb_driver field in serial drivers\n  USB: ehci-fsl: Fix \u0027have_sysif_regs\u0027 detection\n  USB: g_printer: fix bug in module parameter definitions\n  USB: g_printer: fix bug in unregistration\n  USB: uss720: remove duplicate USB device\n  MAINTAINERS: add ueagle-atm entry\n  USB: EHCI: fix DMA deallocation bug\n  USB: pch_udc: support new device ML7213 IOH\n  usb: pch_udc: Fixed issue which does not work with g_serial\n  usb: set ep_dev async suspend should be later than device_initialize\n  ...\n"
    },
    {
      "commit": "709b46e8d90badda1898caea50483c12af178e96",
      "tree": "799b57704dda3684777fb57a6e413dabac78858c",
      "parents": [
        "13ad17745c2cbd437d9e24b2d97393e0be11c439"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Jan 29 16:15:56 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 30 01:14:38 2011 -0800"
      },
      "message": "net: Add compat ioctl support for the ipv4 multicast ioctl SIOCGETSGCNT\n\nSIOCGETSGCNT is not a unique ioctl value as it it maps tio SIOCPROTOPRIVATE +1,\nwhich unfortunately means the existing infrastructure for compat networking\nioctls is insufficient.  A trivial compact ioctl implementation would conflict\nwith:\n\nSIOCAX25ADDUID\nSIOCAIPXPRISLT\nSIOCGETSGCNT_IN6\nSIOCGETSGCNT\nSIOCRSSCAUSE\nSIOCX25SSUBSCRIP\nSIOCX25SDTEFACILITIES\n\nTo make this work I have updated the compat_ioctl decode path to mirror the\nthe normal ioctl decode path.  I have added an ipv4 inet_compat_ioctl function\nso that I can have ipv4 specific compat ioctls.   I have added a compat_ioctl\nfunction into struct proto so I can break out ioctls by which kind of ip socket\nI am using.  I have added a compat_raw_ioctl function because SIOCGETSGCNT only\nworks on raw sockets.  I have added a ipmr_compat_ioctl that mirrors the normal\nipmr_ioctl.\n\nThis was necessary because unfortunately the struct layout for the SIOCGETSGCNT\nhas unsigned longs in it so changes between 32bit and 64bit kernels.\n\nThis change was sufficient to run a 32bit ip multicast routing daemon on a\n64bit kernel.\n\nReported-by: Bill Fenner \u003cfenner@aristanetworks.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52fe7c9cc1637110ba4e0e6fe5d07cc0786d62de",
      "tree": "b57098f78a3ed893de4e67da1219c80f433b5672",
      "parents": [
        "c128df731862e90ec9292c5d3eb264ac73b522b8"
      ],
      "author": {
        "name": "sjur.brandeland@stericsson.com",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Sat Jan 29 13:10:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 30 01:14:14 2011 -0800"
      },
      "message": "caif: bugfix - add caif headers for userspace usage.\n\nAdd caif_socket.h and if_caif.h to the kernel header files\nexported for use by userspace.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6fb1b304255efc5c4c93874ac8c066272e257e28",
      "tree": "67b4193e20d3a5470f56b26d912ed791dba20f13",
      "parents": [
        "ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff",
        "409550f2902470f0387fe40a7db441526e16b2c0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 26 16:31:44 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 26 16:31:44 2011 +1000"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: wacom - pass touch resolution to clients through input_absinfo\n  Input: wacom - add 2 Bamboo Pen and touch models\n  Input: sysrq - ensure sysrq_enabled and __sysrq_enabled are consistent\n  Input: sparse-keymap - fix KEY_VSW handling in sparse_keymap_setup\n  Input: tegra-kbc - add tegra keyboard driver\n  Input: gpio_keys - switch to using request_any_context_irq\n  Input: serio - allow registered drivers to get status flag\n  Input: ct82710c - return proper error code for ct82c710_open\n  Input: bu21013_ts - added regulator support\n  Input: bu21013_ts - remove duplicate resolution parameters\n  Input: tnetv107x-ts - don\u0027t treat NULL clk as an error\n  Input: tnetv107x-keypad - don\u0027t treat NULL clk as an error\n\nFix up trivial conflicts in drivers/input/keyboard/Makefile due to\nadditions of tc3589x/Tegra drivers\n"
    },
    {
      "commit": "ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff",
      "tree": "e2d3f799e20e2cbca80891ea17af7484f21d628f",
      "parents": [
        "3689456b4bd36027022b3215eb2acba51cd0e6b5"
      ],
      "author": {
        "name": "Torben Hohn",
        "email": "torbenh@gmx.de",
        "time": "Tue Jan 25 15:07:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 26 10:50:06 2011 +1000"
      },
      "message": "console: rename acquire/release_console_sem() to console_lock/unlock()\n\nThe -rt patches change the console_semaphore to console_mutex.  As a\nresult, a quite large chunk of the patches changes all\nacquire/release_console_sem() to acquire/release_console_mutex()\n\nThis commit makes things use more neutral function names which dont make\nimplications about the underlying lock.\n\nThe only real change is the return value of console_trylock which is\ninverted from try_acquire_console_sem()\n\nThis patch also paves the way to switching console_sem from a semaphore to\na mutex.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: make console_trylock return 1 on success, per Geert]\nSigned-off-by: Torben Hohn \u003ctorbenh@gmx.de\u003e\nCc: Thomas Gleixner \u003ctglx@tglx.de\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8348ad7c178627a302d579906096108b02052730",
      "tree": "253a309819de4cd9d913594950e7c1764f7ba5c7",
      "parents": [
        "9948d378b99b06f6f34164dd8ff827e228ae9251",
        "170c7ab58f41c526c54e9dd04044857d5d73f9e6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 26 09:02:14 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 26 09:02:14 2011 +1000"
      },
      "message": "Merge branch \u0027rmobile-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* \u0027rmobile-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:\n  ARM: mach-shmobile: AG5EVM LCDC / MIPI-DSI platform data\n  ARM: mach-shmobile: sh73a0 CPGA fix for PLL CFG bit\n  ARM: mach-shmobile: mackerel: clarify shdi/mmcif switch settings\n  ARM: mach-shmobile: sh73a0 CPGA fix for IrDA MSTP\n  ARM: mach-shmobile: sh73a0 CPGA fix for FRQCRA M3\n  ARM: mach-shmobile: remove sh7367 on-chip set_irq_type()\n  ARM: mach-shmobile: sh7372 INTCS MFIS2 interrupt update\n  ARM: mach-shmobile: ag5evm: Add IrDA support\n  ARM: mach-shmobile: clock-sh7372: fixup pllc2 set_rate\n  mmc: sh_mmcif: Convert to __raw_xxx() I/O accessors.\n  ARM: mach-shmobile: ag5evm requires GPIOLIB\n  ARM: mach-shmobile: fix cpu_base of gic_init() on sh73a0\n"
    },
    {
      "commit": "778be232a207e79088ba70d832ac25dfea6fbf1a",
      "tree": "307249459e5ef45c4b3651c7fc5c454cdb3e0c92",
      "parents": [
        "80c30e8de4f81851b1f712bcc596e11d53bc76f1"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Jan 25 15:38:01 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 15:26:51 2011 -0500"
      },
      "message": "NFS do not find client in NFSv4 pg_authenticate\n\nThe information required to find the nfs_client cooresponding to the incoming\nback channel request is contained in the NFS layer. Perform minimal checking\nin the RPC layer pg_authenticate method, and push more detailed checking into\nthe NFS layer where the nfs_client can be found.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f61f6da0d53842e849bab7f69e1431bd3de1136d",
      "tree": "8433904f645695338b98d3dc831631ffd6f129e5",
      "parents": [
        "731f3f482ad3b2c58a1af2d0a9a634a82803706a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Jan 21 03:05:38 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 15:24:47 2011 -0500"
      },
      "message": "NFS: Prevent memory allocation failure in nfsacl_encode()\n\nnfsacl_encode() allocates memory in certain cases.  This of course\nis not guaranteed to work.\n\nSince commit 9f06c719 \"SUNRPC: New xdr_streams XDR encoder API\", the\nkernel\u0027s XDR encoders can\u0027t return a result indicating possibly a\nfailure, so a memory allocation failure in nfsacl_encode() has become\nfatal (ie, the XDR code Oopses) in some cases.\n\nHowever, the allocated memory is a tiny fixed amount, on the order\nof 40-50 bytes.  We can easily use a stack-allocated buffer for\nthis, with only a wee bit of nose-holding.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "731f3f482ad3b2c58a1af2d0a9a634a82803706a",
      "tree": "1425c239481309ffc68dd33a991fc13fc309226c",
      "parents": [
        "ee5dc7732bd557bae6d10873a0aac606d2c551fb"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Jan 21 03:05:28 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 15:24:47 2011 -0500"
      },
      "message": "NFS: nfsacl_{encode,decode} should return signed integer\n\nClean up.\n\nThe nfsacl_encode() and nfsacl_decode() functions return negative\nerrno values, and each call site verifies that the returned value\nis not negative.  Change the synopsis of both of these functions\nto reflect this usage.\n\nDocument the synopsis and return values.\n\nReported-by: Trond Myklebust \u003ctrond.myklebust@netapp.com\u003e\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ce84d539ce47484ff3cbc9c67b3eb69ae88954f9",
      "tree": "cdba43e845e23a6793ca47857a16fae6032becfb",
      "parents": [
        "bc094757f4f3d7b8211a8a1ed7605ffd7c728f75",
        "b5cc8ca1c9c3a37eaddf709b2fd3e1699aee41ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:25:55 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:25:55 2011 +1000"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  RTC: Remove Kconfig symbol for UIE emulation\n  RTC: Properly handle rtc_read_alarm error propagation and fix bug\n  RTC: Propagate error handling via rtc_timer_enqueue properly\n  acpi_pm: Clear pmtmr_ioport if acpi_pm initialization fails\n  rtc: Cleanup removed UIE emulation declaration\n  hrtimers: Notify hrtimer users of switches to NOHZ mode\n"
    },
    {
      "commit": "8c6a98b22b750c9eb52653ba643faa17db8d3881",
      "tree": "682d083e544bf4b420b6972941c9f3e7493e77ef",
      "parents": [
        "cb1b145929b5b7e1bdc5f76dd2905df9f89c038e"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Mon Jan 24 09:31:38 2011 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Jan 24 09:33:36 2011 -0800"
      },
      "message": "Input: sysrq - ensure sysrq_enabled and __sysrq_enabled are consistent\n\nCurrently sysrq_enabled and __sysrq_enabled are initialised separately\nand inconsistently, leading to sysrq being actually enabled by reported\nas not enabled in sysfs.  The first change to the sysfs configurable\nsynchronises these two:\n\n    static int __read_mostly sysrq_enabled \u003d 1;\n    static int __sysrq_enabled;\n\nAdd a common define to carry the default for these preventing them becoming\nout of sync again.  Default this to 1 to mirror previous behaviour.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "d315777b32a4696feb86f2a0c9e9f39c94683649",
      "tree": "f21c24d85cde6ad453c4d9485f5de49357336f81",
      "parents": [
        "5a05a6d7a51bcc47c5c6f0ed68e433f9a01afd89",
        "1765e3a4933ea0870fabd755feffc5473c4363ce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 24 19:58:39 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 24 19:58:39 2011 +1000"
      },
      "message": "Merge branch \u0027BUG_ON\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* \u0027BUG_ON\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  Remove MAYBE_BUILD_BUG_ON\n  BUILD_BUG_ON: make it handle more cases\n"
    },
    {
      "commit": "1765e3a4933ea0870fabd755feffc5473c4363ce",
      "tree": "208364f2933f96773310a3a6c4dce6a21f66eec7",
      "parents": [
        "7ef88ad561457c0346355dfd1f53e503ddfde719"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:45:10 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:45:11 2011 +1030"
      },
      "message": "Remove MAYBE_BUILD_BUG_ON\n\nNow BUILD_BUG_ON() can handle optimizable constants, we don\u0027t need\nMAYBE_BUILD_BUG_ON any more.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "7ef88ad561457c0346355dfd1f53e503ddfde719",
      "tree": "22f5e53aec61e0508f8d1aee130160fe24801144",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:45:10 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:45:10 2011 +1030"
      },
      "message": "BUILD_BUG_ON: make it handle more cases\n\nBUILD_BUG_ON used to use the optimizer to do code elimination or fail\nat link time; it was changed to first the size of a negative array (a\nnicer compile time error), then (in\n8c87df457cb58fe75b9b893007917cf8095660a0) to a bitfield.\n\nThis forced us to change some non-constant cases to MAYBE_BUILD_BUG_ON();\nas Jan points out in that commit, it didn\u0027t work as intended anyway.\n\nbitfields: needs a literal constant at parse time, and can\u0027t be put under\n\t\"if (__builtin_constant_p(x))\" for example.\nnegative array: can handle anything, but if the compiler can\u0027t tell it\u0027s\n\ta constant, silently has no effect.\nlink time: breaks link if the compiler can\u0027t determine the value, but the\n\tlinker output is not usually as informative as a compiler error.\n\nIf we use the negative-array-size method *and* the link time trick,\nwe get the ability to use BUILD_BUG_ON() under __builtin_constant_p()\nbranches, and maximal ability for the compiler to detect errors at\nbuild time.\n\nWe also document it thoroughly.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jan Beulich \u003cJBeulich@novell.com\u003e\nAcked-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\n"
    },
    {
      "commit": "b75be4204e7871869b2c268c00783703197aaa7d",
      "tree": "6667a6d0ca0380bf8f64a499bfcee0db39bdc5a6",
      "parents": [
        "3b90a5b292321b2acac3921f77046ae195aef53f"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@stericsson.com",
        "time": "Wed Jan 05 13:27:04 2011 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:32:52 2011 +1030"
      },
      "message": "param: add null statement to compiled-in module params\n\nAdd an unused struct declaration statement requiring a\nterminating semicolon to the compile-in case to provoke an\nerror if __MODULE_INFO() is used without the terminating\nsemicolon. Previously MODULE_ALIAS(\"foo\") (no semicolon)\ncompiled fine if MODULE was not selected.\n\nCc: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "3b90a5b292321b2acac3921f77046ae195aef53f",
      "tree": "f084c812a3c55911b9a9a35e101346ffb33d8aae",
      "parents": [
        "e94965ed5beb23c6fabf7ed31f625e66d7ff28de"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:32:51 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:32:52 2011 +1030"
      },
      "message": "module: fix linker error for MODULE_VERSION when !MODULE and CONFIG_SYSFS\u003dn\n\nlib/built-in.o:(__modver+0x8): undefined reference to `__modver_version_show\u0027\nlib/built-in.o:(__modver+0x2c): undefined reference to `__modver_version_show\u0027\n\nSimplest to just not emit anything: if they\u0027ve disabled SYSFS they probably\nwant the smallest kernel possible.\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "e94965ed5beb23c6fabf7ed31f625e66d7ff28de",
      "tree": "842e4cab961b568bcb98d8ab80d7d399110598a4",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor@vmware.com",
        "time": "Wed Dec 15 14:00:19 2010 -0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:32:51 2011 +1030"
      },
      "message": "module: show version information for built-in modules in sysfs\n\nCurrently only drivers that are built as modules have their versions\nshown in /sys/module/\u003cmodule_name\u003e/version, but this information might\nalso be useful for built-in drivers as well. This especially important\nfor drivers that do not define any parameters - such drivers, if\nbuilt-in, are completely invisible from userspace.\n\nThis patch changes MODULE_VERSION() macro so that in case when we are\ncompiling built-in module, version information is stored in a separate\nsection. Kernel then uses this data to create \u0027version\u0027 sysfs attribute\nin the same fashion it creates attributes for module parameters.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@vmware.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "fd96d0d8d8079b1ea7a7e8943a4da9dfc9621124",
      "tree": "1d1314722847d56e3b703ec721f9534e93fa5580",
      "parents": [
        "3c47eb06f08eb970ea9d696bcdb57a175d37b470",
        "50d64676d132a8a72a1a1657d7b3e6efa53da1ac"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jan 24 08:11:18 2011 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jan 24 08:14:07 2011 +0900"
      },
      "message": "Merge branch \u0027for-usb-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/sarah/xhci into usb-linus\n\n* \u0027for-usb-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/sarah/xhci:\n  xhci: Remove more doorbell-related reads\n  xHCI: fix printk_ratelimit() usage\n  xHCI: replace dev_dbg() with xhci_dbg()\n  xHCI: fix cycle bit set in giveback_first_trb()\n  xHCI: remove redundant parameter in giveback_first_trb()\n  xHCI: fix queue_trb in isoc transfer\n  xhci: Use GFP_NOIO during device reset.\n  usb: Realloc xHCI structures after a hub is verified.\n  xhci: Do not run xhci_cleanup_msix with irq disabled\n  xHCI: synchronize irq in xhci_suspend()\n  xhci: Resume bus on any port status change.\n"
    },
    {
      "commit": "d14fc1a74e846d7851f24fc9519fe87dc12a1231",
      "tree": "9d014b0200d4f2ba94c6d5ed1002c46027147fae",
      "parents": [
        "ca9cfea09fc5802074f79d086547c6363ddc894b"
      ],
      "author": {
        "name": "Libor Pechacek",
        "email": "lpechacek@suse.cz",
        "time": "Fri Jan 14 14:30:21 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Jan 22 18:53:26 2011 -0800"
      },
      "message": "USB: serial: handle Data Carrier Detect changes\n\nAlan\u0027s commit 335f8514f200e63d689113d29cb7253a5c282967 introduced\n.carrier_raised function in several drivers.  That also means\ntty_port_block_til_ready can now suspend the process trying to open the serial\nport when Carrier Detect is low and put it into tty_port.open_wait queue.  We\nneed to wake up the process when Carrier Detect goes high and trigger TTY\nhangup when CD goes low.\n\nSome of the devices do not report modem status line changes, or at least we\ndon\u0027t understand the status message, so for those we remove .carrier_raised\nagain.\n\nSigned-off-by: Libor Pechacek \u003clpechacek@suse.cz\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5bf7a6503ff416214b9a53569677dbf07657e6fd",
      "tree": "0dc8e8dbc30a23d466a327bef05e78c571f2b8a3",
      "parents": [
        "0f5c2ac58f22fd41deaeeb45ee752d4ae55f0d01",
        "42c025f3de9042d9c9abd9a6f6205d1a0f4bcadf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:38:57 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:38:57 2011 -0800"
      },
      "message": "Merge branch \u0027fixes-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027fixes-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: note the nested NOT_RUNNING test in worker_clr_flags() isn\u0027t a noop\n  workqueue: relax lockdep annotation on flush_work()\n"
    },
    {
      "commit": "0f5c2ac58f22fd41deaeeb45ee752d4ae55f0d01",
      "tree": "6e13ef4d7247e53d7a0f18e04549a8847cc80214",
      "parents": [
        "cfd74486eace27a0899b30529d01bc1a09a5b973",
        "dfff95c394b0dd977a6b65bd52b99703fae94d9b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:38:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:38:26 2011 -0800"
      },
      "message": "Merge branch \u0027irq-cleanup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-cleanup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (37 commits)\n  um: Use generic irq Kconfig\n  tile: Use generic irq Kconfig\n  sparc: Use generic irq Kconfig\n  score: Use generic irq Kconfig\n  powerpc: Use generic irq Kconfig\n  parisc: Use generic irq Kconfig\n  mn10300: Use generic irq Kconfig\n  microblaze: Use generic irq Kconfig\n  m68knommu: Use generic irq Kconfig\n  ia64: Use generic irq Kconfig\n  frv: Use generic irq Kconfig\n  blackfin: Use generic irq Kconfig\n  alpha: Use generic irq Kconfig\n  genirq: Remove __do_IRQ\n  m32r: Convert to generic irq Kconfig\n  m32r: Convert usrv platform irq handling\n  m32r: Convert opsput_lcdpld irq chip\n  m32r: Convert opsput lanpld irq chip\n  m32r: Convert opsput pld irq chip\n  m32r: Convert opsput irq chip\n  ...\n"
    },
    {
      "commit": "3dece370ecc7c6152b3fdd21c6de28179f6e643d",
      "tree": "e63f721412c1ef469108ae7e688cebcf39d83cad",
      "parents": [
        "db9fd8486bfe895b00b3603685c086a3c8210ffe"
      ],
      "author": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Fri Jan 21 08:49:56 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 08:40:30 2011 -0800"
      },
      "message": "mm: System without MMU do not need pte_mkwrite\n\nThe patch \"thp: export maybe_mkwrite\" (commit 14fd403f2146) breaks\nsystems without MMU.\n\nError log:\n\n    CC      arch/microblaze/mm/init.o\n  In file included from include/linux/mman.h:14,\n                   from arch/microblaze/mm/consistent.c:24:\n  include/linux/mm.h: In function \u0027maybe_mkwrite\u0027:\n  include/linux/mm.h:482: error: implicit declaration of function \u0027pte_mkwrite\u0027\n  include/linux/mm.h:482: error: incompatible types in assignment\n\nSigned-off-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nCC: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa0be0f4659f91f31e45adc422b1788cb36ffddc",
      "tree": "02eed33d672f36e41e735c5060acb9d2446c23af",
      "parents": [
        "db6b175fa6ad1408cbb2fb62949a6d55cfece03e"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jan 20 15:26:12 2011 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 21 17:38:19 2011 +0100"
      },
      "message": "RTC: Propagate error handling via rtc_timer_enqueue properly\n\nIn cases where RTC hardware does not support alarms, the virtualized\nRTC interfaces did not have a way to propagate the error up to userland.\n\nThis patch extends rtc_timer_enqueue so it catches errors from the hardware\nand returns them upwards to the virtualized interfaces. To simplify error\nhandling, it also internalizes the management of the timer-\u003eenabled bit\ninto rtc_timer_enqueue and rtc_timer_remove.\n\nAlso makes rtc_timer_enqueue and rtc_timer_remove static.\n\nReported-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nDiagnosed-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nTested-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLKML-Reference: \u003c1295565973-14358-1-git-send-email-john.stultz@linaro.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1daeddd5962acad1bea55e524fc0fadf32654a21",
      "tree": "29f20f9720c57228f74af205b263321d945f247e",
      "parents": [
        "2d0640b47da74cff7c11642c798d40de861ed524"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jan 13 09:30:49 2011 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 21 17:38:18 2011 +0100"
      },
      "message": "rtc: Cleanup removed UIE emulation declaration\n\nrtc_dev_update_irq_enable_emul was removed in commit\n042620a018afcfba1d678062b62e463b9e43a68d (UIE emulation is\nnow handled via hrtimer), but the declaration was missed.\nThis patch cleans it up.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLKML-Reference: \u003c1294939849-20608-1-git-send-email-john.stultz@linaro.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4843456c5c341eb57f80f9224362a22665d14107",
      "tree": "5656b405a8b1d2596e8eb748b953ee677a261e3c",
      "parents": [
        "2b1caf6ed7b888c95a1909d343799672731651a5",
        "f00c9e44ad1a9660fe8cd3ca15b6cd9497172eab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 07:33:37 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 07:33:37 2011 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  quota: Fix deadlock during path resolution\n"
    },
    {
      "commit": "1c77ff22f539ceaa64ea43d6a26d867e84602cb7",
      "tree": "d1623ae6a2f8ed56acbaa03b514e393496c42802",
      "parents": [
        "0e155b2ce293382730b8473f6ceeb7ac9b939b7d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 19 19:41:35 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 21 11:55:31 2011 +0100"
      },
      "message": "genirq: Remove __do_IRQ\n\nAll architectures are finally converted. Remove the cruft.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Chen Liqin \u003cliqin.chen@sunplusct.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\n"
    },
    {
      "commit": "2b1caf6ed7b888c95a1909d343799672731651a5",
      "tree": "7ab9a7ae13bc02376bce6267df67f6f2aa9091f1",
      "parents": [
        "d551d81d6a720542873f478def60baab6b5df403",
        "bd924e8cbd4b73ffb7d707a774c04f7e2cae88ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 18:30:37 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 18:30:37 2011 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  smp: Allow on_each_cpu() to be called while early_boot_irqs_disabled status to init/main.c\n  lockdep: Move early boot local IRQ enable/disable status to init/main.c\n"
    },
    {
      "commit": "2d6d9fd3a54a28c6f67f26eb6c74803307a1b11e",
      "tree": "0d7c54159ca8e9c4d4e113597d3c7c08d9f98e84",
      "parents": [
        "8d99641f6c1af806cd5d9e6badce91910219a161"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jan 19 22:27:14 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 18:30:17 2011 -0800"
      },
      "message": "ACPI: Introduce acpi_os_ioremap()\n\nCommit ca9b600be38c (\"ACPI / PM: Make suspend_nvs_save() use\nacpi_os_map_memory()\") attempted to prevent the code in osl.c and nvs.c\nfrom using different ioremap() variants by making the latter use\nacpi_os_map_memory() for mapping the NVS pages.  However, that also\nrequires acpi_os_unmap_memory() to be used for unmapping them, which\ncauses synchronize_rcu() to be executed many times in a row\nunnecessarily and introduces substantial delays during resume on some\nsystems.\n\nInstead of using acpi_os_map_memory() for mapping the NVS pages in nvs.c\nintroduce acpi_os_ioremap() calling ioremap_cache() and make the code in\nboth osl.c and nvs.c use it.\n\nReported-by: Jeff Chua \u003cjeff.chua.linux@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca3e021417eed30ec2b64ce88eb0acf64aa9bc29",
      "tree": "710590e51764d56c12d00744c402ab15c0d14a6b",
      "parents": [
        "e401f1761c0b01966e36e41e2c385d455a7b44ee"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jan 20 14:44:24 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:06 2011 -0800"
      },
      "message": "memcg: fix USED bit handling at uncharge in THP\n\nNow, under THP:\n\nat charge:\n  - PageCgroupUsed bit is set to all page_cgroup on a hugepage.\n    ....set to 512 pages.\nat uncharge\n  - PageCgroupUsed bit is unset on the head page.\n\nSo, some pages will remain with \"Used\" bit.\n\nThis patch fixes that Used bit is set only to the head page.\nUsed bits for tail pages will be set at splitting if necessary.\n\nThis patch adds this lock order:\n   compound_lock() -\u003e page_cgroup_move_lock().\n\n[akpm@linux-foundation.org: fix warning]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ce802f62ba32a7d95748ac92bf351f76affb6ff",
      "tree": "54dd0d6063ca61619e6b8ca84dd95b8e5a3c1402",
      "parents": [
        "12fcdba1b7ae8b25696433f420b775aeb556d89b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 20 12:06:35 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 20 13:32:33 2011 +0100"
      },
      "message": "lockdep: Move early boot local IRQ enable/disable status to init/main.c\n\nDuring early boot, local IRQ is disabled until IRQ subsystem is\nproperly initialized.  During this time, no one should enable\nlocal IRQ and some operations which usually are not allowed with\nIRQ disabled, e.g. operations which might sleep or require\ncommunications with other processors, are allowed.\n\nlockdep tracked this with early_boot_irqs_off/on() callbacks.\nAs other subsystems need this information too, move it to\ninit/main.c and make it generally available.  While at it,\ntoggle the boolean to early_boot_irqs_disabled instead of\nenabled so that it can be initialized with %false and %true\nindicates the exceptional condition.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110120110635.GB6036@htj.dyndns.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1268afe676ee9431a229fc68a2efb0dad4d5852f",
      "tree": "c252b969a51bd97317415cfc3b6465441f1b8aec",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470",
        "4580ccc04ddd8c17a470573a7fdb8def2e036dfa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 19 20:25:45 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 19 20:25:45 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (41 commits)\n  sctp: user perfect name for Delayed SACK Timer option\n  net: fix can_checksum_protocol() arguments swap\n  Revert \"netlink: test for all flags of the NLM_F_DUMP composite\"\n  gianfar: Fix misleading indentation in startup_gfar()\n  net/irda/sh_irda: return to RX mode when TX error\n  net offloading: Do not mask out NETIF_F_HW_VLAN_TX for vlan.\n  USB CDC NCM: tx_fixup() race condition fix\n  ns83820: Avoid bad pointer deref in ns83820_init_one().\n  ipv6: Silence privacy extensions initialization\n  bnx2x: Update bnx2x version to 1.62.00-4\n  bnx2x: Fix AER setting for BCM57712\n  bnx2x: Fix BCM84823 LED behavior\n  bnx2x: Mark full duplex on some external PHYs\n  bnx2x: Fix BCM8073/BCM8727 microcode loading\n  bnx2x: LED fix for BCM8727 over BCM57712\n  bnx2x: Common init will be executed only once after POR\n  bnx2x: Swap BCM8073 PHY polarity if required\n  iwlwifi: fix valid chain reading from EEPROM\n  ath5k: fix locking in tx_complete_poll_work\n  ath9k_hw: do PA offset calibration only on longcal interval\n  ...\n"
    },
    {
      "commit": "f966a13f92913ce8cbd35bc7f066553c9f3d41b0",
      "tree": "5039770cf62f69317c974775190cc4f5919f8398",
      "parents": [
        "7e96fbf2320782fb8f0970928026105cd34b41bd",
        "38d59392b29437af3a702209b6a5196ef01f79a8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 18 12:50:19 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 18 12:50:19 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "d2763b4f44e16f44cc4156c9591e74df9dcd88be",
      "tree": "ce030e235f8283a6c8ffa689995ce3847ea8135d",
      "parents": [
        "ba555461833aa1b5083004492ba97c92d5fccf46"
      ],
      "author": {
        "name": "Naveen Kumar Gaddipati",
        "email": "naveen.gaddipati@stericsson.com",
        "time": "Mon Jan 17 20:40:58 2011 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Jan 17 20:49:12 2011 -0800"
      },
      "message": "Input: bu21013_ts - remove duplicate resolution parameters\n\nRemove duplicate display resolution parameters from platform data as\none pair is quite enough.\n\nSigned-off-by: Naveen Kumar Gaddipati \u003cnaveen.gaddipati@stericsson.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "6845a44a314c0c626549de373131bf108f9cc1f1",
      "tree": "9152a5c557434515dd7306d288e8f55ecc64652e",
      "parents": [
        "eee2a817df7c5a6e569f353f8be78cc1b3604bb6",
        "4790f4dc5f4326dab5d81ed8fb8c9473e620bdbb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 14:45:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 14:45:48 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  RDMA: Update workqueue usage\n  RDMA/nes: Fix incorrect SFP+ link status detection on driver init\n  RDMA/nes: Fix SFP+ link down detection issue with switch port disable\n  RDMA/nes: Generate IB_EVENT_PORT_ERR/PORT_ACTIVE events\n  RDMA/nes: Fix bonding on iw_nes\n  IB/srp: Test only once whether iu allocation succeeded\n  IB/mlx4: Handle protocol field in multicast table\n  RDMA: Use vzalloc() to replace vmalloc()+memset(0)\n  mlx4_{core, ib, en}: Fix driver when sizeof (phys_addr_t) \u003e sizeof (long)\n  IB/mthca: Fix driver when sizeof (phys_addr_t) \u003e sizeof (long)\n"
    },
    {
      "commit": "9e8a462a0141b12e22c4a2f0c12e0542770401f0",
      "tree": "c0e32e5877f099b43e75afc5faecc944207dd51c",
      "parents": [
        "cf78859f520f8275318f47d7864f4459d940cb6b",
        "24562486be76cf223b8d911f45e1d26eb3364b13"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 12:39:57 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 12:39:57 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:\n  ecryptfs: remove unnecessary decrypt when extending a file\n  ecryptfs: Fix ecryptfs_printk() size_t warnings\n  fs/ecryptfs: Add printf format/argument verification and fix fallout\n  ecryptfs: fixed testing of file descriptor flags\n  ecryptfs: test lower_file pointer when lower_file_mutex is locked\n  ecryptfs: missing initialization of the superblock \u0027magic\u0027 field\n  ecryptfs: moved ECRYPTFS_SUPER_MAGIC definition to linux/magic.h\n  ecryptfs: fix truncation error in ecryptfs_read_update_atime\n"
    },
    {
      "commit": "8c34482c17d8fd07966328c7b1cfc35ee290bd1c",
      "tree": "324f7535ae561dcc430764fd2c7531ff67d9780b",
      "parents": [
        "1a47f7a84ef386c1f7f55f669598bd9894ceb73a",
        "d95defaca7994ffff1ceb52f3011eb644dfe3274"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:18:40 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:18:40 2011 -0800"
      },
      "message": "Merge branch \u0027next-devicetree\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027next-devicetree\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  spi/spi_sh_msiof: fix a wrong free_irq() parameter\n  dt/flattree: Return virtual address from early_init_dt_alloc_memory_arch()\n"
    },
    {
      "commit": "ab2020f2f11fc7fb81e6c71298b0830d85412011",
      "tree": "c9a6342063461dcf31278d65585bca73bdda4a84",
      "parents": [
        "235646a486d10891bd86af28d8eac75d9f22bd2d",
        "154bf89f5e3e3dc59666926f27ca4a0866f39157"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:15:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:15:30 2011 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (59 commits)\n  mtd: mtdpart: disallow reading OOB past the end of the partition\n  mtd: pxa3xx_nand: NULL dereference in pxa3xx_nand_probe\n  UBI: use mtd-\u003ewritebufsize to set minimal I/O unit size\n  mtd: initialize writebufsize in the MTD object of a partition\n  mtd: onenand: add mtd-\u003ewritebufsize initialization\n  mtd: nand: add mtd-\u003ewritebufsize initialization\n  mtd: cfi: add writebufsize initialization\n  mtd: add writebufsize field to mtd_info struct\n  mtd: OneNAND: OMAP2/3: prevent regulator sleeping while OneNAND is in use\n  mtd: OneNAND: add enable / disable methods to onenand_chip\n  mtd: m25p80: Fix JEDEC ID for AT26DF321\n  mtd: txx9ndfmc: limit transfer bytes to 512 (ECC provides 6 bytes max)\n  mtd: cfi_cmdset_0002: add support for Samsung K8D3x16UxC NOR chips\n  mtd: cfi_cmdset_0002: add support for Samsung K8D6x16UxM NOR chips\n  mtd: nand: ams-delta: drop omap_read/write, use ioremap\n  mtd: m25p80: add debugging trace in sst_write\n  mtd: nand: ams-delta: select for built-in by default\n  mtd: OneNAND: lighten scary initial bad block messages\n  mtd: OneNAND: OMAP2/3: add support for command line partitioning\n  mtd: nand: rearrange ONFI revision checking, add ONFI 2.3\n  ...\n\nFix up trivial conflict in drivers/mtd/Kconfig as per DavidW.\n"
    },
    {
      "commit": "235646a486d10891bd86af28d8eac75d9f22bd2d",
      "tree": "72308e6d2d7c936d00907689a2749715873d5f1b",
      "parents": [
        "af575e2d2e09517a8190f1b425453cc3e0102f6c",
        "ecf5632dd189ab4c366cef853d6e5fe7adfe52e5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:00:09 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:00:09 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  fs: fix address space warnings in ioctl_fiemap()\n  aio: check return value of create_workqueue()\n  hpfs_setattr error case avoids unlock_kernel\n  compat: copy missing fields in compat_statfs64 to user\n  compat: update comment of compat statfs syscalls\n  compat: remove unnecessary assignment in compat_rw_copy_check_uvector()\n  fs: FS_POSIX_ACL does not depend on BLOCK\n  fs: Remove unlikely() from fget_light()\n  fs: Remove unlikely() from fput_light()\n  fallocate should be a file operation\n  make the feature checks in -\u003efallocate future proof\n  staging: smbfs building fix\n  tidy up around finish_automount()\n  don\u0027t drop newmnt on error in do_add_mount()\n  Take the completion of automount into new helper\n"
    },
    {
      "commit": "e1288cd72f54e7fc16ae9ebb4d0647537ef848d4",
      "tree": "b4fd87b9307d8041fb680cb9b8fbf787ec968df7",
      "parents": [
        "e78bf5e6cbe837daa6ab628a5f679548742994d3",
        "94ae85220a07d357d4937086c490854f63344de4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 10:54:41 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 10:54:41 2011 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (63 commits)\n  ARM: PL08x: cleanup comments\n  Update CONFIG_MD_RAID6_PQ to CONFIG_RAID6_PQ in drivers/dma/iop-adma.c\n  ARM: PL08x: fix a warning\n  Fix dmaengine_submit() return type\n  dmaengine: at_hdmac: fix race while monitoring channel status\n  dmaengine: at_hdmac: flags located in first descriptor\n  dmaengine: at_hdmac: use subsys_initcall instead of module_init\n  dmaengine: at_hdmac: no need set ACK in new descriptor\n  dmaengine: at_hdmac: trivial add precision to unmapping comment\n  dmaengine: at_hdmac: use dma_address to program DMA hardware\n  pch_dma: support new device ML7213 IOH\n  ARM: PL08x: prevent dma_set_runtime_config() reconfiguring memcpy channels\n  ARM: PL08x: allow dma_set_runtime_config() to return errors\n  ARM: PL08x: fix locking between prepare function and submit function\n  ARM: PL08x: introduce \u0027phychan_hold\u0027 to hold on to physical channels\n  ARM: PL08x: put txd\u0027s on the pending list in pl08x_tx_submit()\n  ARM: PL08x: rename \u0027desc_list\u0027 as \u0027pend_list\u0027\n  ARM: PL08x: implement unmapping of memcpy buffers\n  ARM: PL08x: store prep_* flags in async_tx structure\n  ARM: PL08x: shrink srcbus/dstbus in txd structure\n  ...\n"
    },
    {
      "commit": "2a8652f4e0d11ee27b1d2870c600fd1300661a6e",
      "tree": "f7ee0d8614b60a8733bcf0cfba8ac94776925ed5",
      "parents": [
        "38a708d7759476318d0eec64af174513032ec67a"
      ],
      "author": {
        "name": "Roberto Sassu",
        "email": "roberto.sassu@polito.it",
        "time": "Wed Nov 03 11:11:15 2010 +0100"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon Jan 17 10:44:31 2011 -0600"
      },
      "message": "ecryptfs: moved ECRYPTFS_SUPER_MAGIC definition to linux/magic.h\n\nThe definition of ECRYPTFS_SUPER_MAGIC has been moved to the include\nfile \u0027linux/magic.h\u0027 to become available to other kernel subsystems.\n\nSigned-off-by: Roberto Sassu \u003croberto.sassu@polito.it\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ecf5632dd189ab4c366cef853d6e5fe7adfe52e5",
      "tree": "947ae7edf45415753e960d53957ae3a4121fb3b8",
      "parents": [
        "27eaa1c90c608aa907336c2743d5ecf35c469440"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Sun Jan 16 23:28:17 2011 +0900"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 17 08:21:42 2011 -0500"
      },
      "message": "fs: fix address space warnings in ioctl_fiemap()\n\nThe fi_extents_start field of struct fiemap_extent_info is a\nuser pointer but was not marked as __user. This makes sparse\nemit following warnings:\n\n  CHECK   fs/ioctl.c\nfs/ioctl.c:114:26: warning: incorrect type in argument 1 (different address spaces)\nfs/ioctl.c:114:26:    expected void [noderef] \u003casn:1\u003e*dst\nfs/ioctl.c:114:26:    got struct fiemap_extent *[assigned] dest\nfs/ioctl.c:202:14: warning: incorrect type in argument 1 (different address spaces)\nfs/ioctl.c:202:14:    expected void const volatile [noderef] \u003casn:1\u003e*\u003cnoident\u003e\nfs/ioctl.c:202:14:    got struct fiemap_extent *[assigned] fi_extents_start\nfs/ioctl.c:212:27: warning: incorrect type in argument 1 (different address spaces)\nfs/ioctl.c:212:27:    expected void [noderef] \u003casn:1\u003e*dst\nfs/ioctl.c:212:27:    got char *\u003cnoident\u003e\n\nAlso add \u0027ufiemap\u0027 variable to eliminate unnecessary casts.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c2b3e74b78b24cb367289a75a2bd30e569e56e0e",
      "tree": "1ae2e53e0aa3831486afd2ec8c71a8cd32535b1b",
      "parents": [
        "2fe17c1075836b66678ed2a305fd09b6773883aa"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 13 19:38:08 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 17 03:26:26 2011 -0500"
      },
      "message": "fs: Remove unlikely() from fput_light()\n\nIn fput_light(), there\u0027s an unlikely(fput_needed), which running on\nmy normal desktop doing firefox, xchat, evolution and part of my distcc farm,\nand running the annotate branch profiler shows that the unlikely is not\nvery unlikely.\n\n correct incorrect  %        Function             File              Line\n ------- ---------  -        --------             ----              ----\n       0       48 100 fput_light                file.h               26\n115828710 897415279  88 fput_light              file.h               26\n865271179 5286128445  85 fput_light             file.h               26\n19568539  8923664  31 fput_light                file.h               26\n12353677  3562279  22 fput_light                file.h               26\n  267691    67062  20 fput_light                file.h               26\n15014853   348172   2 fput_light                file.h               26\n  209258      205   0 fput_light                file.h               26\n 1364164        0   0 fput_light                file.h               26\n\nWhich gives 1032903812 times it was correct and 6203351846 times it was\nincorrect, or 85% incorrect.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2fe17c1075836b66678ed2a305fd09b6773883aa",
      "tree": "eb5287be8138686682eef9622872cfc7657e0664",
      "parents": [
        "64c23e86873ee410554d6d1c76b60da47025e96f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jan 14 13:07:43 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 17 02:25:31 2011 -0500"
      },
      "message": "fallocate should be a file operation\n\nCurrently all filesystems except XFS implement fallocate asynchronously,\nwhile XFS forced a commit.  Both of these are suboptimal - in case of O_SYNC\nI/O we really want our allocation on disk, especially for the !KEEP_SIZE\ncase where we actually grow the file with user-visible zeroes.  On the\nother hand always commiting the transaction is a bad idea for fast-path\nuses of fallocate like for example in recent Samba versions.   Given\nthat block allocation is a data plane operation anyway change it from\nan inode operation to a file operation so that we have the file structure\navailable that lets us check for O_SYNC.\n\nThis also includes moving the code around for a few of the filesystems,\nand remove the already unnedded S_ISDIR checks given that we only wire\nup fallocate for regular files.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "94ae85220a07d357d4937086c490854f63344de4",
      "tree": "8dda364dc7cbae73a30bbe5ef47ac8d674d998c6",
      "parents": [
        "0261f7416362f6affc2d4fe7fea9320a6bdaaee6"
      ],
      "author": {
        "name": "Russell King - ARM Linux",
        "email": "linux@arm.linux.org.uk",
        "time": "Sun Jan 16 20:18:05 2011 +0000"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sun Jan 16 16:55:43 2011 -0800"
      },
      "message": "ARM: PL08x: cleanup comments\n\nCleanup the formatting of comments, remove some which don\u0027t make sense\nanymore.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n[fix conflict with 96a608a4]\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "fc8fe1e992ae0326a88edbe4d6793e840bbdd4ff",
      "tree": "40eb3f1660898b9261219c0c256f569f0258a953",
      "parents": [
        "f8206b925fb0eba3a11839419be118b09105d7b1"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jan 16 20:42:43 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 16 11:56:26 2011 -0800"
      },
      "message": "PCI / ACPI: Fix build of the AER driver for CONFIG_ACPI unset\n\nAfter commit 415e12b23792 (\"PCI/ACPI: Request _OSC control once for each\nroot bridge (v3)\") include/linux/pci-acpi.h is included by\ndrivers/pci/pcie/aer/aerdrv.c and if CONFIG_ACPI is unset, the bogus and\nunnecessary alternative definition of acpi_find_root_bridge_handle()\ncauses a build error to occur.\n\nRemove the offending piece of garbage.\n\nReported-and-tested-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8206b925fb0eba3a11839419be118b09105d7b1",
      "tree": "5d41b356a043da09c816ed80bd79d1ea8b2b47e5",
      "parents": [
        "1b59be2a6cdcb5a12e18d8315c07c94a624de48f",
        "f03c65993b98eeb909a4012ce7833c5857d74755"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 16 11:31:50 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 16 11:31:50 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (23 commits)\n  sanitize vfsmount refcounting changes\n  fix old umount_tree() breakage\n  autofs4: Merge the remaining dentry ops tables\n  Unexport do_add_mount() and add in follow_automount(), not -\u003ed_automount()\n  Allow d_manage() to be used in RCU-walk mode\n  Remove a further kludge from __do_follow_link()\n  autofs4: Bump version\n  autofs4: Add v4 pseudo direct mount support\n  autofs4: Fix wait validation\n  autofs4: Clean up autofs4_free_ino()\n  autofs4: Clean up dentry operations\n  autofs4: Clean up inode operations\n  autofs4: Remove unused code\n  autofs4: Add d_manage() dentry operation\n  autofs4: Add d_automount() dentry operation\n  Remove the automount through follow_link() kludge code from pathwalk\n  CIFS: Use d_automount() rather than abusing follow_link()\n  NFS: Use d_automount() rather than abusing follow_link()\n  AFS: Use d_automount() rather than abusing follow_link()\n  Add an AT_NO_AUTOMOUNT flag to suppress terminal automount\n  ...\n"
    },
    {
      "commit": "f03c65993b98eeb909a4012ce7833c5857d74755",
      "tree": "a6dd5e353889b7fe4ab87c54170d09443d788fec",
      "parents": [
        "7b8a53fd815deb39542085897743fa0063f9fe06"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 14 22:30:21 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 16 13:47:07 2011 -0500"
      },
      "message": "sanitize vfsmount refcounting changes\n\nInstead of splitting refcount between (per-cpu) mnt_count\nand (SMP-only) mnt_longrefs, make all references contribute\nto mnt_count again and keep track of how many are longterm\nones.\n\nAccounting rules for longterm count:\n\t* 1 for each fs_struct.root.mnt\n\t* 1 for each fs_struct.pwd.mnt\n\t* 1 for having non-NULL -\u003emnt_ns\n\t* decrement to 0 happens only under vfsmount lock exclusive\n\nThat allows nice common case for mntput() - since we can\u0027t drop the\nfinal reference until after mnt_longterm has reached 0 due to the rules\nabove, mntput() can grab vfsmount lock shared and check mnt_longterm.\nIf it turns out to be non-zero (which is the common case), we know\nthat this is not the final mntput() and can just blindly decrement\npercpu mnt_count.  Otherwise we grab vfsmount lock exclusive and\ndo usual decrement-and-check of percpu mnt_count.\n\nFor fs_struct.c we have mnt_make_longterm() and mnt_make_shortterm();\nnamespace.c uses the latter in places where we don\u0027t already hold\nvfsmount lock exclusive and opencodes a few remaining spots where\nwe need to manipulate mnt_longterm.\n\nNote that we mostly revert the code outside of fs/namespace.c back\nto what we used to have; in particular, normal code doesn\u0027t need\nto care about two kinds of references, etc.  And we get to keep\nthe optimization Nick\u0027s variant had bought us...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "672c54466d24994eb9633f993862c89539504a42",
      "tree": "e08f17e5fa260676912eb9b7d2263d47d667fdec",
      "parents": [
        "1b59be2a6cdcb5a12e18d8315c07c94a624de48f"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jan 13 15:36:09 2011 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat Jan 15 22:01:58 2011 -0700"
      },
      "message": "dt/flattree: Return virtual address from early_init_dt_alloc_memory_arch()\n\nThe physical address is never used by the device tree code when\nallocating memory for unflattening.  Change the architecture\u0027s alloc\nhook to return the virutal address instead.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "ea5b778a8b98c85a87d66bf844904f9c3802b869",
      "tree": "baa56cbe1a907d76341f2cad53e16569cc1d3288",
      "parents": [
        "ab90911ff90cdab59b31c045c3f0ae480d14f29d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 19:10:03 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:48 2011 -0500"
      },
      "message": "Unexport do_add_mount() and add in follow_automount(), not -\u003ed_automount()\n\nUnexport do_add_mount() and make -\u003ed_automount() return the vfsmount to be\nadded rather than calling do_add_mount() itself.  follow_automount() will then\ndo the addition.\n\nThis slightly complicates things as -\u003ed_automount() normally wants to add the\nnew vfsmount to an expiration list and start an expiration timer.  The problem\nwith that is that the vfsmount will be deleted if it has a refcount of 1 and\nthe timer will not repeat if the expiration list is empty.\n\nTo this end, we require the vfsmount to be returned from d_automount() with a\nrefcount of (at least) 2.  One of these refs will be dropped unconditionally.\nIn addition, follow_automount() must get a 3rd ref around the call to\ndo_add_mount() lest it eat a ref and return an error, leaving the mount we\nhave open to being expired as we would otherwise have only 1 ref on it.\n\nd_automount() should also add the the vfsmount to the expiration list (by\ncalling mnt_set_expiry()) and start the expiration timer before returning, if\nthis mechanism is to be used.  The vfsmount will be unlinked from the\nexpiration list by follow_automount() if do_add_mount() fails.\n\nThis patch also fixes the call to do_add_mount() for AFS to propagate the mount\nflags from the parent vfsmount.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ab90911ff90cdab59b31c045c3f0ae480d14f29d",
      "tree": "683450a66eb9dc6bf053e38d63f4740bb53a7b6e",
      "parents": [
        "87556ef19926e97464e0163a7840140527ae6615"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:46:51 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:47 2011 -0500"
      },
      "message": "Allow d_manage() to be used in RCU-walk mode\n\nAllow d_manage() to be called from pathwalk when it is in RCU-walk mode as well\nas when it is in Ref-walk mode.  This permits __follow_mount_rcu() to call\nd_manage() directly.  d_manage() needs a parameter to indicate that it is in\nRCU-walk mode as it isn\u0027t allowed to sleep if in that mode (but should return\n-ECHILD instead).\n\nautofs4_d_manage() can then be set to retain RCU-walk mode if the daemon\naccesses it and otherwise request dropping back to ref-walk mode.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1972580bb4edea3ed6fe273b2ca72f44f10f8c86",
      "tree": "9c8e34448ed30e040dcdb18b5b92ec663baa0750",
      "parents": [
        "dd89f90d2deb9aa5bc8e1b15d726ff5c0bb2b623"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Fri Jan 14 18:46:40 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:45 2011 -0500"
      },
      "message": "autofs4: Bump version\n\nIncrease the autofs module sub-version so we can tell what kernel\nimplementation is being used from user space debug logging.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "36d43a43761b004ad1879ac21471d8fc5f3157ec",
      "tree": "6cb6c6d978f4e58de7f9bf901707d6929f098345",
      "parents": [
        "d18610b0ce9eb48c60649d8fcbf68374c84349d3"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:45:42 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:34 2011 -0500"
      },
      "message": "NFS: Use d_automount() rather than abusing follow_link()\n\nMake NFS use the new d_automount() dentry operation rather than abusing\nfollow_link() on directories.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6f45b65672c8017d5e210e338bb5858a938ef445",
      "tree": "b62877c489fb682033c37d30d91c53e4d0c3833a",
      "parents": [
        "cc53ce53c86924bfe98a12ea20b7465038a08792"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:45:31 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:33 2011 -0500"
      },
      "message": "Add an AT_NO_AUTOMOUNT flag to suppress terminal automount\n\nAdd an AT_NO_AUTOMOUNT flag to suppress terminal automounting of automount\npoint directories.  This can be used by fstatat() users to permit the\ngathering of attributes on an automount point and also prevent\nmass-automounting of a directory of automount points by ls.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cc53ce53c86924bfe98a12ea20b7465038a08792",
      "tree": "3c9a4923dd9f413c46bfa83a20cb579446df6deb",
      "parents": [
        "9875cf806403fae66b2410a3c2cc820d97731e04"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:45:26 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:31 2011 -0500"
      },
      "message": "Add a dentry op to allow processes to be held during pathwalk transit\n\nAdd a dentry op (d_manage) to permit a filesystem to hold a process and make it\nsleep when it tries to transit away from one of that filesystem\u0027s directories\nduring a pathwalk.  The operation is keyed off a new dentry flag\n(DCACHE_MANAGE_TRANSIT).\n\nThe filesystem is allowed to be selective about which processes it holds and\nwhich it permits to continue on or prohibits from transiting from each flagged\ndirectory.  This will allow autofs to hold up client processes whilst letting\nits userspace daemon through to maintain the directory or the stuff behind it\nor mounted upon it.\n\nThe -\u003ed_manage() dentry operation:\n\n\tint (*d_manage)(struct path *path, bool mounting_here);\n\ntakes a pointer to the directory about to be transited away from and a flag\nindicating whether the transit is undertaken by do_add_mount() or\ndo_move_mount() skipping through a pile of filesystems mounted on a mountpoint.\n\nIt should return 0 if successful and to let the process continue on its way;\n-EISDIR to prohibit the caller from skipping to overmounted filesystems or\nautomounting, and to use this directory; or some other error code to return to\nthe user.\n\n-\u003ed_manage() is called with namespace_sem writelocked if mounting_here is true\nand no other locks held, so it may sleep.  However, if mounting_here is true,\nit may not initiate or wait for a mount or unmount upon the parameter\ndirectory, even if the act is actually performed by userspace.\n\nWithin fs/namei.c, follow_managed() is extended to check with d_manage() first\non each managed directory, before transiting away from it or attempting to\nautomount upon it.\n\nfollow_down() is renamed follow_down_one() and should only be used where the\nfilesystem deliberately intends to avoid management steps (e.g. autofs).\n\nA new follow_down() is added that incorporates the loop done by all other\ncallers of follow_down() (do_add/move_mount(), autofs and NFSD; whilst AFS, NFS\nand CIFS do use it, their use is removed by converting them to use\nd_automount()).  The new follow_down() calls d_manage() as appropriate.  It\nalso takes an extra parameter to indicate if it is being called from mount code\n(with namespace_sem writelocked) which it passes to d_manage().  follow_down()\nignores automount points so that it can be used to mount on them.\n\n__follow_mount_rcu() is made to abort rcu-walk mode if it hits a directory with\nDCACHE_MANAGE_TRANSIT set on the basis that we\u0027re probably going to have to\nsleep.  It would be possible to enter d_manage() in rcu-walk mode too, and have\nthat determine whether to abort or not itself.  That would allow the autofs\ndaemon to continue on in rcu-walk mode.\n\nNote that DCACHE_MANAGE_TRANSIT on a directory should be cleared when it isn\u0027t\nrequired as every tranist from that directory will cause d_manage() to be\ninvoked.  It can always be set again when necessary.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nWHAT THIS MEANS FOR AUTOFS\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nAutofs currently uses the lookup() inode op and the d_revalidate() dentry op to\ntrigger the automounting of indirect mounts, and both of these can be called\nwith i_mutex held.\n\nautofs knows that the i_mutex will be held by the caller in lookup(), and so\ncan drop it before invoking the daemon - but this isn\u0027t so for d_revalidate(),\nsince the lock is only held on _some_ of the code paths that call it.  This\nmeans that autofs can\u0027t risk dropping i_mutex from its d_revalidate() function\nbefore it calls the daemon.\n\nThe bug could manifest itself as, for example, a process that\u0027s trying to\nvalidate an automount dentry that gets made to wait because that dentry is\nexpired and needs cleaning up:\n\n\tmkdir         S ffffffff8014e05a     0 32580  24956\n\tCall Trace:\n\t [\u003cffffffff885371fd\u003e] :autofs4:autofs4_wait+0x674/0x897\n\t [\u003cffffffff80127f7d\u003e] avc_has_perm+0x46/0x58\n\t [\u003cffffffff8009fdcf\u003e] autoremove_wake_function+0x0/0x2e\n\t [\u003cffffffff88537be6\u003e] :autofs4:autofs4_expire_wait+0x41/0x6b\n\t [\u003cffffffff88535cfc\u003e] :autofs4:autofs4_revalidate+0x91/0x149\n\t [\u003cffffffff80036d96\u003e] __lookup_hash+0xa0/0x12f\n\t [\u003cffffffff80057a2f\u003e] lookup_create+0x46/0x80\n\t [\u003cffffffff800e6e31\u003e] sys_mkdirat+0x56/0xe4\n\nversus the automount daemon which wants to remove that dentry, but can\u0027t\nbecause the normal process is holding the i_mutex lock:\n\n\tautomount     D ffffffff8014e05a     0 32581      1              32561\n\tCall Trace:\n\t [\u003cffffffff80063c3f\u003e] __mutex_lock_slowpath+0x60/0x9b\n\t [\u003cffffffff8000ccf1\u003e] do_path_lookup+0x2ca/0x2f1\n\t [\u003cffffffff80063c89\u003e] .text.lock.mutex+0xf/0x14\n\t [\u003cffffffff800e6d55\u003e] do_rmdir+0x77/0xde\n\t [\u003cffffffff8005d229\u003e] tracesys+0x71/0xe0\n\t [\u003cffffffff8005d28d\u003e] tracesys+0xd5/0xe0\n\nwhich means that the system is deadlocked.\n\nThis patch allows autofs to hold up normal processes whilst the daemon goes\nahead and does things to the dentry tree behind the automouter point without\nrisking a deadlock as almost no locks are held in d_manage() and none in\nd_automount().\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nWas-Acked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9875cf806403fae66b2410a3c2cc820d97731e04",
      "tree": "6f9546b400716766af95e0f78e3d600e765b2b51",
      "parents": [
        "1a8edf40e7c3eee955e0dd0316a7c9d85e36f597"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:45:21 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:05:03 2011 -0500"
      },
      "message": "Add a dentry op to handle automounting rather than abusing follow_link()\n\nAdd a dentry op (d_automount) to handle automounting directories rather than\nabusing the follow_link() inode operation.  The operation is keyed off a new\ndentry flag (DCACHE_NEED_AUTOMOUNT).\n\nThis also makes it easier to add an AT_ flag to suppress terminal segment\nautomount during pathwalk and removes the need for the kludge code in the\npathwalk algorithm to handle directories with follow_link() semantics.\n\nThe -\u003ed_automount() dentry operation:\n\n\tstruct vfsmount *(*d_automount)(struct path *mountpoint);\n\ntakes a pointer to the directory to be mounted upon, which is expected to\nprovide sufficient data to determine what should be mounted.  If successful, it\nshould return the vfsmount struct it creates (which it should also have added\nto the namespace using do_add_mount() or similar).  If there\u0027s a collision with\nanother automount attempt, NULL should be returned.  If the directory specified\nby the parameter should be used directly rather than being mounted upon,\n-EISDIR should be returned.  In any other case, an error code should be\nreturned.\n\nThe -\u003ed_automount() operation is called with no locks held and may sleep.  At\nthis point the pathwalk algorithm will be in ref-walk mode.\n\nWithin fs/namei.c itself, a new pathwalk subroutine (follow_automount()) is\nadded to handle mountpoints.  It will return -EREMOTE if the automount flag was\nset, but no d_automount() op was supplied, -ELOOP if we\u0027ve encountered too many\nsymlinks or mountpoints, -EISDIR if the walk point should be used without\nmounting and 0 if successful.  The path will be updated to point to the mounted\nfilesystem if a successful automount took place.\n\n__follow_mount() is replaced by follow_managed() which is more generic\n(especially with the patch that adds -\u003ed_manage()).  This handles transits from\ndirectories during pathwalk, including automounting and skipping over\nmountpoints (and holding processes with the next patch).\n\n__follow_mount_rcu() will jump out of RCU-walk mode if it encounters an\nautomount point with nothing mounted on it.\n\nfollow_dotdot*() does not handle automounts as you don\u0027t want to trigger them\nwhilst following \"..\".\n\nI\u0027ve also extracted the mount/don\u0027t-mount logic from autofs4 and included it\nhere.  It makes the mount go ahead anyway if someone calls open() or creat(),\ntries to traverse the directory, tries to chdir/chroot/etc. into the directory,\nor sticks a \u0027/\u0027 on the end of the pathname.  If they do a stat(), however,\nthey\u0027ll only trigger the automount if they didn\u0027t also say O_NOFOLLOW.\n\nI\u0027ve also added an inode flag (S_AUTOMOUNT) so that filesystems can mark their\ninodes as automount points.  This flag is automatically propagated to the\ndentry as DCACHE_NEED_AUTOMOUNT by __d_instantiate().  This saves NFS and could\nsave AFS a private flag bit apiece, but is not strictly necessary.  It would be\npreferable to do the propagation in d_set_d_op(), but that doesn\u0027t normally\nhave access to the inode.\n\n[AV: fixed breakage in case if __follow_mount_rcu() fails and nameidata_drop_rcu()\nsucceeds in RCU case of do_lookup(); we need to fall through to non-RCU case after\nthat, rather than just returning with ungrabbed *path]\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nWas-Acked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "597fb188cbee2d371246e1669bbc6051bb666aa9",
      "tree": "fd9cb605050ca15274cf391dc6bd4073d04808df",
      "parents": [
        "38567333a6dabd0f2b4150e9fb6dd8e3ba2985e5",
        "04d94879c8a4973b5499dc26b9d38acee8928791"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Jan 15 13:28:17 2011 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Jan 15 13:28:17 2011 +0200"
      },
      "message": "Merge branch \u0027slub/hotplug\u0027 into slab/urgent\n"
    },
    {
      "commit": "96a608a4bfd8468c21881b3f92024923886eb015",
      "tree": "5c1cac2a320f8ba019ccd3d45730ac8d0ecbaa5d",
      "parents": [
        "98d530fe246b65fbd3cdeeeca319a80c46cb4793"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jan 14 17:51:11 2011 -0800"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jan 14 17:51:11 2011 -0800"
      },
      "message": "ARM: PL08x: fix a warning\n\ndrivers/dma/amba-pl08x.c: In function \u0027pl08x_start_txd\u0027:\ndrivers/dma/amba-pl08x.c:205: warning: dereferencing \u0027void *\u0027 pointer\n\nWe never dereference llis_va aside from assigning it to a struct\npl08x_lli pointer or calculating the address of array element 0.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "98d530fe246b65fbd3cdeeeca319a80c46cb4793",
      "tree": "f5b6d711fd6d24ae6a042e91c4bc9108914fb382",
      "parents": [
        "dda36f9821321edf65d69da5c0807df7e73d26fc"
      ],
      "author": {
        "name": "Russell King - ARM Linux",
        "email": "linux@arm.linux.org.uk",
        "time": "Sat Jan 01 23:00:23 2011 +0000"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jan 14 17:07:49 2011 -0800"
      },
      "message": "Fix dmaengine_submit() return type\n\ndesc-\u003etx_submit\u0027s return type is dma_cookie_t, not int.  Therefore,\ndmaengine_submit() should match this return type as it\u0027s just\nwrapping this detail.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "0029227f1bc30b6c809ae751f9e7af6cef900997",
      "tree": "4962aacd3349c149c1d1567aaa09cd9ac8efec0f",
      "parents": [
        "7111ebc97ed53a32314011c85a6f235f0dab8ae8"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Mon Dec 27 17:39:02 2010 +0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Jan 14 15:28:52 2011 -0800"
      },
      "message": "xHCI: synchronize irq in xhci_suspend()\n\nSynchronize the interrupts instead of free them in xhci_suspend(). This will\nprevent a double free when the host is suspended and then the card removed.\n\nSet the flag hcd-\u003emsix_enabled when using MSI-X, and check the flag in\nsuspend_common(). MSI-X synchronization will be handled by xhci_suspend(),\nand MSI/INTx will be synchronized in suspend_common().\n\nThis patch should be queued for the 2.6.37 stable tree.\n\nReported-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Andiry Xu \u003candiry.xu@amd.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "ab0724ffee24409a7f81afb539b2ac29090bff3e",
      "tree": "8d0611d921494af2477d517f4f8a331150bf328d",
      "parents": [
        "9a1fe2f27f71dd275caf2be5be2fa59bd2a3f8d4"
      ],
      "author": {
        "name": "Markus Trippelsdorf",
        "email": "markus@trippelsdorf.de",
        "time": "Sat Jan 15 00:07:22 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 15:23:25 2011 -0800"
      },
      "message": "PCI / ACPI: Fix build issue in pci_root.c for !CONFIG_PCIEPORTBUS\n\nThe compilation of drivers/acpi/pci_root.c fails if\nCONFIG_PCIEPORTBUS is unset.  Fix the problem.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ab82196492a0b6968a654a06aae923b28afef0d",
      "tree": "8affe1097bba194fe677d5399f47693dc0363dd8",
      "parents": [
        "6f7f7caab259026234277b659485d22c1dcb1ab4",
        "49731baa41df404c2c3f44555869ab387363af43"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:32:07 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:32:07 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: restore multiple bd_link_disk_holder() support\n  block cfq: compensate preempted queue even if it has no slice assigned\n  block cfq: make queue preempt work for queues from different workload\n"
    },
    {
      "commit": "d018b6f4f1539f3679fbdc2d02d58d09e76be84a",
      "tree": "317b9e04d8e7a73a4d07c69a5cb5455ec34f47e5",
      "parents": [
        "18bce371ae09af6c20ee62c1092a4d1d0e84dd49",
        "0f73f2c5a3ebb957ee66718c903c17ed71a4fc2e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:25:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:25:30 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits)\n  GRETH: resolve SMP issues and other problems\n  GRETH: handle frame error interrupts\n  GRETH: avoid writing bad speed/duplex when setting transfer mode\n  GRETH: fixed skb buffer memory leak on frame errors\n  GRETH: GBit transmit descriptor handling optimization\n  GRETH: fix opening/closing\n  GRETH: added raw AMBA vendor/device number to match against.\n  cassini: Fix build bustage on x86.\n  e1000e: consistent use of Rx/Tx vs. RX/TX/rx/tx in comments/logs\n  e1000e: update Copyright for 2011\n  e1000: Avoid unhandled IRQ\n  r8169: keep firmware in memory.\n  netdev: tilepro: Use is_unicast_ether_addr helper\n  etherdevice.h: Add is_unicast_ether_addr function\n  ks8695net: Use default implementation of ethtool_ops::get_link\n  ks8695net: Disable non-working ethtool operations\n  USB CDC NCM: Don\u0027t deref NULL in cdc_ncm_rx_fixup() and don\u0027t use uninitialized variable.\n  vxge: Remember to release firmware after upgrading firmware\n  netdev: bfin_mac: Remove is_multicast_ether_addr use in netdev_for_each_mc_addr\n  ipsec: update MAX_AH_AUTH_LEN to support sha512\n  ...\n"
    },
    {
      "commit": "18bce371ae09af6c20ee62c1092a4d1d0e84dd49",
      "tree": "f3467fafd8e49392e3f6efef7b88a7b4dd3b7b06",
      "parents": [
        "ec08bdb148767f1193f5f3028749ed865ac27181",
        "a8f2800b4f7b76cecb7209cb6a7d2b14904fc711"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:17:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:17:26 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.38\u0027 of git://linux-nfs.org/~bfields/linux: (62 commits)\n  nfsd4: fix callback restarting\n  nfsd: break lease on unlink, link, and rename\n  nfsd4: break lease on nfsd setattr\n  nfsd: don\u0027t support msnfs export option\n  nfsd4: initialize cb_per_client\n  nfsd4: allow restarting callbacks\n  nfsd4: simplify nfsd4_cb_prepare\n  nfsd4: give out delegations more quickly in 4.1 case\n  nfsd4: add helper function to run callbacks\n  nfsd4: make sure sequence flags are set after destroy_session\n  nfsd4: re-probe callback on connection loss\n  nfsd4: set sequence flag when backchannel is down\n  nfsd4: keep finer-grained callback status\n  rpc: allow xprt_class-\u003esetup to return a preexisting xprt\n  rpc: keep backchannel xprt as long as server connection\n  rpc: move sk_bc_xprt to svc_xprt\n  nfsd4: allow backchannel recovery\n  nfsd4: support BIND_CONN_TO_SESSION\n  nfsd4: modify session list under cl_lock\n  Documentation: fl_mylease no longer exists\n  ...\n\nFix up conflicts in fs/nfsd/vfs.c with the vfs-scale work.  The\nvfs-scale work touched some msnfs cases, and this merge removes support\nfor that entirely, so the conflict was trivial to resolve.\n"
    },
    {
      "commit": "49731baa41df404c2c3f44555869ab387363af43",
      "tree": "5d3476368fa546aebb1c223e9cf1bab5ad80f698",
      "parents": [
        "c553f8e335c00a7cff3ab3f13e793b13d3f2207f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jan 14 18:43:57 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Jan 14 18:44:22 2011 +0100"
      },
      "message": "block: restore multiple bd_link_disk_holder() support\n\nCommit e09b457b (block: simplify holder symlink handling) incorrectly\nassumed that there is only one link at maximum.  dm may use multiple\nlinks and expects block layer to track reference count for each link,\nwhich is different from and unrelated to the exclusive device holder\nidentified by @holder when the device is opened.\n\nRemove the single holder assumption and automatic removal of the link\nand revive the per-link reference count tracking.  The code\nessentially behaves the same as before commit e09b457b sans the\nunnecessary kobject reference count dancing.\n\nWhile at it, note that this facility should not be used by anyone else\nthan the current ones.  Sysfs symlinks shouldn\u0027t be abused like this\nand the whole thing doesn\u0027t belong in the block layer at all.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Milan Broz \u003cmbroz@redhat.com\u003e\nCc: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: linux-raid@vger.kernel.org\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "d73b388459b1ee2e80f8ff9c1916d75640d7d920",
      "tree": "3e4061226f817c5728009f0bcc1d810d0c4a7b37",
      "parents": [
        "5957e33d6aec266659a71cfabcf7cf2c593ad0d2",
        "0f953bf6b4efa0daddb7c418130a9bd3ee97f7ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:29:05 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:29:05 2011 -0800"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI/PM: Report wakeup events before resuming devices\n  PCI/PM: Use pm_wakeup_event() directly for reporting wakeup events\n  PCI: sysfs: Update ROM to include default owner write access\n  x86/PCI: make Broadcom CNB20LE driver EMBEDDED and EXPERIMENTAL\n  x86/PCI: don\u0027t use native Broadcom CNB20LE driver when ACPI is available\n  PCI/ACPI: Request _OSC control once for each root bridge (v3)\n  PCI: enable pci\u003dbfsort by default on future Dell systems\n  PCI/PCIe: Clear Root PME Status bits early during system resume\n  PCI: pci-stub: ignore zero-length id parameters\n  x86/PCI: irq and pci_ids patch for Intel Patsburg\n  PCI: Skip id checking if no id is passed\n  PCI: fix __pci_device_probe kernel-doc warning\n  PCI: make pci_restore_state return void\n  PCI: Disable ASPM if BIOS asks us to\n  PCI: Add mask bit definition for MSI-X table\n  PCI: MSI: Move MSI-X entry definition to pci_regs.h\n\nFix up trivial conflicts in drivers/net/{skge.c,sky2.c} that had in the\nmeantime been converted to not use legacy PCI power management, and thus\nno longer use pci_restore_state() at all (and that caused trivial\nconflicts with the \"make pci_restore_state return void\" patch)\n"
    },
    {
      "commit": "5957e33d6aec266659a71cfabcf7cf2c593ad0d2",
      "tree": "6397dec8d71e4ed4f5982792c57d7c0ddb525d1e",
      "parents": [
        "0ad53eeefcbb2620b6a71ffdaad4add20b450b8b",
        "359ab9f5b154cbd807a11e22792235f0f36b0cd5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:25:59 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:25:59 2011 -0800"
      },
      "message": "Merge git://git.infradead.org/battery-2.6\n\n* git://git.infradead.org/battery-2.6: (21 commits)\n  power_supply: Add MAX17042 Fuel Gauge Driver\n  olpc_battery: Fix up XO-1.5 properties list\n  olpc_battery: Add support for CURRENT_NOW and VOLTAGE_NOW\n  olpc_battery: Add support for CHARGE_NOW\n  olpc_battery: Add support for CHARGE_FULL_DESIGN\n  olpc_battery: Ambient temperature is not available on XO-1.5\n  jz4740-battery: Should include linux/io.h\n  s3c_adc_battery: Add gpio_inverted field to pdata\n  power_supply: Don\u0027t use flush_scheduled_work()\n  power_supply: Fix use after free and memory leak\n  gpio-charger: Fix potential race between irq handler and probe/remove\n  gpio-charger: Provide default name for the power_supply\n  gpio-charger: Check result of kzalloc\n  jz4740-battery: Check if platform_data is supplied\n  isp1704_charger: Detect charger after probe\n  isp1704_charger: Set isp-\u003edev before anything needs it\n  isp1704_charger: Detect HUB/Host chargers\n  isp1704_charger: Correct length for storing model\n  power_supply: Add gpio charger driver\n  jz4740-battery: Protect against concurrent battery readings\n  ...\n"
    },
    {
      "commit": "acda4721ae876dedab3fef04bbd8020bfa67ff0a",
      "tree": "ec48d554fe48b3915912e2ae62bc962ade0553bd",
      "parents": [
        "822e5215f9eef86c1dd56d5696bf55a212b0e3f0",
        "32385c7cf60a78375b63afc4f02001df84dfd1a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:08:29 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:08:29 2011 -0800"
      },
      "message": "Merge branch \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin\n\n* \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin:\n  kernel: fix hlist_bl again\n  cgroups: Fix a lockdep warning at cgroup removal\n  fs: namei fix -\u003eput_link on wrong inode in do_filp_open\n"
    },
    {
      "commit": "822e5215f9eef86c1dd56d5696bf55a212b0e3f0",
      "tree": "661de9888a0edef872e7366df09831bf7a5bc067",
      "parents": [
        "c1e0d97d3d63d5173baf8c39a13dc5c25b031bd4",
        "92d50a4132977b932ed830fa58c05deeb5c524f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:08:00 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:08:00 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (59 commits)\n  mfd: ab8500-core chip version cut 2.0 support\n  mfd: Flag WM831x /IRQ as a wake source\n  mfd: Convert WM831x away from legacy I2C PM operations\n  regulator: Support MAX8998/LP3974 DVS-GPIO\n  mfd: Support LP3974 RTC\n  i2c: Convert SCx200 driver from using raw PCI to platform device\n  x86: OLPC: convert olpc-xo1 driver from pci device to platform device\n  mfd: MAX8998/LP3974 hibernation support\n  mfd/ab8500: remove spi support\n  mfd: Remove ARCH_U8500 dependency from AB8500\n  misc: Make AB8500_PWM driver depend on U8500 due to PWM breakage\n  mfd: Add __devexit annotation for vx855_remove\n  mfd: twl6030 irq_data conversion.\n  gpio: Fix cs5535 printk warnings\n  misc: Fix cs5535 printk warnings\n  mfd: Convert Wolfson MFD drivers to use irq_data accessor function\n  mfd: Convert TWL4030 to new irq_ APIs\n  mfd: Convert tps6586x driver to new irq_ API\n  mfd: Convert tc6393xb driver to new irq_ APIs\n  mfd: Convert t7166xb driver to new irq_ API\n  ...\n"
    },
    {
      "commit": "b6e335aeeb114dccb07eaa09e8b62ff9510cf745",
      "tree": "f4292a579e594b6c0312e9c34467649cb978aea5",
      "parents": [
        "ff29530e651a3449aea6b0ef4c7048db9e22ef27"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Dec 29 13:21:23 2010 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jan 14 08:55:43 2011 -0800"
      },
      "message": "PCI/PM: Use pm_wakeup_event() directly for reporting wakeup events\n\nAfter recent changes related to wakeup events pm_wakeup_event()\nautomatically checks if the given device is configured to signal wakeup,\nso pci_wakeup_event() may be a static inline function calling\npm_wakeup_event() directly.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "415e12b2379239973feab91850b0dce985c6058a",
      "tree": "aa79c7a87fd30ac13ae3fd146aad5a44e854c4bc",
      "parents": [
        "6e8af08dfa40b747002207d3ce8e8b43a050d99f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jan 07 00:55:09 2011 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jan 14 08:55:41 2011 -0800"
      },
      "message": "PCI/ACPI: Request _OSC control once for each root bridge (v3)\n\nMove the evaluation of acpi_pci_osc_control_set() (to request control of\nPCI Express native features) into acpi_pci_root_add() to avoid calling\nit many times for the same root complex with the same arguments.\nAdditionally, check if all of the requisite _OSC support bits are set\nbefore calling acpi_pci_osc_control_set() for a given root complex.\n\nReferences: https://bugzilla.kernel.org/show_bug.cgi?id\u003d20232\nReported-by: Ozan Caglayan \u003cozan@pardus.org.tr\u003e\nTested-by: Ozan Caglayan \u003cozan@pardus.org.tr\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "323b7fe8f8f6d5ac6214382cf30e8b3a80b265c9",
      "tree": "537e4b8a2c528f8bd2a71f954e01b71e26ff231c",
      "parents": [
        "836cb711ad7960e52625b24195d6e70b79ab0816"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Fri Jan 14 09:34:29 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 08:06:39 2011 -0800"
      },
      "message": "include/gpio.h: remove remaining __must_check-annotiations\n\nCommit 5f829e405ec4e96f711165a4a7b55c271d4363e2 (gpiolib: add missing functions\nto generic fallback) also introduced two.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "836cb711ad7960e52625b24195d6e70b79ab0816",
      "tree": "b2e9d2060c24f7c68bc82c8e6add25180fe8eaca",
      "parents": [
        "11ff26c884ec957bed87b49e3a38908f37d0d3e4"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa@bluextal.(none)",
        "time": "Fri Jan 14 14:56:53 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 07:52:02 2011 -0800"
      },
      "message": "Revert update for dirty_ratio for memcg.\n\nThe flags added by commit db16d5ec1f87f17511599bc77857dd1662b5a22f\nhas no user now. We believe we\u0027ll use it soon but considering\npatch reviewing, the change itself should be folded into incoming\nset of \"dirty ratio for memcg\" patches.\n\nSo, it\u0027s better to drop this change from current mainline tree.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Greg Thelen \u003cgthelen@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "359ab9f5b154cbd807a11e22792235f0f36b0cd5",
      "tree": "3500652809c242b75deb5139ded7052c389e0bb4",
      "parents": [
        "bf542a4e7b634c2adcba4241a29082f69b0f45dc"
      ],
      "author": {
        "name": "MyungJoo Ham",
        "email": "myungjoo.ham@samsung.com",
        "time": "Fri Jan 14 14:46:11 2011 +0900"
      },
      "committer": {
        "name": "Anton Vorontsov",
        "email": "cbouatmailru@gmail.com",
        "time": "Fri Jan 14 18:11:59 2011 +0300"
      },
      "message": "power_supply: Add MAX17042 Fuel Gauge Driver\n\nThe MAX17042 is a fuel gauge with an I2C interface for lithium-ion\nbetteries. Unlike its predecessor MAX17040, MAX17042 uses 16bit\nregisters. Besides, MAX17042 has much more features than MAX17040; e.g.,\na thermistor, current and current accumulation measurement, battery\ninternal resistance estimate, average values of measurement, and others.\n\nThis patch implements a driver for MAX17042.\nIn this initial release, we have implemented the most basic features of\na fuel gauge: measure the battery capacity and voltage.\n\nSigned-off-by: MyungJoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Anton Vorontsov \u003ccbouatmailru@gmail.com\u003e\n"
    },
    {
      "commit": "32385c7cf60a78375b63afc4f02001df84dfd1a0",
      "tree": "6419ac3c77cb38bac389e5efc59928e01780a2ae",
      "parents": [
        "3ec762ad8be364c2fadfe0d6b2cc6d4d3b5e1b54"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jan 14 13:12:45 2011 +0000"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 14 13:12:45 2011 +0000"
      },
      "message": "kernel: fix hlist_bl again\n\n__d_rehash is dereferencing an almost-NULL pointer on my ARM926.\nCONFIG_SMP\u003dn and CONFIG_DEBUG_SPINLOCK\u003dy.\n\nThe faulting instruction is:    strne   r3, [r2, #4]\nand as can be seen from the register dump below, r2 is 0x00000001, hence\nthe faulting 0x00000005 address.\n\n__d_rehash is essentially:\n\n       spin_lock_bucket(b);\n       entry-\u003ed_flags \u0026\u003d ~DCACHE_UNHASHED;\n       hlist_bl_add_head_rcu(\u0026entry-\u003ed_hash, \u0026b-\u003ehead);\n       spin_unlock_bucket(b);\n\nwhich is:\n\n       bit_spin_lock(0, (unsigned long *)\u0026b-\u003ehead.first);\n       entry-\u003ed_flags \u0026\u003d ~DCACHE_UNHASHED;\n       hlist_bl_add_head_rcu(\u0026entry-\u003ed_hash, \u0026b-\u003ehead);\n       __bit_spin_unlock(0, (unsigned long *)\u0026b-\u003ehead.first);\n\nbit_spin_lock(0, ptr) sets bit 0 of *ptr, in this case b-\u003ehead.first if\nCONFIG_SMP or CONFIG_DEBUG_SPINLOCK is set:\n\n#if defined(CONFIG_SMP) || defined(CONFIG_DEBUG_SPINLOCK)\n       while (unlikely(test_and_set_bit_lock(bitnum, addr))) {\n               while (test_bit(bitnum, addr)) {\n                       preempt_enable();\n                       cpu_relax();\n                       preempt_disable();\n               }\n       }\n#endif\n\nSo, b-\u003ehead.first starts off NULL, and becomes a non-NULL (address 1).\nhlist_bl_add_head_rcu() does this:\n\nstatic inline void hlist_bl_add_head_rcu(struct hlist_bl_node *n,\n                                       struct hlist_bl_head *h)\n{\n       first \u003d hlist_bl_first(h);\n       n-\u003enext \u003d first;\n       if (first)\n               first-\u003epprev \u003d \u0026n-\u003enext;\n\nIt is the store to first-\u003epprev which is faulting.\n\nhlist_bl_first():\n\nstatic inline struct hlist_bl_node *hlist_bl_first(struct hlist_bl_head *h)\n{\n       return (struct hlist_bl_node *)\n               ((unsigned long)h-\u003efirst \u0026 ~LIST_BL_LOCKMASK);\n}\n\nbut:\n#if defined(CONFIG_SMP)\n#define LIST_BL_LOCKMASK        1UL\n#else\n#define LIST_BL_LOCKMASK        0UL\n#endif\n\nSo, we have one piece of code which sets bit 0 of addresses, and another\nbit of code which doesn\u0027t clear it before dereferencing the pointer if\n!CONFIG_SMP \u0026\u0026 CONFIG_DEBUG_SPINLOCK.  With the patch below, I can again\nsucessfully boot the kernel on my Versatile PB/926 platform.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "92d50a4132977b932ed830fa58c05deeb5c524f0",
      "tree": "1ee4ca4b6126861e30d5ac79ad61b0884b4d8627",
      "parents": [
        "180e4f5f20ef2b03ce2b38634274dde5ccbd8951"
      ],
      "author": {
        "name": "Mattias Wallin",
        "email": "mattias.wallin@stericsson.com",
        "time": "Tue Dec 07 11:20:47 2010 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Jan 14 12:38:18 2011 +0100"
      },
      "message": "mfd: ab8500-core chip version cut 2.0 support\n\nThis patch adds support for chip version 2.0 or cut 2.0.\nOne new interrupt latch register - latch 12 - is introduced.\n\nSigned-off-by: Mattias Wallin \u003cmattias.wallin@stericsson.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "735a3d9efdc5aeebe201008e6655b235c7f02aeb",
      "tree": "a1083cec498505b1dbd28dd09a73d477965d2d61",
      "parents": [
        "337ce5d1c5759644cea6c47220ce7e84f0398362"
      ],
      "author": {
        "name": "MyungJoo Ham",
        "email": "myungjoo.ham@samsung.com",
        "time": "Tue Jan 11 12:20:05 2011 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Jan 14 12:38:16 2011 +0100"
      },
      "message": "regulator: Support MAX8998/LP3974 DVS-GPIO\n\nThe previous driver did not support BUCK1-DVS3, BUCK1-DVS4, and\nBUCK2-DVS2 modes. This patch adds such modes and an option to block\nsetting buck1/2 voltages out of the preset values.\n\nSigned-off-by: MyungJoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "337ce5d1c5759644cea6c47220ce7e84f0398362",
      "tree": "0436dbc242425226202476d6181fa6ae89e3a206",
      "parents": [
        "de8255ccd219267cfd34139022b197c1ef8f032f"
      ],
      "author": {
        "name": "MyungJoo Ham",
        "email": "myungjoo.ham@samsung.com",
        "time": "Tue Jan 04 14:17:39 2011 +0900"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Jan 14 12:38:16 2011 +0100"
      },
      "message": "mfd: Support LP3974 RTC\n\nThe first releases of LP3974 have a large delay in RTC registers,\nwhich requires 2 seconds of delay after writing to a rtc register\n(recommended by National Semiconductor\u0027s engineers)\nbefore reading it.\n\nIf \"rtc_delay\" field of the platform data is true, the rtc driver\nassumes that such delays are required. Although we have not seen\nLP3974s without requiring such delays, we assume that such LP3974s\nwill be released soon (or they have done so already) and they are\nsupported by \"lp3974\" without setting \"rtc_delay\" at the platform\ndata.\n\nThis patch adds delays with msleep when writing values to RTC registers\nif the platform data has rtc_delay set.\n\nSigned-off-by: MyungJoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nReviewed-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "cdd137c9c86c201ddb7f42ec978d2da45e7b7a17",
      "tree": "1fe9850f283a3952b139d2fc113759fbb4fed88c",
      "parents": [
        "6680d940b80dbb0617226c5b76b071a3977feb1c"
      ],
      "author": {
        "name": "MyungJoo Ham",
        "email": "myungjoo.ham@samsung.com",
        "time": "Thu Dec 23 17:53:36 2010 +0900"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Jan 14 12:38:14 2011 +0100"
      },
      "message": "mfd: MAX8998/LP3974 hibernation support\n\nThis patch makes the driver to save and restore register values\nfor hibernation.\n\nSigned-off-by: MyungJoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "e098aded79f24e2024139e82f778ff9db6dc142a",
      "tree": "9a8e55da30e25ddf10f1476dfc4c4c9467efe800",
      "parents": [
        "4f079985b2caacfda5103dd85fb028a2848c84ab"
      ],
      "author": {
        "name": "Mattias Wallin",
        "email": "mattias.wallin@stericsson.com",
        "time": "Thu Dec 02 15:40:31 2010 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Jan 14 12:37:47 2011 +0100"
      },
      "message": "mfd: ab8500-core ioresources irq for subdrivers added\n\nThis patch adds the ioresources used by subdrivers to\nretrieve their interrupt.\n\nSigned-off-by: Mattias Wallin \u003cmattias.wallin@stericsson.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    }
  ],
  "next": "4c90aa94f6b3e33f57faaf19ef9819195dff61d3"
}
