)]}'
{
  "log": [
    {
      "commit": "d1e94136fc4fe8ea608f4e9d21befa00c86e1e29",
      "tree": "2a7e521e555b4f04a9fa66a91c8fceb128eae7dd",
      "parents": [
        "dac306d896642f3dfcd878ab6a0a5b8c123722f3"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jan 23 10:39:02 2012 -0800"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jan 23 10:39:02 2012 -0800"
      },
      "message": "misc: remove android pmem driver, it\u0027s obsolete.\n\nChange-Id: I48d9778007e1e9eed2bb34e33ceee818c23afaa5\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "9ab6a29787b1221a697f85835645549668258bdc",
      "tree": "64eb08ff87d3ccc5e9c04eeefb167b515ec1e422",
      "parents": [
        "1e78d52ab825e2672bc8b552bdea582860f7b830"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Nov 09 16:07:17 2011 -0800"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Nov 14 10:27:10 2011 -0800"
      },
      "message": "misc: remove kernel debugger core\n\nThe current split between this and the fiq debugger is awkward and does\nnot have any benefit (the interface between the two is also too simplistic).\nThe fiq debugger code itself needs a lot of refactoring, part of which\nwould be to split out some components that are arch indpendent.\n\nSo, for now, move this very small piece back into the fiq_debugger.\n\nChange-Id: Ie4ec2a2f5d907be1691a0eb6ae9304aad29ecd14\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "050c06eed4b2ffaaf064992615507e520808ec46",
      "tree": "c02d763cc826038382a4e70842c86edf7da7bbd3",
      "parents": [
        "3f4f629fc8fb79c489d302968a4e0cb489c50258"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Nov 08 13:03:11 2011 -0800"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Nov 08 22:53:00 2011 -0800"
      },
      "message": "input: gpio_input: don\u0027t print debounce message unless flag is set\n\nChange-Id: I29ccb32e795c5c3e4c51c3d3a209f5b55dfd7d94\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "2bb3e310159b65c88caf0c67a20ed257568be267",
      "tree": "e4ad01c06a9e27939781c5dd9d0cb92e6fcd54d5",
      "parents": [
        "2f53cb72c1574d3880d9e88e254b756565fe2f6d",
        "97596c34030ed28657ccafddb67e17a03890b90a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Oct 27 15:01:19 2011 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Oct 27 15:01:19 2011 -0700"
      },
      "message": "Merge commit \u0027v3.0.8\u0027 into android-3.0\n"
    },
    {
      "commit": "6be918e0b229a7eeb81c1c09d5009a78aa88bc4a",
      "tree": "d5679be03931b33b6ec0723f7b19aba740439f02",
      "parents": [
        "d5b9284a583a7bb073633dbddb4cbb25d1fc0c67"
      ],
      "author": {
        "name": "Russell King - ARM Linux",
        "email": "linux@arm.linux.org.uk",
        "time": "Mon Jun 20 20:10:08 2011 +0100"
      },
      "committer": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Wed Oct 26 17:11:38 2011 -0700"
      },
      "message": "mmc: block: allow get_card_status() to return error status\n\nIf the MMC_SEND_STATUS command is not successful, we should not return\na zero status word, but instead allow the caller to know positively\nthat an error occurred.\n\nConvert the open-coded get_card_status() to use the helper function,\nand provide definitions for the card state field.\n\nChange-Id: Icfd6258af78a89c21abac386c556153fa3fac364\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nTested-by: Pawel Moll \u003cpawel.moll@arm.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "9e4ee8100fec833f0e8fd399b588bf759db23c54",
      "tree": "85ca3f289ddc9a75e0804c48fee470f44248f58e",
      "parents": [
        "108376f4f45f772db0addd3ee6f601161c1d3a59"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Oct 25 14:31:58 2011 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Oct 25 16:40:00 2011 -0700"
      },
      "message": "ram_console: pass in a boot info string\n\nAllow the board file to pass a boot info string through the\nplatform data that is appended to the /proc/last_kmsg file.\n\nChange-Id: I37065fafb09676085465c93384d8e176fdd942d6\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\n"
    },
    {
      "commit": "371d201b6da50d324e9ef405d23dac144a5407e7",
      "tree": "9b2eaa54ffcb74d3e92055b19dffb894a2e28531",
      "parents": [
        "9374622a9923b2343ee2f5083ebe6c51fcc914c5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Jul 11 10:12:59 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Oct 16 14:14:55 2011 -0700"
      },
      "message": "ftrace: Fix warning when CONFIG_FUNCTION_TRACER is not defined\n\ncommit 04da85b86188f224cc9b391b5bdd92a3ba20ffcf upstream.\n\nThe struct ftrace_hash was declared within CONFIG_FUNCTION_TRACER\nbut was referenced outside of it.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n\n"
    },
    {
      "commit": "d7f04c486e494bf96166ff53b0957369e32509c6",
      "tree": "5f133f3a4b823bcbdbe66aa1265254bf8f7e316f",
      "parents": [
        "e35c99bc50ef74c02244d6e6d40868f9a49a59be"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jul 07 11:09:22 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Oct 16 14:14:55 2011 -0700"
      },
      "message": "ftrace: Fix regression of :mod:module function enabling\n\ncommit 43dd61c9a09bd413e837df829e6bfb42159be52a upstream.\n\nThe new code that allows different utilities to pick and choose\nwhat functions they trace broke the :mod: hook that allows users\nto trace only functions of a particular module.\n\nThe reason is that the :mod: hook bypasses the hash that is setup\nto allow individual users to trace their own functions and uses\nthe global hash directly. But if the global hash has not been\nset up, it will cause a bug:\n\necho \u0027*:mod:radeon\u0027 \u003e /sys/kernel/debug/set_ftrace_filter\n\nproduces:\n\n [drm:drm_mode_getfb] *ERROR* invalid framebuffer id\n [drm:radeon_crtc_page_flip] *ERROR* failed to reserve new rbo buffer before flip\n BUG: unable to handle kernel paging request at ffffffff8160ec90\n IP: [\u003cffffffff810d9136\u003e] add_hash_entry+0x66/0xd0\n PGD 1a05067 PUD 1a09063 PMD 80000000016001e1\n Oops: 0003 [#1] SMP Jul  7 04:02:28 phyllis kernel: [55303.858604] CPU 1\n Modules linked in: cryptd aes_x86_64 aes_generic binfmt_misc rfcomm bnep ip6table_filter hid radeon r8169 ahci libahci mii ttm drm_kms_helper drm video i2c_algo_bit intel_agp intel_gtt\n\n Pid: 10344, comm: bash Tainted: G        WC  3.0.0-rc5 #1 Dell Inc. Inspiron N5010/0YXXJJ\n RIP: 0010:[\u003cffffffff810d9136\u003e]  [\u003cffffffff810d9136\u003e] add_hash_entry+0x66/0xd0\n RSP: 0018:ffff88003a96bda8  EFLAGS: 00010246\n RAX: ffff8801301735c0 RBX: ffffffff8160ec80 RCX: 0000000000306ee0\n RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff880137c92940\n RBP: ffff88003a96bdb8 R08: ffff880137c95680 R09: 0000000000000000\n R10: 0000000000000001 R11: 0000000000000000 R12: ffffffff81c9df78\n R13: ffff8801153d1000 R14: 0000000000000000 R15: 0000000000000000\n FS: 00007f329c18a700(0000) GS:ffff880137c80000(0000) knlGS:0000000000000000\n CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n CR2: ffffffff8160ec90 CR3: 000000003002b000 CR4: 00000000000006e0\n DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n Process bash (pid: 10344, threadinfo ffff88003a96a000, task ffff88012fcfc470)\n Stack:\n  0000000000000fd0 00000000000000fc ffff88003a96be38 ffffffff810d92f5\n  ffff88011c4c4e00 ffff880000000000 000000000b69f4d0 ffffffff8160ec80\n  ffff8800300e6f06 0000000081130295 0000000000000282 ffff8800300e6f00\n Call Trace:\n  [\u003cffffffff810d92f5\u003e] match_records+0x155/0x1b0\n  [\u003cffffffff810d940c\u003e] ftrace_mod_callback+0xbc/0x100\n  [\u003cffffffff810dafdf\u003e] ftrace_regex_write+0x16f/0x210\n  [\u003cffffffff810db09f\u003e] ftrace_filter_write+0xf/0x20\n  [\u003cffffffff81166e48\u003e] vfs_write+0xc8/0x190\n  [\u003cffffffff81167001\u003e] sys_write+0x51/0x90\n  [\u003cffffffff815c7e02\u003e] system_call_fastpath+0x16/0x1b\n Code: 48 8b 33 31 d2 48 85 f6 75 33 49 89 d4 4c 03 63 08 49 8b 14 24 48 85 d2 48 89 10 74 04 48 89 42 08 49 89 04 24 4c 89 60 08 31 d2\n RIP [\u003cffffffff810d9136\u003e] add_hash_entry+0x66/0xd0\n  RSP \u003cffff88003a96bda8\u003e\n CR2: ffffffff8160ec90\n ---[ end trace a5d031828efdd88e ]---\n\nReported-by: Brian Marete \u003cmarete@toshnix.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a94a36c352abcf3c7126b238cfbf9a79314a609b",
      "tree": "7e25425f8ed760aa32ecd5073f1528ace25163ae",
      "parents": [
        "416a1b0477b56ac8e7dc3b91d5c18c8da242555c"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Tue Sep 20 01:25:41 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Oct 16 14:14:53 2011 -0700"
      },
      "message": "ptp: fix L2 event message recognition\n\ncommit f75159e9936143177b442afc78150b7a7ad8aa07 upstream.\n\nThe IEEE 1588 standard defines two kinds of messages, event and general\nmessages. Event messages require time stamping, and general do not. When\nusing UDP transport, two separate ports are used for the two message\ntypes.\n\nThe BPF designed to recognize event messages incorrectly classifies L2\ngeneral messages as event messages. This commit fixes the issue by\nextending the filter to check the message type field for L2 PTP packets.\nEvent messages are be distinguished from general messages by testing\nthe \"general\" bit.\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "249cf808ba1a0d403fe7c476a74b66e2bc0a8e53",
      "tree": "e090348cc2bc2a3a1a226f35e6c6f99f76c1bebb",
      "parents": [
        "3217df8e225c8579293fd2e193ba5cee709b6eba"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Sep 01 12:42:04 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Oct 16 14:14:51 2011 -0700"
      },
      "message": "posix-cpu-timers: Cure SMP wobbles\n\ncommit d670ec13178d0fd8680e6742a2bc6e04f28f87d8 upstream.\n\nDavid reported:\n\n  Attached below is a watered-down version of rt/tst-cpuclock2.c from\n  GLIBC.  Just build it with \"gcc -o test test.c -lpthread -lrt\" or\n  similar.\n\n  Run it several times, and you will see cases where the main thread\n  will measure a process clock difference before and after the nanosleep\n  which is smaller than the cpu-burner thread\u0027s individual thread clock\n  difference.  This doesn\u0027t make any sense since the cpu-burner thread\n  is part of the top-level process\u0027s thread group.\n\n  I\u0027ve reproduced this on both x86-64 and sparc64 (using both 32-bit and\n  64-bit binaries).\n\n  For example:\n\n  [davem@boricha build-x86_64-linux]$ ./test\n  process: before(0.001221967) after(0.498624371) diff(497402404)\n  thread:  before(0.000081692) after(0.498316431) diff(498234739)\n  self:    before(0.001223521) after(0.001240219) diff(16698)\n  [davem@boricha build-x86_64-linux]$\n\n  The diff of \u0027process\u0027 should always be \u003e\u003d the diff of \u0027thread\u0027.\n\n  I make sure to wrap the \u0027thread\u0027 clock measurements the most tightly\n  around the nanosleep() call, and that the \u0027process\u0027 clock measurements\n  are the outer-most ones.\n\n  ---\n  #include \u003cunistd.h\u003e\n  #include \u003cstdio.h\u003e\n  #include \u003cstdlib.h\u003e\n  #include \u003ctime.h\u003e\n  #include \u003cfcntl.h\u003e\n  #include \u003cstring.h\u003e\n  #include \u003cerrno.h\u003e\n  #include \u003cpthread.h\u003e\n\n  static pthread_barrier_t barrier;\n\n  static void *chew_cpu(void *arg)\n  {\n\t  pthread_barrier_wait(\u0026barrier);\n\t  while (1)\n\t\t  __asm__ __volatile__(\"\" : : : \"memory\");\n\t  return NULL;\n  }\n\n  int main(void)\n  {\n\t  clockid_t process_clock, my_thread_clock, th_clock;\n\t  struct timespec process_before, process_after;\n\t  struct timespec me_before, me_after;\n\t  struct timespec th_before, th_after;\n\t  struct timespec sleeptime;\n\t  unsigned long diff;\n\t  pthread_t th;\n\t  int err;\n\n\t  err \u003d clock_getcpuclockid(0, \u0026process_clock);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d pthread_getcpuclockid(pthread_self(), \u0026my_thread_clock);\n\t  if (err)\n\t\t  return 1;\n\n\t  pthread_barrier_init(\u0026barrier, NULL, 2);\n\t  err \u003d pthread_create(\u0026th, NULL, chew_cpu, NULL);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d pthread_getcpuclockid(th, \u0026th_clock);\n\t  if (err)\n\t\t  return 1;\n\n\t  pthread_barrier_wait(\u0026barrier);\n\n\t  err \u003d clock_gettime(process_clock, \u0026process_before);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(my_thread_clock, \u0026me_before);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(th_clock, \u0026th_before);\n\t  if (err)\n\t\t  return 1;\n\n\t  sleeptime.tv_sec \u003d 0;\n\t  sleeptime.tv_nsec \u003d 500000000;\n\t  nanosleep(\u0026sleeptime, NULL);\n\n\t  err \u003d clock_gettime(th_clock, \u0026th_after);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(my_thread_clock, \u0026me_after);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(process_clock, \u0026process_after);\n\t  if (err)\n\t\t  return 1;\n\n\t  diff \u003d process_after.tv_nsec - process_before.tv_nsec;\n\t  printf(\"process: before(%lu.%.9lu) after(%lu.%.9lu) diff(%lu)\\n\",\n\t\t process_before.tv_sec, process_before.tv_nsec,\n\t\t process_after.tv_sec, process_after.tv_nsec, diff);\n\t  diff \u003d th_after.tv_nsec - th_before.tv_nsec;\n\t  printf(\"thread:  before(%lu.%.9lu) after(%lu.%.9lu) diff(%lu)\\n\",\n\t\t th_before.tv_sec, th_before.tv_nsec,\n\t\t th_after.tv_sec, th_after.tv_nsec, diff);\n\t  diff \u003d me_after.tv_nsec - me_before.tv_nsec;\n\t  printf(\"self:    before(%lu.%.9lu) after(%lu.%.9lu) diff(%lu)\\n\",\n\t\t me_before.tv_sec, me_before.tv_nsec,\n\t\t me_after.tv_sec, me_after.tv_nsec, diff);\n\n\t  return 0;\n  }\n\nThis is due to us using p-\u003ese.sum_exec_runtime in\nthread_group_cputime() where we iterate the thread group and sum all\ndata. This does not take time since the last schedule operation (tick\nor otherwise) into account. We can cure this by using\ntask_sched_runtime() at the cost of having to take locks.\n\nThis also means we can (and must) do away with\nthread_group_sched_runtime() since the modified thread_group_cputime()\nis now more accurate and would deadlock when called from\nthread_group_sched_runtime().\n\nAside of that it makes the function safe on 32 bit systems. The old\ncode added t-\u003ese.sum_exec_runtime unprotected. sum_exec_runtime is a\n64bit value and could be changed on another cpu at the same time.\n\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1314874459.7945.22.camel@twins\nTested-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ac693061b11c33d5a5c5ec1925de7abd3fcb0971",
      "tree": "968e4efb688a21caedd5a3e7baea3d6343abf4bd",
      "parents": [
        "0d39ea76fa3b9a97e9dc45282613bc239ffa8509"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Sun Jun 06 10:38:15 2010 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 03 11:40:43 2011 -0700"
      },
      "message": "writeback: introduce .tagged_writepages for the WB_SYNC_NONE sync stage\n\ncommit 6e6938b6d3130305a5960c86b1a9b21e58cf6144 upstream.\n\nsync(2) is performed in two stages: the WB_SYNC_NONE sync and the\nWB_SYNC_ALL sync. Identify the first stage with .tagged_writepages and\ndo livelock prevention for it, too.\n\nJan\u0027s commit f446daaea9 (\"mm: implement writeback livelock avoidance\nusing page tagging\") is a partial fix in that it only fixed the\nWB_SYNC_ALL phase livelock.\n\nAlthough ext4 is tested to no longer livelock with commit f446daaea9,\nit may due to some \"redirty_tail() after pages_skipped\" effect which\nis by no means a guarantee for _all_ the file systems.\n\nNote that writeback_inodes_sb() is called by not only sync(), they are\ntreated the same because the other callers also need livelock prevention.\n\nImpact:  It changes the order in which pages/inodes are synced to disk.\nNow in the WB_SYNC_NONE stage, it won\u0027t proceed to write the next inode\nuntil finished with the current inode.\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCC: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7edcab441920647c6ffec304451e11bc18ff1b11",
      "tree": "a4dcbb48220e7c57b4520912ebe2793a2a18b84c",
      "parents": [
        "1bfc85f2f23469eedf4ac65fed44573be1a5a133"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Aug 03 18:04:29 2011 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 03 11:40:26 2011 -0700"
      },
      "message": "mfd: Fix value of WM8994_CONFIGURE_GPIO\n\ncommit 8efcc57dedfebc99c3cd39564e3fc47cd1a24b75 upstream.\n\nThis needs to be an out of band value for the register and on this device\nregisters are 16 bit so we must shift left one to the 17th bit.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1ed2053563d4d0bf70864a9df53c7a5dce7724e9",
      "tree": "e6ab98a2249cc9015a48deb25d0255837de25f58",
      "parents": [
        "c3a44b4d23f4cb1b3eafb8c2c74d88f452d50a6d"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 22 09:12:51 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 03 11:40:08 2011 -0700"
      },
      "message": "rtc: Fix RTC PIE frequency limit\n\ncommit 938f97bcf1bdd1b681d5d14d1d7117a2e22d4434 upstream.\n\nThomas earlier submitted a fix to limit the RTC PIE freq, but\npicked 5000Hz out of the air. Willy noticed that we should\ninstead use the 8192Hz max from the rtc man documentation.\n\nCc: Willy Tarreau \u003cw@1wt.eu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a38df1a01320298198c7cb2e3e8a61fc54459d6a",
      "tree": "358a4b7c1a12a3ac49fa41c9baea128de9577734",
      "parents": [
        "64da3499c911698c004a2d47fd0af6ad683a811a"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Wed Aug 10 14:59:28 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 03 11:39:49 2011 -0700"
      },
      "message": "TTY: pty, fix pty counting\n\ncommit 24d406a6bf736f7aebdc8fa0f0ec86e0890c6d24 upstream.\n\ntty_operations-\u003eremove is normally called like:\nqueue_release_one_tty\n -\u003etty_shutdown\n   -\u003etty_driver_remove_tty\n     -\u003etty_operations-\u003eremove\n\nHowever tty_shutdown() is called from queue_release_one_tty() only if\ntty_operations-\u003eshutdown is NULL. But for pty, it is not.\npty_unix98_shutdown() is used there as -\u003eshutdown.\n\nSo tty_operations-\u003eremove of pty (i.e. pty_unix98_remove()) is never\ncalled. This results in invalid pty_count. I.e. what can be seen in\n/proc/sys/kernel/pty/nr.\n\nI see this was already reported at:\n  https://lkml.org/lkml/2009/11/5/370\nBut it was not fixed since then.\n\nThis patch is kind of a hackish way. The problem lies in -\u003einstall. We\nallocate there another tty (so-called tty-\u003elink). So -\u003einstall is\ncalled once, but -\u003eremove twice, for both tty and tty-\u003elink. The fix\nhere is to count both tty and tty-\u003elink and divide the count by 2 for\nuser.\n\nAnd to have -\u003eremove called, let\u0027s make tty_driver_remove_tty() global\nand call that from pty_unix98_shutdown() (tty_operations-\u003eshutdown).\n\nWhile at it, let\u0027s document that when -\u003eshutdown is defined,\ntty_shutdown() is not called.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ae0250b118d5b55392264accf72a0a3d658e0da9",
      "tree": "045f90274d30db6f756a4dad0249c20a5e5a273a",
      "parents": [
        "7f4e15693062aa1afcfc8f05f6790baf29bacfa3"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Thu Aug 25 15:59:13 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 03 11:39:46 2011 -0700"
      },
      "message": "rapidio: fix use of non-compatible registers\n\ncommit 284fb68d00c56e971ed01e0b4bac5ddd4d1b74ab upstream.\n\nReplace/remove use of RIO v.1.2 registers/bits that are not\nforward-compatible with newer versions of RapidIO specification.\n\nRapidIO specification v.1.3 removed Write Port CSR, Doorbell CSR,\nMailbox CSR and Mailbox and Doorbell bits of the PEF CAR.\n\nUse of removed (since RIO v.1.3) register bits affects users of\ncurrently available 1.3 and 2.x compliant devices who may use not so\nrecent kernel versions.\n\nRemoving checks for unsupported bits makes corresponding routines\ncompatible with all versions of RapidIO specification.  Therefore,\nbackporting makes stable kernel versions compliant with RIO v.1.3 and\nlater as well.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Chul Kim \u003cchul.kim@idt.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8bf44e90c8952b7c9b77ae14198c1dceba8949a4",
      "tree": "2cde85aff5ccad9c0b2c19d1f20ba2069d61a805",
      "parents": [
        "0eb5aac3aac77dfc78652ebbecaeb27d887781fc"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumarg@android.com",
        "time": "Tue Sep 20 16:40:43 2011 -0700"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumarg@android.com",
        "time": "Wed Sep 21 13:47:49 2011 -0700"
      },
      "message": "HID: Add input_register callback.\n\nAdd input_register callback which gets called after\nhid_configure_usage is called for all the reports\nand before the input device is registered. This allows\nindividual drivers to do extra work like input mapping just\nbefore device registration.\n\nBased on discussions with David Herrmann \u003cdh.herrmann@googlemail.com\u003e\n\nChange-Id: Idab6fb4f7b1e5e569bd0410967288717e9d34c98\nSigned-off-by: Jaikumar Ganesh \u003cjaikumarg@android.com\u003e\n"
    },
    {
      "commit": "6b82151ce53f790833ea8cdf43abd0b0e0c3a1e3",
      "tree": "45e04887cec32026933fb63c06eb5ed31792748b",
      "parents": [
        "f7d29b64351dda3bc763bbda3db9cc7785512bc2"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Fri Sep 09 09:25:05 2011 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Sun Sep 11 12:38:48 2011 -0700"
      },
      "message": "usb: otg_id: add suspend/resume interface\n\nIt is possible that while one driver has already suspended,\nanother driver calls otg_id_notify() because it has not yet been\nsuspended. It would then be possible for the suspended driver\u0027s\ndetect callback to be called. This is undesirable.\n\nIntroduce new otg_id_suspend/otg_id_resume functions that\nkeep a suspended count, and if a notification happens while\nsomeone is suspended, that notification is deferred until\nall the drivers are resumed. If the notification happens before\nthe last driver is suspended, that suspend will be aborted\nand once the final driver resumes through otg_id_resume, the\nnotification will be delivered.\n\nChange-Id: I32fd32bec65e366e5f97a25c15255d94773b85b3\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "07b26cd3da54bf9ff3723805e19bcc2dffb48297",
      "tree": "0de8b79730fe1b6a6c1f23e21fe1f790aeff8042",
      "parents": [
        "686d33a258c7f7e8c86ee55c1d7155f3586d1f55"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Sep 07 17:28:58 2011 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Sep 07 17:30:23 2011 -0700"
      },
      "message": "mmc: core: host: only use wakelock for detect work\n\nThere is no need to take a wakelock for delayed lazy disable\nwork, it will be cancelled in the suspend handler and force\ndisabled.  Only take the wakelock when the detect work is\nqueued, and make sure to drop the wakelock if the work is\ncancelled.\n\nChange-Id: I1e507a5f98848954ea21d45e23b6192c3132a349\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\n"
    },
    {
      "commit": "512228f0be3af44bf5cf6cc5750ddd279bbedaf3",
      "tree": "4efaddfd0a353537b70c2a1059ebf49a1b624286",
      "parents": [
        "80b5405f36fba0caa9a142f978c00afa6aa7714c"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Fri Aug 19 16:15:10 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 29 13:29:16 2011 -0700"
      },
      "message": "Add a personality to report 2.6.x version numbers\n\ncommit be27425dcc516fd08245b047ea57f83b8f6f0903 upstream.\n\nI ran into a couple of programs which broke with the new Linux 3.0\nversion.  Some of those were binary only.  I tried to use LD_PRELOAD to\nwork around it, but it was quite difficult and in one case impossible\nbecause of a mix of 32bit and 64bit executables.\n\nFor example, all kind of management software from HP doesnt work, unless\nwe pretend to run a 2.6 kernel.\n\n  $ uname -a\n  Linux svivoipvnx001 3.0.0-08107-g97cd98f #1062 SMP Fri Aug 12 18:11:45 CEST 2011 i686 i686 i386 GNU/Linux\n\n  $ hpacucli ctrl all show\n\n  Error: No controllers detected.\n\n  $ rpm -qf /usr/sbin/hpacucli\n  hpacucli-8.75-12.0\n\nAnother notable case is that Python now reports \"linux3\" from\nsys.platform(); which in turn can break things that were checking\nsys.platform() \u003d\u003d \"linux2\":\n\n  https://bugzilla.mozilla.org/show_bug.cgi?id\u003d664564\n\nIt seems pretty clear to me though it\u0027s a bug in the apps that are using\n\u0027\u003d\u003d\u0027 instead of .startswith(), but this allows us to unbreak broken\nprograms.\n\nThis patch adds a UNAME26 personality that makes the kernel report a\n2.6.40+x version number instead.  The x is the x in 3.x.\n\nI know this is somewhat ugly, but I didn\u0027t find a better workaround, and\ncompatibility to existing programs is important.\n\nSome programs also read /proc/sys/kernel/osrelease.  This can be worked\naround in user space with mount --bind (and a mount namespace)\n\nTo use:\n\n  wget ftp://ftp.kernel.org/pub/linux/kernel/people/ak/uname26/uname26.c\n  gcc -o uname26 uname26.c\n  ./uname26 program\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6857336c7fddaf460a13adc0c395698fcf9423ff",
      "tree": "dac27f38c28bf9d30535b5abc51a6424e7b32afb",
      "parents": [
        "e25d2c749d25fc559f374766af66d267c97e0877"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Thu Jun 23 11:19:26 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 29 13:29:08 2011 -0700"
      },
      "message": "x86, mtrr: lock stop machine during MTRR rendezvous sequence\n\ncommit 6d3321e8e2b3bf6a5892e2ef673c7bf536e3f904 upstream.\n\nMTRR rendezvous sequence using stop_one_cpu_nowait() can potentially\nhappen in parallel with another system wide rendezvous using\nstop_machine(). This can lead to deadlock (The order in which\nworks are queued can be different on different cpu\u0027s. Some cpu\u0027s\nwill be running the first rendezvous handler and others will be running\nthe second rendezvous handler. Each set waiting for the other set to join\nfor the system wide rendezvous, leading to a deadlock).\n\nMTRR rendezvous sequence is not implemented using stop_machine() as this\ngets called both from the process context aswell as the cpu online paths\n(where the cpu has not come online and the interrupts are disabled etc).\nstop_machine() works with only online cpus.\n\nFor now, take the stop_machine mutex in the MTRR rendezvous sequence that\ngets called from an online cpu (here we are in the process context\nand can potentially sleep while taking the mutex). And the MTRR rendezvous\nthat gets triggered during cpu online doesn\u0027t need to take this stop_machine\nlock (as the stop_machine() already ensures that there is no cpu hotplug\ngoing on in parallel by doing get_online_cpus())\n\n    TBD: Pursue a cleaner solution of extending the stop_machine()\n         infrastructure to handle the case where the calling cpu is\n         still not online and use this for MTRR rendezvous sequence.\n\nfixes: https://bugzilla.novell.com/show_bug.cgi?id\u003d672008\n\nReported-by: Vadim Kotelnikov \u003cvadimuzzz@inbox.ru\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nLink: http://lkml.kernel.org/r/20110623182056.807230326@sbsiddha-MOBL3.sc.intel.com\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "efcf89c8eb62b7c0c5976cb94f892c891afea199",
      "tree": "73d14c4ff835e5d7fd8608a8a7d20b762d1d4827",
      "parents": [
        "8b404d162085c675989d7fb55c3f641fdfa11eec"
      ],
      "author": {
        "name": "Nishanth Menon",
        "email": "nm@ti.com",
        "time": "Wed Aug 17 18:31:58 2011 -0500"
      },
      "committer": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Fri Aug 19 11:41:00 2011 -0700"
      },
      "message": "panic: Add board ID to panic output\n\nAt times, it is necessary for boards to provide some additional information\nas part of panic logs. Provide information on the board hardware as part\nof panic logs.\n\nIt is safer to print this information at the very end in case something\nbad happens as part of the information retrieval itself.\n\nTo use this, set global mach_panic_string to an appropriate string in the\nboard file.\n\nChange-Id: Id12cdda87b0cd2940dd01d52db97e6162f671b4d\nSigned-off-by: Nishanth Menon \u003cnm@ti.com\u003e\n"
    },
    {
      "commit": "0db4b32c1f389165369b384fd13200277202cdd0",
      "tree": "71d977341f1b7e117c4464d1c87c23dad3ddaec2",
      "parents": [
        "8af1028380467f993573b5eef904522b9e2f5951"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Jul 27 12:17:11 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 15 18:31:43 2011 -0700"
      },
      "message": "mm: Fix fixup_user_fault() for MMU\u003dn\n\ncommit 5c723ba5b7886909b2e430f2eae454c33f7fe5c6 upstream.\n\nIn commit 2efaca927f5c (\"mm/futex: fix futex writes on archs with SW\ntracking of dirty \u0026 young\") we forgot about MMU\u003dn.  This patch fixes\nthat.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1311761831.24752.413.camel@twins\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "60f17a7798369bec34f171ca126f8247c773763b",
      "tree": "84f10726110facc5c624bccedc02cab0fa6da970",
      "parents": [
        "711ae7c7a810eb8bc92cac46041c996eb66dbd54"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Jul 26 06:05:37 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 15 18:31:38 2011 -0700"
      },
      "message": "net: add IFF_SKB_TX_SHARED flag to priv_flags\n\n[ Upstream commit d8873315065f1f527c7c380402cf59b1e1d0ae36 ]\n\nPktgen attempts to transmit shared skbs to net devices, which can\u0027t be used by\nsome drivers as they keep state information in skbs.  This patch adds a flag\nmarking drivers as being able to handle shared skbs in their tx path.  Drivers\nare defaulted to being unable to do so, but calling ether_setup enables this\nflag, as 90% of the drivers calling ether_setup touch real hardware and can\nhandle shared skbs.  A subsequent patch will audit drivers to ensure that the\nflag is set properly\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nReported-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nCC: Robert Olsson \u003crobert.olsson@its.uu.se\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCC: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e997d47bff5a467262ef224b4cf8cbba2d3eceea",
      "tree": "6560c0ac8f2b19a4b7f40db6cc22a9857fe4f1a3",
      "parents": [
        "2468b895fc7dcbc436cb02f0707ab8d7cb2f0aa7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 03 20:50:44 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 15 18:31:35 2011 -0700"
      },
      "message": "net: Compute protocol sequence numbers and fragment IDs using MD5.\n\nComputers have become a lot faster since we compromised on the\npartial MD4 hash which we use currently for performance reasons.\n\nMD5 is a much safer choice, and is inline with both RFC1948 and\nother ISS generators (OpenBSD, Solaris, etc.)\n\nFurthermore, only having 24-bits of the sequence number be truly\nunpredictable is a very serious limitation.  So the periodic\nregeneration and 8-bit counter have been removed.  We compute and\nuse a full 32-bit sequence number.\n\nFor ipv6, DCCP was found to use a 32-bit truncated initial sequence\nnumber (it needs 43-bits) and that is fixed here as well.\n\nReported-by: Dan Kaminsky \u003cdan@doxpara.com\u003e\nTested-by: Willy Tarreau \u003cw@1wt.eu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "2468b895fc7dcbc436cb02f0707ab8d7cb2f0aa7",
      "tree": "06fad85c0ac37b8f7221388b836b8e3c4b8aa225",
      "parents": [
        "c1c741511cbe9fe55257959a83d1fa4361afc5dd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 03 19:45:10 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 15 18:31:35 2011 -0700"
      },
      "message": "crypto: Move md5_transform to lib/md5.c\n\nWe are going to use this for TCP/IP sequence number and fragment ID\ngeneration.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "9abd59b0df155835a970c2b9c8f93367eb793797",
      "tree": "bcf0868f831d204e2b582113c53b8de3ff015eca",
      "parents": [
        "4e111751cfcb75f26d2725eab934b6eb91a3d115",
        "94ed5b4788a7cdbe68bc7cb8516972cbebdc8274"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Aug 10 18:07:59 2011 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Aug 10 18:07:59 2011 -0700"
      },
      "message": "Merge commit \u0027v3.0.1\u0027 into android-3.0\n"
    },
    {
      "commit": "4e111751cfcb75f26d2725eab934b6eb91a3d115",
      "tree": "b3d63b5b44bd2036db6e0f0b2e81769c84cc5ca3",
      "parents": [
        "ca64b0cd3a12d7704f4e98f4f5d51f41eb5047a2",
        "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Aug 10 18:04:30 2011 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Aug 10 18:04:30 2011 -0700"
      },
      "message": "Merge commit \u0027v3.0\u0027 into android-3.0\n"
    },
    {
      "commit": "e65d9fe5564afaca75ae657179446578be73e9ba",
      "tree": "ece828b12ee9763b08e570c4afe32dccc97478f1",
      "parents": [
        "f3d9cdd92a341c10bf277a2b84403e7041519251"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Tue Aug 09 14:18:21 2011 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Tue Aug 09 17:58:49 2011 -0700"
      },
      "message": "usb: otg: add proxy_wait handler to otg_id\n\nSome otg_id handlers can detect what\u0027s connected but can\u0027t detect a change.\nThis allows that handler to pass off the waiting for ID change to a proxy.\n\nChange-Id: Ib38b750c3da4bffc35e37b620ecee37c5d64d31f\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "3fe24366a40147d7c776e1f291193fd3b61f217d",
      "tree": "35332418ccff1248b80cb7517f16f9439fb5a7dc",
      "parents": [
        "89c65d6d9dd87332d58c853e31938b98f7ac8463"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Aug 09 14:42:08 2011 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Aug 09 14:49:21 2011 -0700"
      },
      "message": "ion: minor clean up\n\n-- init rb nodes in ion_handle_create\n-- in ion_handle_destroy, check that a node belongs to a tree before removing\n   it (safety check, does not happen right now)\n-- mark as static functions used only inside ion.c\n-- update comments to ion_share() with a relevant blurb from the implementation\n-- other minor updates/typo fixes to comments\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "c14acb19a4b1482b6dd6e9d0874b2c8e32d6599d",
      "tree": "09449801fb0b88b73bdbb83876f251a65a2120ac",
      "parents": [
        "1fcb9d4b03b6ad6f4de417bbbe21d82123290114"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 30 12:45:35 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 04 21:58:40 2011 -0700"
      },
      "message": "NFS: Fix spurious readdir cookie loop messages\n\ncommit 0c0308066ca53fdf1423895f3a42838b67b3a5a8 upstream.\n\nIf the directory contents change, then we have to accept that the\nfile-\u003ef_pos value may shrink if we do a \u0027search-by-cookie\u0027. In that\ncase, we should turn off the loop detection and let the NFS client\ntry to recover.\n\nThe patch also fixes a second loop detection bug by ensuring\nthat after turning on the ctx-\u003eduped flag, we read at least one new\ncookie into ctx-\u003edir_cookie before attempting to match with\nctx-\u003edup_cookie.\n\nReported-by: Petr Vandrovec \u003cpetr@vandrovec.name\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b045b9a265fb46d8197b7d78aff1a8f6ab8e23df",
      "tree": "650daaba84981a7ac749611f2ccee133380940c5",
      "parents": [
        "cb83d9f7840657a0f0cc29ba5c01ce7320e28e9a"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jul 25 17:12:32 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 04 21:58:38 2011 -0700"
      },
      "message": "mm/futex: fix futex writes on archs with SW tracking of dirty \u0026 young\n\ncommit 2efaca927f5cd7ecd0f1554b8f9b6a9a2c329c03 upstream.\n\nI haven\u0027t reproduced it myself but the fail scenario is that on such\nmachines (notably ARM and some embedded powerpc), if you manage to hit\nthat futex path on a writable page whose dirty bit has gone from the PTE,\nyou\u0027ll livelock inside the kernel from what I can tell.\n\nIt will go in a loop of trying the atomic access, failing, trying gup to\n\"fix it up\", getting succcess from gup, go back to the atomic access,\nfailing again because dirty wasn\u0027t fixed etc...\n\nSo I think you essentially hang in the kernel.\n\nThe scenario is probably rare\u0027ish because affected architecture are\nembedded and tend to not swap much (if at all) so we probably rarely hit\nthe case where dirty is missing or young is missing, but I think Shan has\na piece of SW that can reliably reproduce it using a shared writable\nmapping \u0026 fork or something like that.\n\nOn archs who use SW tracking of dirty \u0026 young, a page without dirty is\neffectively mapped read-only and a page without young unaccessible in the\nPTE.\n\nAdditionally, some architectures might lazily flush the TLB when relaxing\nwrite protection (by doing only a local flush), and expect a fault to\ninvalidate the stale entry if it\u0027s still present on another processor.\n\nThe futex code assumes that if the \"in_atomic()\" access -EFAULT\u0027s, it can\n\"fix it up\" by causing get_user_pages() which would then be equivalent to\ntaking the fault.\n\nHowever that isn\u0027t the case.  get_user_pages() will not call\nhandle_mm_fault() in the case where the PTE seems to have the right\npermissions, regardless of the dirty and young state.  It will eventually\nupdate those bits ...  in the struct page, but not in the PTE.\n\nAdditionally, it will not handle the lazy TLB flushing that can be\nrequired by some architectures in the fault case.\n\nBasically, gup is the wrong interface for the job.  The patch provides a\nmore appropriate one which boils down to just calling handle_mm_fault()\nsince what we are trying to do is simulate a real page fault.\n\nThe futex code currently attempts to write to user memory within a\npagefault disabled section, and if that fails, tries to fix it up using\nget_user_pages().\n\nThis doesn\u0027t work on archs where the dirty and young bits are maintained\nby software, since they will gate access permission in the TLB, and will\nnot be updated by gup().\n\nIn addition, there\u0027s an expectation on some archs that a spurious write\nfault triggers a local TLB flush, and that is missing from the picture as\nwell.\n\nI decided that adding those \"features\" to gup() would be too much for this\nalready too complex function, and instead added a new simpler\nfixup_user_fault() which is essentially a wrapper around handle_mm_fault()\nwhich the futex code can call.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix some nits Darren saw, fiddle comment layout]\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nReported-by: Shan Hai \u003chaishan.bai@gmail.com\u003e\nTested-by: Shan Hai \u003chaishan.bai@gmail.com\u003e\nCc: David Laight \u003cDavid.Laight@ACULAB.COM\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Darren Hart \u003cdarren.hart@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "892cd4a38f0d379dfdbc1a0a45eaa31a89976796",
      "tree": "edc8337ed3451ff819dc20e3436b5019479b6c87",
      "parents": [
        "f45c1d4647a37feee31f4bca9ebd9b90ebdc98a3"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "peng_tao@emc.com",
        "time": "Sat Jul 30 20:52:33 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 04 21:58:37 2011 -0700"
      },
      "message": "pnfs: let layoutcommit handle a list of lseg\n\ncommit a9bae5666d0510ad69bdb437371c9a3e6b770705 upstream.\n\nThere can be multiple lseg per file, so layoutcommit should be\nable to handle it.\n\n[Needed in v3.0]\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6f437783919467437f19ec534a0317aef2fd2584",
      "tree": "01e8500766574786b1fd63e9a3090ac2c45777f9",
      "parents": [
        "63ab4325d0df2ccefaeb932210d4046f2223e338"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jul 09 16:43:22 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 04 21:58:34 2011 -0700"
      },
      "message": "firewire: cdev: prevent race between first get_info ioctl and bus reset event queuing\n\ncommit 93b37905f70083d6143f5f4dba0a45cc64379a62 upstream.\n\nBetween open(2) of a /dev/fw* and the first FW_CDEV_IOC_GET_INFO\nioctl(2) on it, the kernel already queues FW_CDEV_EVENT_BUS_RESET events\nto be read(2) by the client.  The get_info ioctl is practically always\nissued right away after open, hence this condition only occurs if the\nclient opens during a bus reset, especially during a rapid series of bus\nresets.\n\nThe problem with this condition is twofold:\n\n  - These bus reset events carry the (as yet undocumented) @closure\n    value of 0.  But it is not the kernel\u0027s place to choose closures;\n    they are privat to the client.  E.g., this 0 value forced from the\n    kernel makes it unsafe for clients to dereference it as a pointer to\n    a closure object without NULL pointer check.\n\n  - It is impossible for clients to determine the relative order of bus\n    reset events from get_info ioctl(2) versus those from read(2),\n    except in one way:  By comparison of closure values.  Again, such a\n    procedure imposes complexity on clients and reduces freedom in use\n    of the bus reset closure.\n\nSo, change the ABI to suppress queuing of bus reset events before the\nfirst FW_CDEV_IOC_GET_INFO ioctl was issued by the client.\n\nNote, this ABI change cannot be version-controlled.  The kernel cannot\ndistinguish old from new clients before the first FW_CDEV_IOC_GET_INFO\nioctl.\n\nWe will try to back-merge this change into currently maintained stable/\nlongterm series, and we only document the new behaviour.  The old\nbehavior is now considered a kernel bug, which it basically is.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: \u003cstable@kernel.org\u003e\n\n"
    },
    {
      "commit": "97edbc901240090ca75b81aa8955bcef8d570434",
      "tree": "98938f16e4c6cc3faf2cbe6cf66d75f7f731f769",
      "parents": [
        "bde99f604b42182e590ac4b7176b5235321bc94c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jul 27 06:16:28 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 04 21:58:31 2011 -0700"
      },
      "message": "gro: Only reset frag0 when skb can be pulled\n\ncommit 17dd759c67f21e34f2156abcf415e1f60605a188 upstream.\n\nCurrently skb_gro_header_slow unconditionally resets frag0 and\nfrag0_len.  However, when we can\u0027t pull on the skb this leaves\nthe GRO fields in an inconsistent state.\n\nThis patch fixes this by only resetting those fields after the\npskb_may_pull test.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0b893f0f37736c1e26655f04d51706dfba417171",
      "tree": "05cb4754030b59b9ed6a72843b830098ae8f056c",
      "parents": [
        "c477e60b6689d36121f7cabaea449c4014705078"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Sun Jul 17 16:07:23 2011 -0700"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Thu Jul 21 18:04:46 2011 -0700"
      },
      "message": "netfilter: xt_qtaguid: add uid permission checks during ctrl/stats access\n\n* uid handling\n - Limit UID impersonation to processes with a gid in AID_NET_BW_ACCT.\n   This affects socket tagging, and data removal.\n - Limit stats lookup to own uid or the process gid is in AID_NET_BW_STATS.\n   This affects stats lookup.\n\n* allow pacifying the module\n  Setting passive to Y/y will make the module return immediately on\n  external stimulus.\n  No more stats and silent success on ctrl writes.\n  Mainly used when one suspects this module of misbehaving.\n\nChange-Id: I83990862d52a9b0922aca103a0f61375cddeb7c4\nSigned-off-by: JP Abgrall \u003cjpa@google.com\u003e\n"
    },
    {
      "commit": "adf0760ceb775202fe7838c21eede5788f2ac31d",
      "tree": "be3d3c73b598d7af930e9cf5a3626c67873f0a0d",
      "parents": [
        "fec502d9a18bbe8045c67bd4f9d3a1ade4e78555"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 21 11:39:17 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 21 15:26:03 2011 -0700"
      },
      "message": "USB: gadget: f_accessory: Add ioctl to detect USB accessory attached at boot\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "cf6ace16a3cd8b728fb0afa68368fd40bbeae19f",
      "tree": "489c64380668e8c5a29d3f36f37554e4b081a647",
      "parents": [
        "acc11eab70591744369722280c9ce162a6193494",
        "d1e9ae47a0285d3f1699e8219ce50f656243b93f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:56:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:56:25 2011 -0700"
      },
      "message": "Merge branch \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  signal: align __lock_task_sighand() irq disabling and RCU\n  softirq,rcu: Inform RCU of irq_exit() activity\n  sched: Add irq_{enter,exit}() to scheduler_ipi()\n  rcu: protect __rcu_read_unlock() against scheduler-using irq handlers\n  rcu: Streamline code produced by __rcu_read_unlock()\n  rcu: Fix RCU_BOOST race handling current-\u003ercu_read_unlock_special\n  rcu: decrease rcu_report_exp_rnp coupling with scheduler\n"
    },
    {
      "commit": "d1e9ae47a0285d3f1699e8219ce50f656243b93f",
      "tree": "2f5a68b5ba1677bcd49ee759f09ffc5ccccb1455",
      "parents": [
        "e6625fa48e6580a74b7e700efd7e6463e282810b",
        "a841796f11c90d53dbac773be56b04fbee8af272"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 20:59:26 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 20:59:26 2011 +0200"
      },
      "message": "Merge branch \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/urgent\n"
    },
    {
      "commit": "e3589f6c81e4764d32a25d2a2a0afe54fa344f5c",
      "tree": "414bf6bdbad3f04f629fa2a72254ea85acf723f4",
      "parents": [
        "9c3f75cbd144014bea6af866a154cc2e73ab2287"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 15 10:35:52 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 18:32:41 2011 +0200"
      },
      "message": "sched: Allow for overlapping sched_domain spans\n\nAllow for sched_domain spans that overlap by giving such domains their\nown sched_group list instead of sharing the sched_groups amongst\neach-other.\n\nThis is needed for machines with more than 16 nodes, because\nsched_domain_node_span() will generate a node mask from the\n16 nearest nodes without regard if these masks have any overlap.\n\nCurrently sched_domains have a sched_group that maps to their child\nsched_domain span, and since there is no overlap we share the\nsched_group between the sched_domains of the various CPUs. If however\nthere is overlap, we would need to link the sched_group list in\ndifferent ways for each cpu, and hence sharing isn\u0027t possible.\n\nIn order to solve this, allocate private sched_groups for each CPU\u0027s\nsched_domain but have the sched_groups share a sched_group_power\nstructure such that we can uniquely track the power.\n\nReported-and-tested-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-08bxqw9wis3qti9u5inifh3y@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c3f75cbd144014bea6af866a154cc2e73ab2287",
      "tree": "2a565f7ff0820269973415c5605e313cfff903b4",
      "parents": [
        "e6625fa48e6580a74b7e700efd7e6463e282810b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 14 13:00:06 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 18:32:40 2011 +0200"
      },
      "message": "sched: Break out cpu_power from the sched_group structure\n\nIn order to prepare for non-unique sched_groups per domain, we need to\ncarry the cpu_power elsewhere, so put a level of indirection in.\n\nReported-and-tested-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-qkho2byuhe4482fuknss40ad@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7765be2fec0f476fcd61812d5f9406b04c765020",
      "tree": "e89ccb3fbd5655090b05f608f8e1d39924f23a9a",
      "parents": [
        "131906b0062ddde7f85bbe67754983c754648bd8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Jul 14 12:24:11 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Jul 19 21:38:52 2011 -0700"
      },
      "message": "rcu: Fix RCU_BOOST race handling current-\u003ercu_read_unlock_special\n\nThe RCU_BOOST commits for TREE_PREEMPT_RCU introduced an other-task\nwrite to a new RCU_READ_UNLOCK_BOOSTED bit in the task_struct structure\u0027s\n-\u003ercu_read_unlock_special field, but, as noted by Steven Rostedt, without\ncorrectly synchronizing all accesses to -\u003ercu_read_unlock_special.\nThis could result in bits in -\u003ercu_read_unlock_special being spuriously\nset and cleared due to conflicting accesses, which in turn could result\nin deadlocks between the rcu_node structure\u0027s -\u003elock and the scheduler\u0027s\nrq and pi locks.  These deadlocks would result from RCU incorrectly\nbelieving that the just-ended RCU read-side critical section had been\npreempted and/or boosted.  If that RCU read-side critical section was\nexecuted with either rq or pi locks held, RCU\u0027s ensuing (incorrect)\ncalls to the scheduler would cause the scheduler to attempt to once\nagain acquire the rq and pi locks, resulting in deadlock.  More complex\ndeadlock cycles are also possible, involving multiple rq and pi locks\nas well as locks from multiple rcu_node structures.\n\nThis commit fixes synchronization by creating -\u003ercu_boosted field in\ntask_struct that is accessed and modified only when holding the -\u003elock\nin the rcu_node structure on which the task is queued (on that rcu_node\nstructure\u0027s -\u003eblkd_tasks list).  This results in tasks accessing only\ntheir own current-\u003ercu_read_unlock_special fields, making unsynchronized\naccess once again legal, and keeping the rcu_read_unlock() fastpath free\nof atomic instructions and memory barriers.\n\nThe reason that the rcu_read_unlock() fastpath does not need to access\nthe new current-\u003ercu_boosted field is that this new field cannot\nbe non-zero unless the RCU_READ_UNLOCK_BLOCKED bit is set in the\ncurrent-\u003ercu_read_unlock_special field.  Therefore, rcu_read_unlock()\nneed only test current-\u003ercu_read_unlock_special: if that is zero, then\ncurrent-\u003ercu_boosted must also be zero.\n\nThis bug does not affect TINY_PREEMPT_RCU because this implementation\nof RCU accesses current-\u003ercu_read_unlock_special with irqs disabled,\nthus preventing races on the !SMP systems that TINY_PREEMPT_RCU runs on.\n\nMaybe-reported-by: Dave Jones \u003cdavej@redhat.com\u003e\nMaybe-reported-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nReported-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a07c7964a29b6dc515b120f1e1c223ac2f8666f5",
      "tree": "cf45e084be0437ca921c0623569932bf1d142c1d",
      "parents": [
        "0b8f6273eb6fd0611849d6fb432151f04e042434"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Sat Jul 16 22:22:20 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 18 11:06:03 2011 -0700"
      },
      "message": "include/linux/sdla.h: remove the prototype of sdla()\n\n`make headers_check` complains that\n\nlinux-2.6/usr/include/linux/sdla.h:116: userspace cannot reference\nfunction or variable defined in the kernel\n\nthis is due to that there is no such a kernel function,\n\nvoid sdla(void *cfg_info, char *dev, struct frad_conf *conf, int quiet);\n\nI don\u0027t know why we have it in a kernel header, so remove it.\n\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a736a21691d48cc6e956ce8d49849823fd6af40",
      "tree": "e04b1bfcd4b39cb71c9213c0e0518bccd3a1d8e7",
      "parents": [
        "ce4022b8d1c9e1b380dc5177f955bfe5f1327e3e"
      ],
      "author": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Wed Jun 15 17:21:57 2011 -0700"
      },
      "committer": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Fri Jul 15 15:26:45 2011 -0700"
      },
      "message": "Move x86_64 idle notifiers to generic\n\nMove the x86_64 idle notifiers originally by Andi Kleen and Venkatesh\nPallipadi to generic.\n\nChange-Id: Idf29cda15be151f494ff245933c12462643388d5\nAcked-by: Nicolas Pitre \u003cnicolas.pitre@linaro.org\u003e\nSigned-off-by: Todd Poynor \u003ctoddpoynor@google.com\u003e\n"
    },
    {
      "commit": "ce4022b8d1c9e1b380dc5177f955bfe5f1327e3e",
      "tree": "932bd019c44b27ff5d33822206d1386f95eab70a",
      "parents": [
        "f558e1e53997b661e85de0ba96c2596c9cc97b4f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 14 19:42:42 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jul 15 17:18:14 2011 -0400"
      },
      "message": "USB: gadget: f_mtp: Add support for sending MTP header during file transfer\n\nMTP_SEND_FILE_WITH_HEADER ioctl allows sending a file with the 12 byte header\nprepended at the beginning.\nThis is to allow MTP to use a single packet for the data phase instead of two.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "62f2a3a48bdc99822a24356e667e52c30df287c9",
      "tree": "acad792fc90ac7d55974729f3b591e75b0f591dd",
      "parents": [
        "b73c43f884b1b26ef8e824a33f3924f92e493c11"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Wed Jul 13 14:10:29 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 14 15:18:49 2011 -0700"
      },
      "message": "net: remove NETIF_F_ALL_TX_OFFLOADS\n\nThere is no software fallback implemented for SCTP or FCoE checksumming,\nand so it should not be passed on by software devices like bridge or bonding.\n\nFor VLAN devices, this is different. First, the driver for underlying device\nshould be prepared to get offloaded packets even when the feature is disabled\n(especially if it advertises it in vlan_features). Second, devices under\nVLANs do not get replaced without tearing down the VLAN first.\n\nThis fixes a mess I accidentally introduced while converting bonding to\nndo_fix_features.\n\nNETIF_F_SOFT_FEATURES are removed from BOND_VLAN_FEATURES because they\nare unused as of commit 712ae51afd.\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51414d41084496aaefd06d7f19eb8206e8bfac2d",
      "tree": "31c7624d28a564e1cc918a30b8570a3c001a9c7c",
      "parents": [
        "201f92e2ca789d529418da8fa027d5457f0df024",
        "f39b2dd9d065151a04f5996656d1f27a7eb32d45"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 13 16:47:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 13 16:47:31 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:\n  mmc: core: Bus width testing needs to handle suspend/resume\n"
    },
    {
      "commit": "f39b2dd9d065151a04f5996656d1f27a7eb32d45",
      "tree": "3801f7d6793529d737fcbfd6af05b6900ef2cd06",
      "parents": [
        "c31b55cd4eaf050bb5a15bd8251da1b3c7edeb1c"
      ],
      "author": {
        "name": "Philip Rakity",
        "email": "prakity@marvell.com",
        "time": "Thu Jul 07 09:04:55 2011 -0700"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Jul 13 14:54:37 2011 -0400"
      },
      "message": "mmc: core: Bus width testing needs to handle suspend/resume\n\nOn reading the ext_csd for the first time (in 1 bit mode), save the\next_csd information needed for bus width compare.\n\nOn every pass we make re-reading the ext_csd, compare the data\nagainst the saved ext_csd data.\n\nThis fixes a regression introduced in 3.0-rc1 by 08ee80cc397ac1a3\n(\"mmc: core: eMMC bus width may not work on all platforms\"), which\nincorrectly assumed we would be re-reading the ext_csd at resume-\ntime.\n\nSigned-off-by: Philip Rakity \u003cprakity@marvell.com\u003e\nTested-by: Jaehoon Chung \u003cjh80.chung@samsung.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "bb5b603036b99d80527b222dc98eba4ee8341020",
      "tree": "dcce59f7dd49c7f3f40ccaa1973dae94381f8fff",
      "parents": [
        "497f5982a7eae716267213a8fdc3ea4c6ac09e5e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 12 19:53:24 2011 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 12 22:58:35 2011 -0700"
      },
      "message": "cgroup: Add generic cgroup subsystem permission checks\n\nRather than using explicit euid \u003d\u003d 0 checks when trying to move\ntasks into a cgroup via CFS, move permission checks into each\nspecific cgroup subsystem. If a subsystem does not specify a\n\u0027allow_attach\u0027 handler, then we fall back to doing our checks\nthe old way.\n\nUse the \u0027allow_attach\u0027 handler for the \u0027cpu\u0027 cgroup to allow\nnon-root processes to add arbitrary processes to a \u0027cpu\u0027 cgroup\nif it has the CAP_SYS_NICE capability set.\n\nThis version of the patch adds a \u0027allow_attach\u0027 handler instead\nof reusing the \u0027can_attach\u0027 handler.  If the \u0027can_attach\u0027 handler\nis reused, a new cgroup that implements \u0027can_attach\u0027 but not\nthe permission checks could end up with no permission checks\nat all.\n\nChange-Id: Icfa950aa9321d1ceba362061d32dc7dfa2c64f0c\nOriginal-Author: San Mehat \u003csan@google.com\u003e\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\n"
    },
    {
      "commit": "75c56a81116e51c5cf15c0641906d0745188cd16",
      "tree": "c1d8e7def5bbb099a39d5e9ccfb13508ea5ca46a",
      "parents": [
        "b4294d618e8a19bb47826e51ae52b9fb2fe05f80",
        "620917de59eeb934b9f8cf35cc2d95c1ac8ed0fc"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 12 20:10:37 2011 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 12 20:10:37 2011 -0700"
      },
      "message": "Merge commit \u0027v3.0-rc7\u0027 into android-3.0\n"
    },
    {
      "commit": "8d86e5f91440aa56a5df516bf58fe3883552ad56",
      "tree": "94c8aea597b9e1ade376743a3f8f830e5195fa57",
      "parents": [
        "d93a881dd7d71ad0e6504af232be2795044ab686",
        "770e1ac5f29003fca18af4e67eb5a05ddb5b1491"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 12 14:21:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 12 14:21:19 2011 -0700"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc/mm: Fix memory_block_size_bytes() for non-pseries\n  mm: Move definition of MIN_MEMORY_BLOCK_SIZE to a header\n"
    },
    {
      "commit": "d93a881dd7d71ad0e6504af232be2795044ab686",
      "tree": "71fc6918e676a0cf53d585f5a253646a49b60c83",
      "parents": [
        "d1ca1a004822983e2fc702d5382b4b9a5527cfbe",
        "24109afd17426e1a2b72141e4a2b730057e1a0ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 12 14:19:51 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 12 14:19:51 2011 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc:\n  pcmcia: pxa2xx/vpac270: free gpios on exist rather than requesting\n  ARM: pxa/raumfeld: fix device name for codec ak4104\n  ARM: pxa/raumfeld: display initialisation fixes\n  ARM: pxa/raumfeld: adapt to upcoming hardware change\n  ARM: pxa: fix gpio_to_chip() clash with gpiolib namespace\n  genirq: replace irq_gc_ack() with {set,clr}_bit variants (fwd)\n  arm: mach-vt8500: add forgotten irq_data conversion\n  ARM: pxa168: correct nand pmu setting\n  ARM: pxa910: correct nand pmu setting\n  ARM: pxa: fix PGSR register address calculation\n"
    },
    {
      "commit": "a63fdc5156f2ef5690b6cf03d72b0c4917efbba7",
      "tree": "03d9b67a5d07ab9d805ea39db2f331740eba1d4c",
      "parents": [
        "620917de59eeb934b9f8cf35cc2d95c1ac8ed0fc"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jun 14 10:57:50 2011 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 12 11:08:01 2011 +1000"
      },
      "message": "mm: Move definition of MIN_MEMORY_BLOCK_SIZE to a header\n\nThe macro MIN_MEMORY_BLOCK_SIZE is currently defined twice in two .c\nfiles, and I need it in a third one to fix a powerpc bug, so let\u0027s\nfirst move it into a header\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "511b7e32086dc7f9c18341f8702745e7ce092354",
      "tree": "9f74cee6965c784d2fd2a98b93ee8f1aaa7a9196",
      "parents": [
        "ab246b81fb40a587e89f281fe9255833b7540220"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Tue Jun 21 11:14:49 2011 -0700"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Mon Jul 11 16:39:01 2011 -0700"
      },
      "message": "netfilter: adding the original quota2 from xtables-addons\n\nThe original xt_quota in the kernel is plain broken:\n  - counts quota at a per CPU level\n    (was written back when ubiquitous SMP was just a dream)\n  - provides no way to count across IPV4/IPV6.\n\nThis patch is the original unaltered code from:\n  http://sourceforge.net/projects/xtables-addons\n\n  at commit e84391ce665cef046967f796dd91026851d6bbf3\n\nChange-Id: I19d49858840effee9ecf6cff03c23b45a97efdeb\nSigned-off-by: JP Abgrall \u003cjpa@google.com\u003e\n"
    },
    {
      "commit": "ab246b81fb40a587e89f281fe9255833b7540220",
      "tree": "0434320e4a18914f566811227e22886cea99622f",
      "parents": [
        "2fc52d645892c7a5fb9915b09351f934ea03f15d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jun 24 15:58:51 2011 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jul 11 15:30:10 2011 -0700"
      },
      "message": "USB: otg: add otg id notifier utiltiies\n\nAdd a otg_id notifier to allow multiple drivers to cooperate to\ndetermine the type of cable connected to a USB connector without\nrequiring direct calls between the drivers.\n\nChange-Id: Ic5675f1a89daf85b17336765de24e4bdb6df6348\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\n"
    },
    {
      "commit": "2fc52d645892c7a5fb9915b09351f934ea03f15d",
      "tree": "877aca8c73506a143c85ab7fc1f35859886368fa",
      "parents": [
        "89daa34bcd42062221247172ea2653521dc89e6c"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu Jul 07 23:20:27 2011 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jul 11 15:30:09 2011 -0700"
      },
      "message": "pda_power: add support for using otg transceiver events\n\nIf the platform data sets the use_otg_notifier flag,\nthe driver will now register an otg notifier callback and listen\nto transceiver events for AC/USB plug-in events instead. This would\nnormally be used by not specifying is_xx_online callbacks and\nnot specifying any irqs so the state machine is completely driven\nfrom OTG xceiver events.\n\nChange-Id: Ic4b3bc4010f299156e41fd2411696c7ff5a88e92\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "f607e7fc5fb94d92030c4527287e9c149ddf9e65",
      "tree": "49ac9020b87f028e947580425fef84222332fdf8",
      "parents": [
        "453a9bf347f1e22a5bb3605ced43b2366921221d"
      ],
      "author": {
        "name": "Jean-François Dagenais",
        "email": "dagenaisj@sonatest.com",
        "time": "Fri Jul 08 15:39:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 08 21:14:44 2011 -0700"
      },
      "message": "w1: ds1wm: add a reset recovery parameter\n\nThis fixes a regression in 3.0 reported by Paul Parsons regarding the\nremoval of the msleep(1) in the ds1wm_reset() function:\n\n: The linux-3.0-rc4 DS1WM 1-wire driver is logging \"bus error, retrying\"\n: error messages on an HP iPAQ hx4700 PDA (XScale-PXA270):\n:\n: \u003csnip\u003e\n: Driver for 1-wire Dallas network protocol.\n: DS1WM w1 busmaster driver - (c) 2004 Szabolcs Gyurko\n: 1-Wire driver for the DS2760 battery monitor  chip  - (c) 2004-2005, Szabolcs Gyurko\n: ds1wm ds1wm: pass: 1 bus error, retrying\n: ds1wm ds1wm: pass: 2 bus error, retrying\n: ds1wm ds1wm: pass: 3 bus error, retrying\n: ds1wm ds1wm: pass: 4 bus error, retrying\n: ds1wm ds1wm: pass: 5 bus error, retrying\n: ...\n:\n: The visible result is that the battery charging LED is erratic; sometimes\n: it works, mostly it doesn\u0027t.\n:\n: The linux-2.6.39 DS1WM 1-wire driver worked OK.  I haven\u0027t tried 3.0-rc1,\n: 3.0-rc2, or 3.0-rc3.\n\nThis sleep should not be required on normal circuitry provided the\npull-ups on the bus are correctly adapted to the slaves.  Unfortunately,\nthis is not always the case.  The sleep is restored but as a parameter to\nthe probe function in the pdata.\n\n[akpm@linux-foundation.org: coding-style fixes]\nReported-by: Paul Parsons \u003clost.distance@yahoo.com\u003e\nTested-by: Paul Parsons \u003clost.distance@yahoo.com\u003e\nSigned-off-by: Jean-François Dagenais \u003cdagenaisj@sonatest.com\u003e\nCc: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0226f8a76da6bc97c9bb4af3fd2f6eeb03c5b0b0",
      "tree": "103470d3c4a2865d1cafc4d4527f97d62660fc5d",
      "parents": [
        "814cdea670616252e4cdf297a07b02ce59698bf1"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu Jul 07 17:27:59 2011 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Fri Jul 08 14:15:44 2011 -0700"
      },
      "message": "plist: Remove the need to supply locks to plist heads\n\nThis was legacy code brought over from the RT tree and\nis no longer necessary.\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Daniel Walker \u003cdwalker@codeaurora.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLink: http://lkml.kernel.org/r/1310084879-10351-2-git-send-email-dima@android.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "814cdea670616252e4cdf297a07b02ce59698bf1",
      "tree": "c4a5665995e813c252b07f1e863166059bfb5bcb",
      "parents": [
        "487ffb052891a552fecf865ad4b24bbe7945a413",
        "fe0d42203cb5616eeff68b14576a0f7e2dd56625"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu Jul 07 17:55:44 2011 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu Jul 07 17:55:44 2011 -0700"
      },
      "message": "Merge commit \u0027v3.0-rc6\u0027 into android-3.0\n"
    },
    {
      "commit": "2a9d6df425d7b46b23cbc8673b2dfefa4678abdb",
      "tree": "a6ec2ee125a3c02342b48a2e4a36598c26ca2b8b",
      "parents": [
        "c902ce1bfb40d8b049bd2319b388b4b68b04bc27",
        "7b28afe01ab6ffb5f152f47831b44933facd2328"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 07 13:22:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 07 13:22:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  drbd: we should write meta data updates with FLUSH FUA\n  drbd: fix limit define, we support 1 PiByte now\n  drbd: when receive times out on meta socket, also check last receive time on data socket\n  drbd: account bitmap IO during resync as resync-(related-)-io\n  drbd: don\u0027t cond_resched_lock with IRQs disabled\n  drbd: add missing spinlock to bitmap receive\n  drbd: Use the correct max_bio_size when creating resync requests\n  cfq-iosched: make code consistent\n  cfq-iosched: fix a rcu warning\n"
    },
    {
      "commit": "c902ce1bfb40d8b049bd2319b388b4b68b04bc27",
      "tree": "7dcb1e8378f8ec8e7ad7684cd26e9d5a1b5b22d1",
      "parents": [
        "075d9db13183c102770dc6cefabfee1b832f9614"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jul 07 12:19:48 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 07 13:21:56 2011 -0700"
      },
      "message": "FS-Cache: Add a helper to bulk uncache pages on an inode\n\nAdd an FS-Cache helper to bulk uncache pages on an inode.  This will\nonly work for the circumstance where the pages in the cache correspond\n1:1 with the pages attached to an inode\u0027s page cache.\n\nThis is required for CIFS and NFS: When disabling inode cookie, we were\nreturning the cookie and setting cifsi-\u003efscache to NULL but failed to\ninvalidate any previously mapped pages.  This resulted in \"Bad page\nstate\" errors and manifested in other kind of errors when running\nfsstress.  Fix it by uncaching mapped pages when we disable the inode\ncookie.\n\nThis patch should fix the following oops and \"Bad page state\" errors\nseen during fsstress testing.\n\n  ------------[ cut here ]------------\n  kernel BUG at fs/cachefiles/namei.c:201!\n  invalid opcode: 0000 [#1] SMP\n  Pid: 5, comm: kworker/u:0 Not tainted 2.6.38.7-30.fc15.x86_64 #1 Bochs Bochs\n  RIP: 0010: cachefiles_walk_to_object+0x436/0x745 [cachefiles]\n  RSP: 0018:ffff88002ce6dd00  EFLAGS: 00010282\n  RAX: ffff88002ef165f0 RBX: ffff88001811f500 RCX: 0000000000000000\n  RDX: 0000000000000000 RSI: 0000000000000100 RDI: 0000000000000282\n  RBP: ffff88002ce6dda0 R08: 0000000000000100 R09: ffffffff81b3a300\n  R10: 0000ffff00066c0a R11: 0000000000000003 R12: ffff88002ae54840\n  R13: ffff88002ae54840 R14: ffff880029c29c00 R15: ffff88001811f4b0\n  FS:  00007f394dd32720(0000) GS:ffff88002ef00000(0000) knlGS:0000000000000000\n  CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n  CR2: 00007fffcb62ddf8 CR3: 000000001825f000 CR4: 00000000000006e0\n  DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n  DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n  Process kworker/u:0 (pid: 5, threadinfo ffff88002ce6c000, task ffff88002ce55cc0)\n  Stack:\n   0000000000000246 ffff88002ce55cc0 ffff88002ce6dd58 ffff88001815dc00\n   ffff8800185246c0 ffff88001811f618 ffff880029c29d18 ffff88001811f380\n   ffff88002ce6dd50 ffffffff814757e4 ffff88002ce6dda0 ffffffff8106ac56\n  Call Trace:\n   cachefiles_lookup_object+0x78/0xd4 [cachefiles]\n   fscache_lookup_object+0x131/0x16d [fscache]\n   fscache_object_work_func+0x1bc/0x669 [fscache]\n   process_one_work+0x186/0x298\n   worker_thread+0xda/0x15d\n   kthread+0x84/0x8c\n   kernel_thread_helper+0x4/0x10\n  RIP  cachefiles_walk_to_object+0x436/0x745 [cachefiles]\n  ---[ end trace 1d481c9af1804caa ]---\n\nI tested the uncaching by the following means:\n\n (1) Create a big file on my NFS server (104857600 bytes).\n\n (2) Read the file into the cache with md5sum on the NFS client.  Look in\n     /proc/fs/fscache/stats:\n\n\tPages  : mrk\u003d25601 unc\u003d0\n\n (3) Open the file for read/write (\"bash 5\u003c\u003e/warthog/bigfile\").  Look in proc\n     again:\n\n\tPages  : mrk\u003d25601 unc\u003d25601\n\nReported-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-and-Tested-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\ncc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "27a3b735b70651f28db03e5f92775a40661ba7a6",
      "tree": "9f300b93aa34381aa1d3121e9d53e8c8e1623a24",
      "parents": [
        "85746e429f8e5dc8c5c0beadc0f099cb1feab93e",
        "161b6ae0e067e421b20bb35caf66bdb405c929ac",
        "140fe3b1ab9c082182ef13359fab4ddba95c24c3",
        "e4c2fb0d5776b58049d2556b456144a4db3fe5a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 07 13:17:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 07 13:17:45 2011 -0700"
      },
      "message": "Merge branches \u0027core-urgent-for-linus\u0027, \u0027perf-urgent-for-linus\u0027 and \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  debugobjects: Fix boot crash when kmemleak and debugobjects enabled\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  jump_label: Fix jump_label update for modules\n  oprofile, x86: Fix race in nmi handler while starting counters\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Disable (revert) SCHED_LOAD_SCALE increase\n  sched, cgroups: Fix MIN_SHARES on 64-bit boxen\n"
    },
    {
      "commit": "659fb32d1b67476f4ade25e9ea0e2642a5b9c4b5",
      "tree": "a875904f1c457f321563060491956266a57c6514",
      "parents": [
        "d30e1521b2afb5e6f21ca8bc1a4b6ec2afc93597"
      ],
      "author": {
        "name": "Simon Guinot",
        "email": "sguinot@lacie.com",
        "time": "Wed Jul 06 12:41:31 2011 -0400"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 07 16:02:26 2011 +0000"
      },
      "message": "genirq: replace irq_gc_ack() with {set,clr}_bit variants (fwd)\n\nThis fixes a regression introduced by e59347a \"arm: orion:\nUse generic irq chip\".\n\nDepending on the device, interrupts acknowledgement is done by setting\nor by clearing a dedicated register. Replace irq_gc_ack() with some\n{set,clr}_bit variants allows to handle both cases.\n\nNote that this patch affects the following SoCs: Davinci, Samsung and\nOrion. Except for this last, the change is minor: irq_gc_ack() is just\nrenamed into irq_gc_ack_set_bit().\n\nFor the Orion SoCs, the edge GPIO interrupts support is currently\nbroken. irq_gc_ack() try to acknowledge a such interrupt by setting\nthe corresponding cause register bit. The Orion GPIO device expect the\nopposite. To fix this issue, the irq_gc_ack_clr_bit() variant is used.\n\nTested on Network Space v2.\n\nReported-by: Joey Oravec \u003cjoravec@drewtech.com\u003e\nSigned-off-by: Simon Guinot \u003csguinot@lacie.com\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "f2230156c74b8923ff7b84eab955761471104b9b",
      "tree": "2760d5c604c47cae00d834bf9a3d05a2ee8d16cd",
      "parents": [
        "75dc25a8708d905afffd6da5f4fe69356f4eac33"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Jul 06 16:53:21 2011 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Jul 06 19:45:30 2011 -0700"
      },
      "message": "ion: fix ION_HEAP_\u003cxxx\u003e_MASK definitions\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "e4c2fb0d5776b58049d2556b456144a4db3fe5a9",
      "tree": "04cebbb24f524408728492cfeb396d66aa6127e4",
      "parents": [
        "cd62287e364c0d15d517c6ced4e4808b54711475"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jul 05 10:56:32 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 05 11:28:18 2011 +0200"
      },
      "message": "sched: Disable (revert) SCHED_LOAD_SCALE increase\n\nAlex reported that commit c8b281161df (\"sched: Increase\nSCHED_LOAD_SCALE resolution\") caused a power usage regression\nunder light load as it increases the number of load-balance\noperations and keeps idle cpus from staying idle.\n\nTime has run out to find the root cause for this release so\ndisable the feature for v3.0 until we can figure out what\ncauses the problem.\n\nReported-by: \"Alex, Shi\" \u003calex.shi@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nikhil Rao \u003cncrao@google.com\u003e\nCc: Ming Lei \u003ctom.leiming@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-m4onxn0sxnyn5iz9o88eskc3@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aababb9766f0e874da26a17acbbec867bf9501f0",
      "tree": "4dea1f04d8c6d66ce00bb0ab49b939c165c3f33b",
      "parents": [
        "b2bc4782191cb574924a1d09f48083ea8b33a93b",
        "3e86f1d8e397b1ef59a97910089e16a99e8f31f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 04 15:53:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 04 15:53:53 2011 -0700"
      },
      "message": "Merge branch \u0027fbdev-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-3.x\n\n* \u0027fbdev-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-3.x:\n  vesafb: fix memory leak\n  fbdev: amba: Link fb device to its parent\n  fsl-diu-fb: remove check for pixel clock ranges\n  udlfb: Correct sub-optimal resolution selection.\n  hecubafb: add module_put on error path in hecubafb_probe()\n  sm501fb: fix section mismatch warning\n  gx1fb: Fix section mismatch warnings\n  fbdev: sh_mobile_meram: Correct pointer check for YCbCr chroma plane\n"
    },
    {
      "commit": "e6ee124528d520d429bf40303340e8be0bcefdaa",
      "tree": "e2d4fd0c9d9c5c6444e5425310f11cf54b134c2b",
      "parents": [
        "c80005ae9ef788dce825629ea07e658714a2adad"
      ],
      "author": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Thu Jun 30 12:19:55 2011 -0700"
      },
      "committer": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Thu Jun 30 15:15:14 2011 -0700"
      },
      "message": "gpu: ion: Several fixes\n\nFix some cases where locks were not released on error paths\nChange heap-\u003eprio to heap-\u003eid to make meaning clearer\nFix kernel doc to match sources\n"
    },
    {
      "commit": "7b28afe01ab6ffb5f152f47831b44933facd2328",
      "tree": "a537d78f49fa1b959c9a453f459c1acd767a939f",
      "parents": [
        "726e99ab88db059fe1422e15376ae404f8c66eb4",
        "86e1e98e5c6b4edab97e2b058466ef553cfd878e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Jun 30 10:10:50 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Jun 30 10:10:50 2011 +0200"
      },
      "message": "Merge branch \u0027for-3.0-important\u0027 of git://git.drbd.org/linux-2.6-drbd into for-linus\n"
    },
    {
      "commit": "15b493d11fcce3c5547e3d7fb6d90e11ffe12777",
      "tree": "0638c261a1ca0ce54e1cbeb3ddaab10075717b27",
      "parents": [
        "cb6518cbef5e3e36b7ae90fcab610a52ea7e9fc0"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue Jun 28 09:48:48 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Jun 30 09:23:45 2011 +0200"
      },
      "message": "drbd: fix limit define, we support 1 PiByte now\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "c80005ae9ef788dce825629ea07e658714a2adad",
      "tree": "2fe6bc7a2b3341fa1465ce5a63a696d7f5e3ad97",
      "parents": [
        "e55d4fa96762fd767a3b6d842c904e994db6bb2e"
      ],
      "author": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Wed Jun 29 19:44:29 2011 -0700"
      },
      "committer": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Wed Jun 29 19:44:29 2011 -0700"
      },
      "message": "gpu: ion: Add ION Memory Manager\n\nSigned-off-by: Rebecca Schultz Zavin \u003crebecca@android.com\u003e\n"
    },
    {
      "commit": "e55d4fa96762fd767a3b6d842c904e994db6bb2e",
      "tree": "c74157e01cb128cb97f106a50cfadc4c8b872c41",
      "parents": [
        "e32c14667e4fe9f16ac9b918d15d29abd2315a55",
        "b0af8dfdd67699e25083478c63eedef2e72ebd85"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jun 29 13:54:42 2011 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jun 29 13:54:42 2011 -0700"
      },
      "message": "Merge commit \u0027v3.0-rc5\u0027 into android-3.0\n"
    },
    {
      "commit": "c89b857ce6d803905b2c9d71bc9effdd286c45ed",
      "tree": "6cf4a6e23f68f3b65906210dccb272ab2f9c5c74",
      "parents": [
        "2e34b429a404675dc4fc4ad2ee339eea028da3ca",
        "663dd6dcaf7e95526e469e91f41972a9c0cca30c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 28 11:15:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 28 11:15:36 2011 -0700"
      },
      "message": "Merge branch \u0027driver-core-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* \u0027driver-core-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  Connector: Correctly set the error code in case of success when dispatching receive callbacks\n  Connector: Set the CN_NETLINK_USERS correctly\n  pti: PTI semantics fix in pti_tty_cleanup.\n  pti: ENXIO error case memory leak PTI fix.\n  pti: double-free security PTI fix\n  drivers:misc: ti-st: fix skipping of change remote baud\n  drivers/base/platform.c: don\u0027t mark platform_device_register_resndata() as __init_or_module\n  st_kim: Handle case of no device found for ID 0\n  firmware: fix GOOGLE_SMI kconfig dependency warning\n"
    },
    {
      "commit": "04b905942b482092a547798a2477f21e32a8f65d",
      "tree": "9ad2837587f5ce284f830432fec3569ecf44fbcb",
      "parents": [
        "d90ce8711ceb516de823ae878270e5a21d11dede",
        "3bc46b312b1486b1fe2db4246a34a30160d26d8d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 28 11:14:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 28 11:14:55 2011 -0700"
      },
      "message": "Merge branch \u0027tty-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* \u0027tty-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:\n  serial: bcm63xx_uart: fix irq storm after rx fifo overrun.\n  amba pl011: platform data for reg lockup and glitch v2\n  amba pl011: workaround for uart registers lockup\n  tty: n_gsm: improper skb_pull() use was leaking framed data\n  tty: n_gsm: Fixed logic to decode break signal from modem status\n  TTY: ntty, add one more sanity check\n  TTY: ldisc, do not close until there are readers\n  8250: Fix capabilities when changing the port type\n  8250_pci: Fix missing const from merges\n  ARM: SAMSUNG: serial: Fix on handling of one clock source for UART\n  serial: ioremap warning fix for jsm driver.\n  8250_pci: add -ENODEV code for Intel EG20T PCH\n"
    },
    {
      "commit": "08142579b6ca35883c1ed066a2681de6f6917062",
      "tree": "00735ed37753533f3b645714770b4fb036b5f7e0",
      "parents": [
        "9b679320a5fbf46454011e5c62e0b8991b0956d1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jun 27 16:18:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "mm: fix assertion mapping-\u003enrpages \u003d\u003d 0 in end_writeback()\n\nUnder heavy memory and filesystem load, users observe the assertion\nmapping-\u003enrpages \u003d\u003d 0 in end_writeback() trigger.  This can be caused by\npage reclaim reclaiming the last page from a mapping in the following\nrace:\n\n\tCPU0\t\t\t\tCPU1\n  ...\n  shrink_page_list()\n    __remove_mapping()\n      __delete_from_page_cache()\n        radix_tree_delete()\n\t\t\t\t\tevict_inode()\n\t\t\t\t\t  truncate_inode_pages()\n\t\t\t\t\t    truncate_inode_pages_range()\n\t\t\t\t\t      pagevec_lookup() - finds nothing\n\t\t\t\t\t  end_writeback()\n\t\t\t\t\t    mapping-\u003enrpages !\u003d 0 -\u003e BUG\n        page-\u003emapping \u003d NULL\n        mapping-\u003enrpages--\n\nFix the problem by doing a reliable check of mapping-\u003enrpages under\nmapping-\u003etree_lock in end_writeback().\n\nAnalyzed by Jay \u003cjinshan.xiong@whamcloud.com\u003e, lost in LKML, and dug out\nby Miklos Szeredi \u003cmszeredi@suse.de\u003e.\n\nCc: Jay \u003cjinshan.xiong@whamcloud.com\u003e\nCc: Miklos Szeredi \u003cmszeredi@suse.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "507c5f1224014f9956e604ee8703b3bbea7da4a4",
      "tree": "8af568077785c6159d5698741215b282788d661c",
      "parents": [
        "2b4b2482e70eba10dd98653a3a5ac68126565e24"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Mon Jun 27 16:18:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "include/linux/compat.h: declare compat_sys_sendmmsg()\n\nThis is required for tilegx to be able to use the compat unistd.h header\nwhere compat_sys_sendmmsg() is now mentioned.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9d90e5eb70e09903dadff42099b6c948f814050",
      "tree": "c3ab73df6dee61f9403bfd819a6b0cb9f3ca6085",
      "parents": [
        "94c1e62df4494b79782cb9c7279f827212d1de70"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Jun 27 16:18:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:12 2011 -0700"
      },
      "message": "tmpfs: add shmem_read_mapping_page_gfp\n\nAlthough it is used (by i915) on nothing but tmpfs, read_cache_page_gfp()\nis unsuited to tmpfs, because it inserts a page into pagecache before\ncalling the filesystem\u0027s -\u003ereadpage: tmpfs may have pages in swapcache\nwhich only it knows how to locate and switch to filecache.\n\nAt present tmpfs provides a -\u003ereadpage method, and copes with this by\ncopying pages; but soon we can simplify it by removing its -\u003ereadpage.\nProvide shmem_read_mapping_page_gfp() now, ready for that transition,\n\nExport shmem_read_mapping_page_gfp() and add it to list in shmem_fs.h,\nwith shmem_read_mapping_page() inline for the common mapping_gfp case.\n\n(shmem_read_mapping_page_gfp or shmem_read_cache_page_gfp? Generally the\nread_mapping_page functions use the mapping\u0027s -\u003ereadpage, and the\nread_cache_page functions use the supplied filler, so I think\nread_cache_page_gfp was slightly misnamed.)\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94c1e62df4494b79782cb9c7279f827212d1de70",
      "tree": "43013fb403e592c535e6a7770be105b635ac9b63",
      "parents": [
        "072441e21ddcd1140606b7d4ef6eab579a86b0b3"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Jun 27 16:18:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:12 2011 -0700"
      },
      "message": "tmpfs: take control of its truncate_range\n\n2.6.35\u0027s new truncate convention gave tmpfs the opportunity to control\nits file truncation, no longer enforced from outside by vmtruncate().\nWe shall want to build upon that, to handle pagecache and swap together.\n\nSlightly redefine the -\u003etruncate_range interface: let it now be called\nbetween the unmap_mapping_range()s, with the filesystem responsible for\ndoing the truncate_inode_pages_range() from it - just as the filesystem\nis nowadays responsible for doing that from its -\u003esetattr.\n\nLet\u0027s rename shmem_notify_change() to shmem_setattr().  Instead of\ncalling the generic truncate_setsize(), bring that code in so we can\ncall shmem_truncate_range() - which will later be updated to perform its\nown variant of truncate_inode_pages_range().\n\nRemove the punch_hole unmap_mapping_range() from shmem_truncate_range():\nnow that the COW\u0027s unmap_mapping_range() comes after -\u003etruncate_range,\nthere is no need to call it a third time.\n\nExport shmem_truncate_range() and add it to the list in shmem_fs.h, so\nthat i915_gem_object_truncate() can call it explicitly in future; get\nthis patch in first, then update drm/i915 once this is available (until\nthen, i915 will just be doing the truncate_inode_pages() twice).\n\nThough introduced five years ago, no other filesystem is implementing\n-\u003etruncate_range, and its only other user is madvise(,,MADV_REMOVE): we\nexpect to convert it to fallocate(,FALLOC_FL_PUNCH_HOLE,,) shortly,\nwhereupon -\u003etruncate_range can be removed from inode_operations -\nshmem_truncate_range() will help i915 across that transition too.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "072441e21ddcd1140606b7d4ef6eab579a86b0b3",
      "tree": "6f059ad83c09dfbeb1def29e805839db3e5bf85f",
      "parents": [
        "5b8ba10198a109f8a02380648c5d29000caa9c55"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Jun 27 16:18:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:12 2011 -0700"
      },
      "message": "mm: move shmem prototypes to shmem_fs.h\n\nBefore adding any more global entry points into shmem.c, gather such\nprototypes into shmem_fs.h.  Remove mm\u0027s own declarations from swap.h,\nbut for now leave the ones in mm.h: because shmem_file_setup() and\nshmem_zero_setup() are called from various places, and we should not\nforce other subsystems to update immediately.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d258b25d947521c8b913154db61ec55198243f8",
      "tree": "4f74f744797e92a0555705dc121ac8aaa041e750",
      "parents": [
        "a64227b0855c42b5c037011afa80580ca3228527"
      ],
      "author": {
        "name": "Vitaliy Ivanov",
        "email": "vitalivanov@gmail.com",
        "time": "Mon Jun 27 19:07:08 2011 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 16:06:19 2011 -0700"
      },
      "message": "Fix some kernel-doc warnings\n\nFix \u0027make htmldocs\u0027 warnings:\n\n  Warning(/include/linux/hrtimer.h:153): No description found for parameter \u0027clockid\u0027\n  Warning(/include/linux/device.h:604): Excess struct/union/enum/typedef member \u0027of_match\u0027 description in \u0027device\u0027\n  Warning(/include/net/sock.h:349): Excess struct/union/enum/typedef member \u0027sk_rmem_alloc\u0027 description in \u0027sock\u0027\n\nSigned-off-by: Vitaliy Ivanov \u003cvitalivanov@gmail.com\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a64227b0855c42b5c037011afa80580ca3228527",
      "tree": "8633fc0989fd6e53c9f3f0bb5774c1a54bd5f18e",
      "parents": [
        "c6830c22603aaecf65405af23f6da2d55892f9cb",
        "c31b55cd4eaf050bb5a15bd8251da1b3c7edeb1c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 14:55:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 14:55:43 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:\n  mmc: queue: bring discard_granularity/alignment into line with SCSI\n  mmc: queue: append partition subname to queue thread name\n  mmc: core: make erase timeout calculation allow for gated clock\n  mmc: block: switch card to User Data Area when removing the block driver\n  mmc: sdio: reset card during power_restore\n  mmc: cb710: fix #ifdef HAVE_EFFICIENT_UNALIGNED_ACCESS\n  mmc: sdhi: DMA slave ID 0 is invalid\n  mmc: tmio: fix regression in TMIO_MMC_WRPROTECT_DISABLE handling\n  mmc: omap_hsmmc: use original sg_len for dma_unmap_sg\n  mmc: omap_hsmmc: fix ocr mask usage\n  mmc: sdio: fix runtime PM path during driver removal\n  mmc: Add PCI fixup quirks for Ricoh 1180:e823 reader\n  mmc: sdhi: fix module unloading\n  mmc: of_mmc_spi: add NO_IRQ define to of_mmc_spi.c\n  mmc: vub300: fix null dereferences in error handling\n"
    },
    {
      "commit": "c6830c22603aaecf65405af23f6da2d55892f9cb",
      "tree": "19458ebc7c32bef8a4ed59630cabb5785b1bdc11",
      "parents": [
        "af4087e0e682df12bdffec5cfafc2fec9208716e"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jun 16 17:28:07 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 14:13:09 2011 -0700"
      },
      "message": "Fix node_start/end_pfn() definition for mm/page_cgroup.c\n\ncommit 21a3c96 uses node_start/end_pfn(nid) for detection start/end\nof nodes. But, it\u0027s not defined in linux/mmzone.h but defined in\n/arch/???/include/mmzone.h which is included only under\nCONFIG_NEED_MULTIPLE_NODES\u003dy.\n\nThen, we see\n  mm/page_cgroup.c: In function \u0027page_cgroup_init\u0027:\n  mm/page_cgroup.c:308: error: implicit declaration of function \u0027node_start_pfn\u0027\n  mm/page_cgroup.c:309: error: implicit declaration of function \u0027node_end_pfn\u0027\n\nSo, fixiing page_cgroup.c is an idea...\n\nBut node_start_pfn()/node_end_pfn() is a very generic macro and\nshould be implemented in the same manner for all archs.\n(m32r has different implementation...)\n\nThis patch removes definitions of node_start/end_pfn() in each archs\nand defines a unified one in linux/mmzone.h. It\u0027s not under\nCONFIG_NEED_MULTIPLE_NODES, now.\n\nA result of macro expansion is here (mm/page_cgroup.c)\n\nfor !NUMA\n start_pfn \u003d ((\u0026contig_page_data)-\u003enode_start_pfn);\n  end_pfn \u003d ({ pg_data_t *__pgdat \u003d (\u0026contig_page_data); __pgdat-\u003enode_start_pfn + __pgdat-\u003enode_spanned_pages;});\n\nfor NUMA (x86-64)\n  start_pfn \u003d ((node_data[nid])-\u003enode_start_pfn);\n  end_pfn \u003d ({ pg_data_t *__pgdat \u003d (node_data[nid]); __pgdat-\u003enode_start_pfn + __pgdat-\u003enode_spanned_pages;});\n\nChangelog:\n - fixed to avoid using \"nid\" twice in node_end_pfn() macro.\n\nReported-and-acked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nReported-and-tested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5220cc9382e11ca955ce946ee6a5bac577bb14ff",
      "tree": "7949f52a5ca0c7fa74ec8e49ba89a00d0e4114a9",
      "parents": [
        "726ce0656b99ac6436b590d83613fe8447b4769e",
        "155d109b5f52ffd749219b27702462dcd9cf4f8d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 24 08:42:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 24 08:42:35 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  block: add REQ_SECURE to REQ_COMMON_MASK\n  block: use the passed in @bdev when claiming if partno is zero\n  block: Add __attribute__((format(printf...) and fix fallout\n  block: make disk_block_events() properly wait for work cancellation\n  block: remove non-syncing __disk_block_events() and fold it into disk_block_events()\n  block: don\u0027t use non-syncing event blocking in disk_check_events()\n  cfq-iosched: fix locking around ioc-\u003eioc_data assignment\n"
    },
    {
      "commit": "39785eb1d3e6c58cc8bf8f6990956a58037ecc75",
      "tree": "b896a48b483803124c940ff99e7ffdfd4a4a171c",
      "parents": [
        "9377c51752970c305fae29ac634501fde44378cb"
      ],
      "author": {
        "name": "Timur Tabi",
        "email": "timur@freescale.com",
        "time": "Thu Jun 23 20:20:26 2011 +0000"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jun 24 17:08:49 2011 +0900"
      },
      "message": "fsl-diu-fb: remove check for pixel clock ranges\n\nThe Freescale DIU framebuffer driver defines two constants, MIN_PIX_CLK and\nMAX_PIX_CLK, that are supposed to represent the lower and upper limits of\nthe pixel clock.  These values, however, are true only for one platform\nclock rate (533MHz) and only for the MPC8610.  So the actual range for\nthe pixel clock is chip-specific, which means the current values are almost\nalways wrong.  The chance of an out-of-range pixel clock being used are also\nremote.\n\nRather than try to detect an out-of-range clock in the DIU driver, we depend\non the board-specific pixel clock function (e.g. p1022ds_set_pixel_clock)\nto clamp the pixel clock to a supported value.\n\nSigned-off-by: Timur Tabi \u003ctimur@freescale.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "68d0080f1e222757c85606d3eaf81b5c4aa7719f",
      "tree": "5f177f7571a56e7dfe3888f67fcc86532be8235c",
      "parents": [
        "f957db4fcdd8f03e186aa8f041f4049e76ab741c",
        "a5f76d5eba157bf637beb2dd18026db2917c512e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 22 21:08:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 22 21:08:52 2011 -0700"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PCI / PM: Block races between runtime PM and system sleep\n  PM / Domains: Update documentation\n  PM / Runtime: Handle clocks correctly if CONFIG_PM_RUNTIME is unset\n  PM: Fix async resume following suspend failure\n  PM: Free memory bitmaps if opening /dev/snapshot fails\n  PM: Rename dev_pm_info.in_suspend to is_prepared\n  PM: Update documentation regarding sysdevs\n  PM / Runtime: Update doc: usage count no longer incremented across system PM\n"
    },
    {
      "commit": "2992c4bd5742b31a0ee00a76eee9c1c284507418",
      "tree": "b2af7d776ec6a4ae69b5f245ee0586359a99eabd",
      "parents": [
        "e08f6d4131ab964420f0bcabecc68d75fb49df79",
        "1650add23578b5ca35c1f1e863987180a8c03779"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 21 18:20:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 21 18:20:55 2011 -0700"
      },
      "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: Fix decode_secinfo_maxsz\n  NFSv4.1: Fix an off-by-one error in pnfs_generic_pg_test\n  NFSv4.1: Fix some issues with pnfs_generic_pg_test\n  NFSv4.1: file layout must consider pg_bsize for coalescing\n  pnfs-obj: No longer needed to take an extra ref at add_device\n  SUNRPC: Ensure the RPC client only quits on fatal signals\n  NFSv4: Fix a readdir regression\n  nfs4.1: mark layout as bad on error path in _pnfs_return_layout\n  nfs4.1: prevent race that allowed use of freed layout in _pnfs_return_layout\n  NFSv4.1: need to put_layout_hdr on _pnfs_return_layout error path\n  NFS: (d)printks should use %zd for ssize_t arguments\n  NFSv4.1: fix break condition in pnfs_find_lseg\n  nfs4.1: fix several problems with _pnfs_return_layout\n  NFSv4.1: allow zero fh array in filelayout decode layout\n  NFSv4.1: allow nfs_fhget to succeed with mounted on fileid\n  NFSv4.1: Fix a refcounting issue in the pNFS device id cache\n  NFSv4.1: deprecate headerpadsz in CREATE_SESSION\n  NFS41: do not update isize if inode needs layoutcommit\n  NLM: Don\u0027t hang forever on NLM unlock requests\n  NFS: fix umount of pnfs filesystems\n"
    },
    {
      "commit": "6d0e0e84f66d32c33511984dd3badd32364b863c",
      "tree": "215916af1632fbaff9d46676d14dafd52143d578",
      "parents": [
        "8440f4b19494467883f8541b7aa28c7bbf6ac92b"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sat Jun 18 22:42:09 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 21 23:20:20 2011 +0200"
      },
      "message": "PM: Fix async resume following suspend failure\n\nThe PM core doesn\u0027t handle suspend failures correctly when it comes to\nasynchronously suspended devices.  These devices are moved onto the\ndpm_suspended_list as soon as the corresponding async thread is\nstarted up, and they remain on the list even if they fail to suspend\nor the sleep transition is cancelled before they get suspended.  As a\nresult, when the PM core unwinds the transition, it tries to resume\nthe devices even though they were never suspended.\n\nThis patch (as1474) fixes the problem by adding a new \"is_suspended\"\nflag to dev_pm_info.  Devices are resumed only if the flag is set.\n\n[rjw:\n * Moved the dev-\u003epower.is_suspended check into device_resume(),\n   because we need to complete dev-\u003epower.completion and clear\n   dev-\u003epower.is_prepared too for devices whose\n   dev-\u003epower.is_suspended flags are unset.\n * Fixed __device_suspend() to avoid setting dev-\u003epower.is_suspended\n   if async_error is different from zero.]\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "f76b168b6f117a49d36307053e1acbe30580ea5b",
      "tree": "2aa0cc19b27764d8eb55ce85eaf226a60ce27756",
      "parents": [
        "78420884e680da8fbc3240de2d3106437042381e"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sat Jun 18 20:22:23 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 21 23:19:50 2011 +0200"
      },
      "message": "PM: Rename dev_pm_info.in_suspend to is_prepared\n\nThis patch (as1473) renames the \"in_suspend\" field in struct\ndev_pm_info to \"is_prepared\", in preparation for an upcoming change.\nThe new name is more descriptive of what the field really means.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "890879cfa08f5ceaa09810611f46e890f7d57ff6",
      "tree": "c8898ae7a5bf00f315cfaa13d58a08aafa5002f9",
      "parents": [
        "56299378726d5f2ba8d3c8cbbd13cb280ba45e4f",
        "de1b794130b130e77ffa975bb58cb843744f9ae5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 21 10:22:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 21 10:22:35 2011 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  jbd2: Fix oops in jbd2_journal_remove_journal_head()\n  jbd2: Remove obsolete parameters in the comments for some jbd2 functions\n  ext4: fixed tracepoints cleanup\n  ext4: use FIEMAP_EXTENT_LAST flag for last extent in fiemap\n  ext4: Fix max file size and logical block counting of extent format file\n  ext4: correct comments for ext4_free_blocks()\n"
    },
    {
      "commit": "79568f5be06c91071697c065f01f3ebfbeb25a61",
      "tree": "81fc2bb54bebffc7ef22390bfc37c7ba818a30df",
      "parents": [
        "f5fc5567dd24c15b1d95aa9ee2aaada04d835a0c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 20:13:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 20:13:49 2011 -0700"
      },
      "message": "vfs: i_state needs to be \u0027unsigned long\u0027 for now\n\nCommit 13e12d14e2dc (\"vfs: reorganize \u0027struct inode\u0027 layout a bit\")\nmoved things around a bit changed i_state to be unsigned int instead of\nunsigned long.  That was to help structure layout for the 64-bit case,\nand shrink \u0027struct inode\u0027 a bit (admittedly that only happened when\nspinlock debugging was on and i_flags didn\u0027t pack with i_lock).\n\nHowever, Meelis Roos reports that this results in unaligned exceptions\non sprc, and it turns out that the bit-locking primitives that we use\nfor the I_NEW bit want to use the bitops.  Which want \u0027unsigned long\u0027,\nnot \u0027unsigned int\u0027.\n\nWe really should fix the bit locking code to not have that kind of\nrequirement, but that\u0027s a much bigger change.  So for now, revert that\nfield back to \u0027unsigned long\u0027 (but keep the other re-ordering changes\nfrom the commit that caused this).\n\nAndi points out that we have played games with this in \u0027struct page\u0027, so\nit\u0027s solvable with other hacks too, but since right now the struct inode\nsize advantage only happens with some rare config options, it\u0027s not\nworth fighting.\n\nIt _would_ be worth fixing the bitlocking code, though.  Especially\nsince there is no type safety in the bitlocking code (this never caused\nany warnings, and worked fine on x86-64, because the bitlocks take a\n\u0027void *\u0027 and x86-64 doesn\u0027t care that deeply about alignment).  So it\u0027s\ncurrently a very easy problem to trigger by mistake and never notice.\n\nReported-by: Meelis Roos \u003cmroos@linux.ee\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eda0841094a3a232357ca10a24b40da461db3fcf",
      "tree": "08f6ffd17275e6fab7bd8014d849d2fce46632d9",
      "parents": [
        "6e158d21986fa15d21fd32cf241d167d4d741ae3",
        "105f4622104848ff1ee1f644d661bef9dec3eb27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 20:10:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 20:10:52 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.40\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.40\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd4: fix break_lease flags on nfsd open\n  nfsd: link returns nfserr_delay when breaking lease\n  nfsd: v4 support requires CRYPTO\n  nfsd: fix dependency of nfsd on auth_rpcgss\n"
    },
    {
      "commit": "36698206504fca9198b8563f1fc2c9e38e063e11",
      "tree": "f02b63c9b35a7962786b5dcdb1af15a63f5de1cf",
      "parents": [
        "ef46222e7b56e728e423527d430cb2013c595491",
        "482e0cd3dbaa70f2a2bead4b5f2c0d203ef654ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 20:09:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 20:09:15 2011 -0700"
      },
      "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  devcgroup_inode_permission: take \"is it a device node\" checks to inlined wrapper\n  fix comment in generic_permission()\n  kill obsolete comment for follow_down()\n  proc_sys_permission() is OK in RCU mode\n  reiserfs_permission() doesn\u0027t need to bail out in RCU mode\n  proc_fd_permission() is doesn\u0027t need to bail out in RCU mode\n  nilfs2_permission() doesn\u0027t need to bail out in RCU mode\n  logfs doesn\u0027t need -\u003epermission() at all\n  coda_ioctl_permission() is safe in RCU mode\n  cifs_permission() doesn\u0027t need to bail out in RCU mode\n  bad_inode_permission() is safe from RCU mode\n  ubifs: dereferencing an ERR_PTR in ubifs_mount()\n"
    },
    {
      "commit": "934abcf52a9831d35fb578048b737313e5a9e717",
      "tree": "4074b53eac0c6fec645b622ec421e01054e77bbd",
      "parents": [
        "d8cfaaaf6817a0279f0faef8ee5ddd52de12839a"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Mon Jun 20 12:41:46 2011 -0700"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Mon Jun 20 13:15:08 2011 -0700"
      },
      "message": "netfilter: add xt_qtaguid matching module\n\nThis module allows tracking stats at the socket level for given UIDs.\nIt replaces xt_owner.\nIf the --uid-owner is not specified, it will just count stats based on\nwho the skb belongs to. This will even happen on incoming skbs as it\nlooks into the skb via xt_socket magic to see who owns it.\nIf an skb is lost, it will be assigned to uid\u003d0.\n\nTo control what sockets of what UIDs are tagged by what, one uses:\n  echo t $sock_fd $accounting_tag $the_billed_uid \\\n     \u003e /proc/net/xt_qtaguid/ctrl\n So whenever an skb belongs to a sock_fd, it will be accounted against\n   $the_billed_uid\n  and matching stats will show up under the uid with the given\n   $accounting_tag.\n\nBecause the number of allocations for the stats structs is not that big:\n  ~500 apps * 32 per app\nwe\u0027ll just do it atomic. This avoids walking lists many times, and\nthe fancy worker thread handling. Slabs will grow when needed later.\n\nIt use netdevice and inetaddr notifications instead of hooks in the core dev\ncode to track when a device comes and goes. This removes the need for\nexposed iface_stat.h.\n\nPut procfs dirs in /proc/net/xt_qtaguid/\n  ctrl\n  stats\n  iface_stat/\u003ciface\u003e/...\nThe uid stats are obtainable in ./stats.\n\nChange-Id: I01af4fd91c8de651668d3decb76d9bdc1e343919\nSigned-off-by: JP Abgrall \u003cjpa@google.com\u003e\n"
    },
    {
      "commit": "d8cfaaaf6817a0279f0faef8ee5ddd52de12839a",
      "tree": "4c6bdd7fad3e803b74e2870b2dbccbe3aa16421e",
      "parents": [
        "cf7addf29b41f90d979267b2c5111ec6d137231a"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Wed Jun 15 16:52:40 2011 -0700"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Mon Jun 20 13:15:08 2011 -0700"
      },
      "message": "nf: xt_socket: export the fancy sock finder code\n\nThe socket matching function has some nifty logic to get the struct sock\nfrom the skb or from the connection tracker.\nWe export this so other xt_* can use it, similarly to ho how\nxt_socket uses nf_tproxy_get_sock.\n\nChange-Id: I11c58f59087e7f7ae09e4abd4b937cd3370fa2fd\nSigned-off-by: JP Abgrall \u003cjpa@google.com\u003e\n"
    },
    {
      "commit": "19345cb299e8234006c5125151ab723e851a1d24",
      "tree": "43bde1db751eb50afbdabfbd26814431c8be573c",
      "parents": [
        "df18d127f4fed7a0284bcfa8d2843800cdb63b72"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "benny@tonian.com",
        "time": "Sun Jun 19 18:33:46 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 20 16:12:26 2011 -0400"
      },
      "message": "NFSv4.1: file layout must consider pg_bsize for coalescing\n\nOtherwise we end up overflowing the rpc buffer size on the receive end.\n\nSigned-off-by: Benny Halevy \u003cbenny@tonian.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c01ad4081939f91ebd7277e8e731fd90ceb3e632",
      "tree": "8eb0eccce6e0681400ddb5e33a9f13bfeb8a1fde",
      "parents": [
        "90a800de0a29426ea900ecd53f2929d5f4bc4578",
        "cca23d0b5350c9ca0473625c3f5879422ba534a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 08:59:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 08:59:46 2011 -0700"
      },
      "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: sh_keysc - 8x8 MODE_6 fix\n  Input: omap-keypad - add missing input_sync()\n  Input: evdev - try to wake up readers only if we have full packet\n  Input: properly assign return value of clamp() macro.\n"
    },
    {
      "commit": "482e0cd3dbaa70f2a2bead4b5f2c0d203ef654ba",
      "tree": "68d885682da34a08c29908d012a356344882a487",
      "parents": [
        "8e833fd2e1f0107ee7a4b6bc4de3c9f0e9b0ed41"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 19 13:01:04 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:46:04 2011 -0400"
      },
      "message": "devcgroup_inode_permission: take \"is it a device node\" checks to inlined wrapper\n\ninode_permission() calls devcgroup_inode_permission() and almost all such\ncalls are _not_ for device nodes; let\u0027s at least keep the common path\nstraight...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "155d109b5f52ffd749219b27702462dcd9cf4f8d",
      "tree": "980be2955bbf656963ad3edc9ff311d4528b70f1",
      "parents": [
        "d4c208b86b8be4254eba0e74071496e599f94639"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Mon Jun 20 13:23:14 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Jun 20 13:23:14 2011 +0200"
      },
      "message": "block: add REQ_SECURE to REQ_COMMON_MASK\n\nAdd REQ_SECURE flag to REQ_COMMON_MASK so that\ninit_request_from_bio() can pass it to @req-\u003ecmd_flags.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nCc: stable@kernel.org # 2.6.36 and newer\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "8816ead9d8e7c2745788e0684797e1912b504f33",
      "tree": "2a619a821024d31be2ce6ff422f287792379fe5b",
      "parents": [
        "357ed6b1a110048ff8106f99092d6c4a7aadb45a",
        "203db2952bc87f5d610c9ad53a7d02b85897721f",
        "d8ad7d1123a960cc9f276bd499f9325c6f5e1bd1",
        "b5199515c25cca622495eb9c6a8a1d275e775088",
        "c1f5c54b57341e872a9d375dccef7257f86033ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 19 09:00:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 19 09:00:18 2011 -0700"
      },
      "message": "Merge branches \u0027perf-urgent-for-linus\u0027, \u0027sched-urgent-for-linus\u0027, \u0027timers-urgent-for-linus\u0027 and \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tools/perf: Fix static build of perf tool\n  tracing: Fix regression in printk_formats file\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  generic-ipi: Fix kexec boot crash by initializing call_single_queue before enabling interrupts\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  clocksource: Make watchdog robust vs. interruption\n  timerfd: Fix wakeup of processes when timer is cancelled on clock change\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, MAINTAINERS: Add x86 MCE people\n  x86, efi: Do not reserve boot services regions within reserved areas\n"
    },
    {
      "commit": "357ed6b1a110048ff8106f99092d6c4a7aadb45a",
      "tree": "ff4eb7e809e547bc3c0680dfd51793a8f57b2063",
      "parents": [
        "de505e709ffb09a7382ca8e0d8c7dbb171ba5830",
        "f8b7fc6b514f34a51875dd48dff70d4d17a54f38"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 19 08:56:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 19 08:56:56 2011 -0700"
      },
      "message": "Merge branch \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: Move RCU_BOOST #ifdefs to header file\n  rcu: use softirq instead of kthreads except when RCU_BOOST\u003dy\n  rcu: Use softirq to address performance regression\n  rcu: Simplify curing of load woes\n"
    },
    {
      "commit": "be98ca652faa6468916a9b7608befff215a8ca70",
      "tree": "13ed7ba7e41eb98acf9c9d5230e683d8b7f96e9e",
      "parents": [
        "742a0c7cae9bd0f913c71722289b8ec862d70a2b"
      ],
      "author": {
        "name": "Manoj Iyer",
        "email": "manoj.iyer@canonical.com",
        "time": "Thu May 26 11:19:05 2011 -0500"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Jun 18 22:18:18 2011 -0400"
      },
      "message": "mmc: Add PCI fixup quirks for Ricoh 1180:e823 reader\n\nSigned-off-by: Manoj Iyer \u003cmanoj.iyer@canonical.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "cca23d0b5350c9ca0473625c3f5879422ba534a6",
      "tree": "160e5a664d02bedb597d5e4e9bd9fd75c3427a23",
      "parents": [
        "b27af563befa95686c8d1abc491408aa6b9a31dc"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@opensource.se",
        "time": "Sat Jun 18 02:51:52 2011 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sat Jun 18 02:55:01 2011 -0700"
      },
      "message": "Input: sh_keysc - 8x8 MODE_6 fix\n\nAccording to the data sheet for G4, AP4 and AG5 KEYSC MODE_6 is 8x8 keys.\nBump up MAXKEYS to 64 too.\n\nSigned-off-by: Magnus Damm \u003cdamm@opensource.se\u003e\nReviewed-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    }
  ],
  "next": "cf7addf29b41f90d979267b2c5111ec6d137231a"
}
