)]}'
{
  "log": [
    {
      "commit": "9ef2db2630652d68dfd336088648adae7ef0bcd4",
      "tree": "c49fdc3e89f1a438d4d379492f75ca689662cdac",
      "parents": [
        "59b7435149eab2dd06dd678742faff6049cb655f"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Apr 29 01:02:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:20 2008 -0700"
      },
      "message": "nfsd: use proc_create to setup de-\u003eproc_fops\n\nUse proc_create() to make sure that -\u003eproc_fops be setup before gluing PDE to\nmain tree.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59b7435149eab2dd06dd678742faff6049cb655f",
      "tree": "ceadbf157a001b83a3ab2c89156426e88a782208",
      "parents": [
        "b640a89ddd742782bd2d83873da30d4776d1b9c6"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Apr 29 01:02:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:20 2008 -0700"
      },
      "message": "proc: introduce proc_create_data to setup de-\u003edata\n\nThis set of patches fixes an proc -\u003eopen\u0027less usage due to -\u003eproc_fops flip in\nthe most part of the kernel code.  The original OOPS is described in the\ncommit 2d3a4e3666325a9709cc8ea2e88151394e8f20fc:\n\n    Typical PDE creation code looks like:\n\n    \tpde \u003d create_proc_entry(\"foo\", 0, NULL);\n    \tif (pde)\n    \t\tpde-\u003eproc_fops \u003d \u0026foo_proc_fops;\n\n    Notice that PDE is first created, only then -\u003eproc_fops is set up to\n    final value. This is a problem because right after creation\n    a) PDE is fully visible in /proc , and\n    b) -\u003eproc_fops are proc_file_operations which do not have -\u003eopen callback. So, it\u0027s\n       possible to -\u003eread without -\u003eopen (see one class of oopses below).\n\n    The fix is new API called proc_create() which makes sure -\u003eproc_fops are\n    set up before gluing PDE to main tree. Typical new code looks like:\n\n    \tpde \u003d proc_create(\"foo\", 0, NULL, \u0026foo_proc_fops);\n    \tif (!pde)\n    \t\treturn -ENOMEM;\n\n    Fix most networking users for a start.\n\n    In the long run, create_proc_entry() for regular files will go.\n\nIn addition to this, proc_create_data is introduced to fix reading from\nproc without PDE-\u003edata. The race is basically the same as above.\n\ncreate_proc_entries is replaced in the entire kernel code as new method\nis also simply better.\n\nThis patch:\n\nThe problem is the same as for de-\u003eproc_fops.  Right now PDE becomes visible\nwithout data set.  So, the entry could be looked up without data.  This, in\nmost cases, will simply OOPS.\n\nproc_create_data call is created to address this issue.  proc_create now\nbecomes a wrapper around it.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Jaroslav Kysela \u003cperex@suse.cz\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Karsten Keil \u003ckkeil@suse.de\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Osterlund \u003cpetero2@telia.com\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b640a89ddd742782bd2d83873da30d4776d1b9c6",
      "tree": "1aa331c52bef2eb813bd39d1738dc401a7e70f6d",
      "parents": [
        "8731f14d37825b54ad0c4c309cba2bc8fdf13a86"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:20 2008 -0700"
      },
      "message": "proc: convert /proc/tty/ldiscs to seq_file interface\n\nNote: THIS_MODULE and header addition aren\u0027t technically needed because\n      this code is not modular, but let\u0027s keep it anyway because people\n      can copy this code into modular code.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8731f14d37825b54ad0c4c309cba2bc8fdf13a86",
      "tree": "6f0d6d646ad6c1c5b4765953fea004c1758961be",
      "parents": [
        "352ced8e594091d74b92da9bcf07aea81d37ac55"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:19 2008 -0700"
      },
      "message": "proc: remove -\u003eget_info infrastructure\n\nNow that last dozen or so users of -\u003eget_info were removed, ditch it too.\nEveryone sane shouldd have switched to seq_file interface long ago.\n\nP.S.: Co-existing 3 interfaces (-\u003eget_info/-\u003eread_proc/-\u003eproc_fops) for proc\n      is long-standing crap, BTW, thus\n      a) put -\u003eread_proc/-\u003ewrite_proc/read_proc_entry() users on death row,\n      b) new such users should be rejected,\n      c) everyone is encouraged to convert his favourite -\u003eread_proc user or\n         I\u0027ll do it, lazy bastards.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "352ced8e594091d74b92da9bcf07aea81d37ac55",
      "tree": "a0e5f67be54a2d1138837787fc126e6807156418",
      "parents": [
        "4a5cdb5b8f10998603e1e44adec1e56c234babfe"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:19 2008 -0700"
      },
      "message": "proc: switch /proc/scsi/device_info to seq_file interface\n\nNote 1: 0644 should be used, but root bypasses permissions, so writing\n\tto /proc/scsi/device_info still works.\nNote 2: looks like scsi_dev_info_list is unprotected\nNote 3: probably make proc whine about \"unwriteable but with -\u003ewrite hook\"\n\tentries. Probably.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a5cdb5b8f10998603e1e44adec1e56c234babfe",
      "tree": "b2b9cef90dd8d3bc407a4d6c029db83c199d934c",
      "parents": [
        "076ec04b8ac84a04df67840f15f36218d7519510"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:19 2008 -0700"
      },
      "message": "proc: switch /proc/ip2mem to seq_file interface\n\n/******************************************/\n/* Remove useless comment, while I am it. */\n/******************************************/\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "076ec04b8ac84a04df67840f15f36218d7519510",
      "tree": "3c1e0ca629bed45cd7f642f2648dd3606e714386",
      "parents": [
        "3ae02d6bc1c1b3784fec9e9e016e7e3dcc2f8727"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:19 2008 -0700"
      },
      "message": "proc: convert /proc/bus/nubus to seq_file interface\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ae02d6bc1c1b3784fec9e9e016e7e3dcc2f8727",
      "tree": "2e0e52af4dd3d148218387c8eb342e33a13b1b5f",
      "parents": [
        "4bd61f76a5353df272d5c7232bf0928f6e4a9531"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:19 2008 -0700"
      },
      "message": "proc: switch /proc/irda/irnet to seq_file interface\n\nProbably interface misuse, because of the way iterating over hashbin is done.\nHowever! Printing of socket number (\"IrNET socket %d - \", i++\") made conversion\nto proper -\u003estart/-\u003enext difficult enough to do blindly without hardware.\nSaid that, please apply.\n\nRemove useless comment while I am it.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Samuel Ortiz \u003csamuel@sortiz.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4bd61f76a5353df272d5c7232bf0928f6e4a9531",
      "tree": "48a6229f30c9630be91d7ed0a6f9adf0990b7108",
      "parents": [
        "9b0012126ae191c90c88df4b535b0f2ade70ecb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:19 2008 -0700"
      },
      "message": "proc: switch /proc/excite/unit_id to seq_file interface\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Thomas Koeller \u003cthomas.koeller@baslerweb.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b0012126ae191c90c88df4b535b0f2ade70ecb6",
      "tree": "68458962efd7d60cac3736301c41a04637cf922a",
      "parents": [
        "51251549140f99cc5fbfed8ac542f22cbf067870"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:19 2008 -0700"
      },
      "message": "proc: switch /proc/bus/ecard/devices to seq_file interface\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nCc: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "51251549140f99cc5fbfed8ac542f22cbf067870",
      "tree": "bbfdbf55f1aec2f9a5e137dbb286912f8d448e41",
      "parents": [
        "647634df400ed26e2707ef65a8bf0df3f3bb8663"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:19 2008 -0700"
      },
      "message": "proc: remove /proc/mac_iop\n\nEntry creation was commented for a long time and right now it stands on\nthe way of -\u003eget_info removal, so unless nobody objects...\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Simon Arlott \u003csimon@fire.lp0.eu\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Joern Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "647634df400ed26e2707ef65a8bf0df3f3bb8663",
      "tree": "a733669df7afea2e0c87e02abafb8443ebd162ad",
      "parents": [
        "8331438b38b07b97dbbb9049aa90a0d6ce5da03b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:19 2008 -0700"
      },
      "message": "proc: switch /proc/apm to seq_file interface\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8331438b38b07b97dbbb9049aa90a0d6ce5da03b",
      "tree": "0e0261ec2a120d9ce22e1d3dca550e934a987f56",
      "parents": [
        "c74c120a21d87b0b6925ada5830d8cac21e852d9"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:19 2008 -0700"
      },
      "message": "proc: switch /proc/bus/zorro/devices to seq_file interface\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c74c120a21d87b0b6925ada5830d8cac21e852d9",
      "tree": "79558a29ecadc7b71eeb5bdf0945680f0560b2ed",
      "parents": [
        "928b4d8c8963e75bdb133f562b03b07f9aa4844a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: remove proc_root from drivers\n\nRemove proc_root export.  Creation and removal works well if parent PDE is\nsupplied as NULL -- it worked always that way.\n\nSo, one useless export removed and consistency added, some drivers created\nPDEs with \u0026proc_root as parent but removed them as NULL and so on.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "928b4d8c8963e75bdb133f562b03b07f9aa4844a",
      "tree": "18de7e85fe403f681a954ed04254b2d9085e7fe4",
      "parents": [
        "36a5aeb8787fbf92510ed20d806e229c55726f93"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: remove proc_root_driver\n\nUse creation by full path: \"driver/foo\".\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36a5aeb8787fbf92510ed20d806e229c55726f93",
      "tree": "7e6efd56b357a3f66a72b3e0d7540116214db338",
      "parents": [
        "9c37066d888bf6e1b96ad12304971b3ddeabbad0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: remove proc_root_fs\n\nUse creation by full path instead: \"fs/foo\".\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c37066d888bf6e1b96ad12304971b3ddeabbad0",
      "tree": "87f39924be4d36b25918cf7a90eb0db7743cba99",
      "parents": [
        "5e971dce0b2f6896e02372512df0d1fb0bfe2d55"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: remove proc_bus\n\nRemove proc_bus export and variable itself. Using pathnames works fine\nand is slightly more understandable and greppable.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e971dce0b2f6896e02372512df0d1fb0bfe2d55",
      "tree": "bce0356470331c49c92b87042103034e55beaa8e",
      "parents": [
        "7cee4e00e0f8aa7290266382ea903a5a1b92c9a1"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: drop several \"PDE valid/invalid\" checks\n\nproc-misc code is noticeably full of \"if (de)\" checks when PDE passed is\nalways valid.  Remove them.\n\nAddition of such check in proc_lookup_de() is for failed lookup case.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7cee4e00e0f8aa7290266382ea903a5a1b92c9a1",
      "tree": "3d4ca2241e122f3358433b26538d952eda0226c5",
      "parents": [
        "f649d6d32605c7573884613289fb3b9fbd4f99a1"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "proc: less special case in xlate code\n\nIf valid \"parent\" is passed to proc_create/remove_proc_entry(), then name of\nPDE should consist of only one path component, otherwise creation or or\nremoval will fail.  However, if NULL is passed as parent then create/remove\naccept full path as a argument.  This is arbitrary restriction -- all\ninfrastructure is in place.\n\nSo, patch allows the following to succeed:\n\n\tcreate_proc_entry(\"foo/bar\", 0, pde_baz);\n\tremove_proc_entry(\"baz/foo/bar\", \u0026proc_root);\n\nAlso makes the following to behave identically:\n\n\tcreate_proc_entry(\"foo/bar\", 0, NULL);\n\tcreate_proc_entry(\"foo/bar\", 0, \u0026proc_root);\n\nDiscrepancy noticed by Den Lunev (IIRC).\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f649d6d32605c7573884613289fb3b9fbd4f99a1",
      "tree": "3fe52e6e5e93edc2f011d8047a8e3ac2eee71930",
      "parents": [
        "638fa202cdb207083a12d6f73e313605a8fc1037"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "proc: simplify locking in remove_proc_entry()\n\nproc_subdir_lock protects only modifying and walking through PDE lists, so\nafter we\u0027ve found PDE to remove and actually removed it from lists, there is\nno need to hold proc_subdir_lock for the rest of operation.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "638fa202cdb207083a12d6f73e313605a8fc1037",
      "tree": "e049d74e9f7e15a55149dc17482572c8b2aefa18",
      "parents": [
        "0d5c9f5f59a61cf8e98e2925cb5d81cbe7694305"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Apr 29 01:01:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "procfs: mem permission cleanup\n\nThis cleans up the permission checks done for /proc/PID/mem i/o calls.  It\nputs all the logic in a new function, check_mem_permission().\n\nThe old code repeated the (!MAY_PTRACE(task) || !ptrace_may_attach(task))\nmagical expression multiple times.  The new function does all that work in one\nplace, with clear comments.\n\nThe old code called security_ptrace() twice on successful checks, once in\nMAY_PTRACE() and once in __ptrace_may_attach().  Now it\u0027s only called once,\nand only if all other checks have succeeded.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d5c9f5f59a61cf8e98e2925cb5d81cbe7694305",
      "tree": "f0df6740f1797cd2ac76a684d29fa9162fd61816",
      "parents": [
        "925d1c401fa6cfd0df5d2e37da8981494ccdec07"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "proc: switch to proc_create()\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "925d1c401fa6cfd0df5d2e37da8981494ccdec07",
      "tree": "4f3b7a09311cd99783b822350628125e44f9902d",
      "parents": [
        "e93b4ea20adb20f1f1f07f10ba5d7dd739d2843e"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Tue Apr 29 01:01:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "procfs task exe symlink\n\nThe kernel implements readlink of /proc/pid/exe by getting the file from\nthe first executable VMA.  Then the path to the file is reconstructed and\nreported as the result.\n\nBecause of the VMA walk the code is slightly different on nommu systems.\nThis patch avoids separate /proc/pid/exe code on nommu systems.  Instead of\nwalking the VMAs to find the first executable file-backed VMA we store a\nreference to the exec\u0027d file in the mm_struct.\n\nThat reference would prevent the filesystem holding the executable file\nfrom being unmounted even after unmapping the VMAs.  So we track the number\nof VM_EXECUTABLE VMAs and drop the new reference when the last one is\nunmapped.  This avoids pinning the mounted filesystem.\n\n[akpm@linux-foundation.org: improve comments]\n[yamamoto@valinux.co.jp: fix dup_mmap]\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc:\"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e93b4ea20adb20f1f1f07f10ba5d7dd739d2843e",
      "tree": "69afed8fb7a13a0dd9e1f1e1dbfc663620d78363",
      "parents": [
        "7249db2c281ac688977ecc6862cdee9969d310e2"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "proc: print more information when removing non-empty directories\n\nThis usually saves one recompile to insert similar printk like below. :)\n\nSample nastygram:\n\nremove_proc_entry: removing non-empty directory \u0027/proc/foo\u0027, leaking at least \u0027bar\u0027\n------------[ cut here ]------------\nWARNING: at fs/proc/generic.c:776 remove_proc_entry+0x18a/0x200()\nModules linked in: foo(-) container fan battery dock sbs ac sbshc backlight ipv6 loop af_packet amd_rng sr_mod i2c_amd8111 i2c_amd756 cdrom i2c_core button thermal processor\nPid: 3034, comm: rmmod Tainted: G   M     2.6.25-rc1 #5\n\nCall Trace:\n [\u003cffffffff80231974\u003e] warn_on_slowpath+0x64/0x90\n [\u003cffffffff80232a6e\u003e] printk+0x4e/0x60\n [\u003cffffffff802d6c8a\u003e] remove_proc_entry+0x18a/0x200\n [\u003cffffffff8045cd88\u003e] mutex_lock_nested+0x1c8/0x2d0\n [\u003cffffffff8025f0f0\u003e] __try_stop_module+0x0/0x40\n [\u003cffffffff8025effd\u003e] sys_delete_module+0x14d/0x200\n [\u003cffffffff8045df3d\u003e] lockdep_sys_exit_thunk+0x35/0x67\n [\u003cffffffff8031c307\u003e] __up_read+0x27/0xa0\n [\u003cffffffff8045decc\u003e] trace_hardirqs_on_thunk+0x35/0x3a\n [\u003cffffffff8020b6ab\u003e] system_call_after_swapgs+0x7b/0x80\n\n---[ end trace 10ef850597e89c54 ]---\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7249db2c281ac688977ecc6862cdee9969d310e2",
      "tree": "7d0c42af5c2cb3724fd18aa3aff8de3c827bfe77",
      "parents": [
        "fdb89bce6c9ccb17dae13ec43a25d2fdd405233f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 29 01:01:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "keys: make key_serial() a function if CONFIG_KEYS\u003dy\n\nMake key_serial() an inline function rather than a macro if CONFIG_KEYS\u003dy.\nThis prevents double evaluation of the key pointer and also provides better\ntype checking.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fdb89bce6c9ccb17dae13ec43a25d2fdd405233f",
      "tree": "1b6c0e38bc194758e7d6ad2cbb509977900591b9",
      "parents": [
        "0b77f5bfb45c13e1e5142374f9d6ca75292252a4"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Tue Apr 29 01:01:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "keys: explicitly include required slab.h header file.\n\nSince these two source files invoke kmalloc(), they should explicitly\ninclude \u003clinux/slab.h\u003e.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b77f5bfb45c13e1e5142374f9d6ca75292252a4",
      "tree": "cf62055536d267e9a4abe6518e5d9f683a1ceb75",
      "parents": [
        "69664cf16af4f31cd54d77948a4baf9c7e0ca7b9"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 29 01:01:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "keys: make the keyring quotas controllable through /proc/sys\n\nMake the keyring quotas controllable through /proc/sys files:\n\n (*) /proc/sys/kernel/keys/root_maxkeys\n     /proc/sys/kernel/keys/root_maxbytes\n\n     Maximum number of keys that root may have and the maximum total number of\n     bytes of data that root may have stored in those keys.\n\n (*) /proc/sys/kernel/keys/maxkeys\n     /proc/sys/kernel/keys/maxbytes\n\n     Maximum number of keys that each non-root user may have and the maximum\n     total number of bytes of data that each of those users may have stored in\n     their keys.\n\nAlso increase the quotas as a number of people have been complaining that it\u0027s\nnot big enough.  I\u0027m not sure that it\u0027s big enough now either, but on the\nother hand, it can now be set in /etc/sysctl.conf.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003ckwc@citi.umich.edu\u003e\nCc: \u003carunsr@cse.iitk.ac.in\u003e\nCc: \u003cdwalsh@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69664cf16af4f31cd54d77948a4baf9c7e0ca7b9",
      "tree": "3ff4ecae21c140a2beed25cfa9e55b788f9814ac",
      "parents": [
        "6b79ccb5144f9ffb4d4596c23e7570238dd12abc"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 29 01:01:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "keys: don\u0027t generate user and user session keyrings unless they\u0027re accessed\n\nDon\u0027t generate the per-UID user and user session keyrings unless they\u0027re\nexplicitly accessed.  This solves a problem during a login process whereby\nset*uid() is called before the SELinux PAM module, resulting in the per-UID\nkeyrings having the wrong security labels.\n\nThis also cures the problem of multiple per-UID keyrings sometimes appearing\ndue to PAM modules (including pam_keyinit) setuiding and causing user_structs\nto come into and go out of existence whilst the session keyring pins the user\nkeyring.  This is achieved by first searching for extant per-UID keyrings\nbefore inventing new ones.\n\nThe serial bound argument is also dropped from find_keyring_by_name() as it\u0027s\nnot currently made use of (setting it to 0 disables the feature).\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003ckwc@citi.umich.edu\u003e\nCc: \u003carunsr@cse.iitk.ac.in\u003e\nCc: \u003cdwalsh@redhat.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b79ccb5144f9ffb4d4596c23e7570238dd12abc",
      "tree": "e674339e9f86c3607304496792b417b0ed66de6f",
      "parents": [
        "da91d2ef9fe4fd84cc0a8a729201d38e40ac9f2e"
      ],
      "author": {
        "name": "Arun Raghavan",
        "email": "arunsr@cse.iitk.ac.in",
        "time": "Tue Apr 29 01:01:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:16 2008 -0700"
      },
      "message": "keys: allow clients to set key perms in key_create_or_update()\n\nThe key_create_or_update() function provided by the keyring code has a default\nset of permissions that are always applied to the key when created.  This\nmight not be desirable to all clients.\n\nHere\u0027s a patch that adds a \"perm\" parameter to the function to address this,\nwhich can be set to KEY_PERM_UNDEF to revert to the current behaviour.\n\nSigned-off-by: Arun Raghavan \u003carunsr@cse.iitk.ac.in\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Satyam Sharma \u003cssatyam@cse.iitk.ac.in\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "da91d2ef9fe4fd84cc0a8a729201d38e40ac9f2e",
      "tree": "091f2781c5256eac28665a1512038fe07227f9b0",
      "parents": [
        "70a5bb72b55e82fbfbf1e22cae6975fac58a1e2d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:16 2008 -0700"
      },
      "message": "keys: switch to proc_create()\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "70a5bb72b55e82fbfbf1e22cae6975fac58a1e2d",
      "tree": "8e6dcaf5630388d81b23845f293789f2d6a3596b",
      "parents": [
        "4a38e122e2cc6294779021ff4ccc784a3997059e"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 29 01:01:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:16 2008 -0700"
      },
      "message": "keys: add keyctl function to get a security label\n\nAdd a keyctl() function to get the security label of a key.\n\nThe following is added to Documentation/keys.txt:\n\n (*) Get the LSM security context attached to a key.\n\n\tlong keyctl(KEYCTL_GET_SECURITY, key_serial_t key, char *buffer,\n\t\t    size_t buflen)\n\n     This function returns a string that represents the LSM security context\n     attached to a key in the buffer provided.\n\n     Unless there\u0027s an error, it always returns the amount of data it could\n     produce, even if that\u0027s too big for the buffer, but it won\u0027t copy more\n     than requested to userspace. If the buffer pointer is NULL then no copy\n     will take place.\n\n     A NUL character is included at the end of the string if the buffer is\n     sufficiently big.  This is included in the returned count.  If no LSM is\n     in force then an empty string will be returned.\n\n     A process must have view permission on the key for this function to be\n     successful.\n\n[akpm@linux-foundation.org: declare keyctl_get_security()]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Paul Moore \u003cpaul.moore@hp.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a38e122e2cc6294779021ff4ccc784a3997059e",
      "tree": "84b401b44e0550b04f831d98a91eacfd7cffb51d",
      "parents": [
        "dceba9944181b1fd5993417b5c8fa0e3dda38f8d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 29 01:01:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:16 2008 -0700"
      },
      "message": "keys: allow the callout data to be passed as a blob rather than a string\n\nAllow the callout data to be passed as a blob rather than a string for\ninternal kernel services that call any request_key_*() interface other than\nrequest_key().  request_key() itself still takes a NUL-terminated string.\n\nThe functions that change are:\n\n\trequest_key_with_auxdata()\n\trequest_key_async()\n\trequest_key_async_with_auxdata()\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Paul Moore \u003cpaul.moore@hp.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dceba9944181b1fd5993417b5c8fa0e3dda38f8d",
      "tree": "697e247a7a99c81af7ba4d7ad5d9cdf9941b3741",
      "parents": [
        "38bbca6b6f164e08a4a9cdfd719fff679af98375"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Tue Apr 29 01:01:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:16 2008 -0700"
      },
      "message": "keys: check starting keyring as part of search\n\nCheck the starting keyring as part of the search to (a) see if that is what\nwe\u0027re searching for, and (b) to check it is still valid for searching.\n\nThe scenario: User in process A does things that cause things to be created in\nits process session keyring.  The user then does an su to another user and\nstarts a new process, B.  The two processes now share the same process session\nkeyring.\n\nProcess B does an NFS access which results in an upcall to gssd.  When gssd\nattempts to instantiate the context key (to be linked into the process session\nkeyring), it is denied access even though it has an authorization key.\n\nThe order of calls is:\n\n   keyctl_instantiate_key()\n      lookup_user_key()\t\t\t\t    (the default: case)\n         search_process_keyrings(current)\n\t    search_process_keyrings(rka-\u003econtext)   (recursive call)\n\t       keyring_search_aux()\n\nkeyring_search_aux() verifies the keys and keyrings underneath the top-level\nkeyring it is given, but that top-level keyring is neither fully validated nor\nchecked to see if it is the thing being searched for.\n\nThis patch changes keyring_search_aux() to:\n1) do more validation on the top keyring it is given and\n2) check whether that top-level keyring is the thing being searched for\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Paul Moore \u003cpaul.moore@hp.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38bbca6b6f164e08a4a9cdfd719fff679af98375",
      "tree": "c4d4839e57bbcbae1ecfa7867b810c6203b0d601",
      "parents": [
        "4220b7fe89f8c0623e09168ab81dd0da2fdadd72"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 29 01:01:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:16 2008 -0700"
      },
      "message": "keys: increase the payload size when instantiating a key\n\nIncrease the size of a payload that can be used to instantiate a key in\nadd_key() and keyctl_instantiate_key().  This permits huge CIFS SPNEGO blobs\nto be passed around.  The limit is raised to 1MB.  If kmalloc() can\u0027t allocate\na buffer of sufficient size, vmalloc() will be tried instead.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Paul Moore \u003cpaul.moore@hp.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4220b7fe89f8c0623e09168ab81dd0da2fdadd72",
      "tree": "14ca87136a0503e9c16ded388ce885f2edb7bc5a",
      "parents": [
        "6970c8eff85dd450e7eff69dad710dcf594b1bb8"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Apr 29 01:01:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:16 2008 -0700"
      },
      "message": "elf: fix shadowed variables in fs/binfmt_elf.c\n\nFix these sparse warings:\nfs/binfmt_elf.c:1749:29: warning: symbol \u0027tmp\u0027 shadows an earlier one\nfs/binfmt_elf.c:1734:28: originally declared here\nfs/binfmt_elf.c:2009:26: warning: symbol \u0027vma\u0027 shadows an earlier one\nfs/binfmt_elf.c:1892:24: originally declared here\n\n[akpm@linux-foundation.org: chose better variable name]\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6970c8eff85dd450e7eff69dad710dcf594b1bb8",
      "tree": "1cba97d1f307fbceecbda22ba36e3d565430c3ba",
      "parents": [
        "eb6900fbfa43cb50391b80b38608e25280705693"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Tue Apr 29 01:01:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:16 2008 -0700"
      },
      "message": "BINFMT: fill_elf_header cleanup - use straight memset first\n\nThis patch does simplify fill_elf_header function by setting\nto zero the whole elf header first. So we fillup the fields\nwe really need only.\n\nbefore:\n   text    data     bss     dec     hex filename\n  11735      80       0   11815    2e27 fs/binfmt_elf.o\n\nafter:\n   text    data     bss     dec     hex filename\n  11710      80       0   11790    2e0e fs/binfmt_elf.o\n\nviola, 25 bytes of text is freed\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb6900fbfa43cb50391b80b38608e25280705693",
      "tree": "ed187f5035d75f827627bdef6ecc2caab9ed2b8d",
      "parents": [
        "adf535eeaca9e3963698df7bc5b4634d6d07f809"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Tue Apr 29 01:01:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:16 2008 -0700"
      },
      "message": "ELF: Use EI_NIDENT instead of numeric value\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "adf535eeaca9e3963698df7bc5b4634d6d07f809",
      "tree": "35c6e78df62115ea04cc763f94a9f44af5c8e925",
      "parents": [
        "74006309c7f09c893c18cbb6f0e19137edd04239"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Apr 29 01:01:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:16 2008 -0700"
      },
      "message": "ipmi: fix return from atca_oem_poweroff_hook\n\nA void returning function returned the return value of another void\nreturning function...\n\nSpotted by sparse.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74006309c7f09c893c18cbb6f0e19137edd04239",
      "tree": "a52475b15c69574b881365173b79b3be9c90ec88",
      "parents": [
        "66ec2d778657b1a58ad26d0bc3b39b92bca69b53"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Apr 29 01:01:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:15 2008 -0700"
      },
      "message": "ipmi: make alloc_recv_msg static\n\nMake the needlessly global ipmi_alloc_recv_msg() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "66ec2d778657b1a58ad26d0bc3b39b92bca69b53",
      "tree": "d0d370857a8518676d4ac58491e68ab6d2d12291",
      "parents": [
        "fa68be0def375c78f723a7d49221f8f6c8194f29"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Tue Apr 29 01:01:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:15 2008 -0700"
      },
      "message": "ipmi: make comment match actual preprocessor check\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa68be0def375c78f723a7d49221f8f6c8194f29",
      "tree": "bc45bfbd81c060425f1462f107128b4040694d69",
      "parents": [
        "95c0ba892470a8f95b3dd3938a722ff64229aed1"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:15 2008 -0700"
      },
      "message": "ipmi: remove -\u003ewrite_proc code\n\nIPMI code theoretically allows -\u003ewrite_proc users, but nobody uses this thus\nfar.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Corey Minyard \u003cminyard@acm.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "95c0ba892470a8f95b3dd3938a722ff64229aed1",
      "tree": "e5015d7213b63f37bd1cdd559c6f7c8fe1bf7ae5",
      "parents": [
        "36c7dc44409ecc4631de25a66f13d67873cfd563"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Tue Apr 29 01:01:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:15 2008 -0700"
      },
      "message": "ipmi: remove unused target and action in Makefile\n\nKbuild system handles this automatically.\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36c7dc44409ecc4631de25a66f13d67873cfd563",
      "tree": "fc86c1df3b33b0933aaa246221d129d8f31906af",
      "parents": [
        "c305e3d38e5f54a48a4618496cdc1ada970ebf68"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "cminyard@mvista.com",
        "time": "Tue Apr 29 01:01:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:15 2008 -0700"
      },
      "message": "IPMI: Style fixes in the misc code\n\nLots of style fixes for the miscellaneous IPMI files.  No functional\nchanges.  Basically fixes everything reported by checkpatch and fixes the\ncomment style.\n\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c305e3d38e5f54a48a4618496cdc1ada970ebf68",
      "tree": "e6c8a145dec75f27f87bd6759cd0504a104f4f0f",
      "parents": [
        "c70d749986f6f1d4e2bb008bfc0c5fc22ec3fc64"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "cminyard@mvista.com",
        "time": "Tue Apr 29 01:01:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:15 2008 -0700"
      },
      "message": "IPMI: Style fixes in the system interface code\n\nLots of style fixes for the IPMI system interface driver.  No functional\nchanges.  Basically fixes everything reported by checkpatch and fixes the\ncomment style.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nCc: Rocky Craig \u003crocky.craig@hp.com\u003e\nCc: Hannes Schulz \u003cschulz@schwaar.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c70d749986f6f1d4e2bb008bfc0c5fc22ec3fc64",
      "tree": "69ddc91cf39938e5ec3ba7924cff78c6760de927",
      "parents": [
        "ba8ff1c61eb119e687b06ca35f7f4ab041bf0422"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "cminyard@mvista.com",
        "time": "Tue Apr 29 01:01:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:15 2008 -0700"
      },
      "message": "ipmi: style fixes in the base code\n\nLots of style fixes for the base IPMI driver.  No functional changes.\nBasically fixes everything reported by checkpatch and fixes the comment\nstyle.\n\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba8ff1c61eb119e687b06ca35f7f4ab041bf0422",
      "tree": "ca90a737973edc3a11e4ec9cd2f68ac02ebb96af",
      "parents": [
        "64959e2d47dead81c6e3ce4864d629d6375e07e2"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "cminyard@mvista.com",
        "time": "Tue Apr 29 01:01:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:15 2008 -0700"
      },
      "message": "IPMI: Convert system interface defines to an enum\n\nConvert the #defines for statistics into an enum in the IPMI system interface\nand remove the unused timeout_restart statistic.  And comment what these\nstatistics mean.\n\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "64959e2d47dead81c6e3ce4864d629d6375e07e2",
      "tree": "6287c1f07475b711258f5684b7013f4014b79093",
      "parents": [
        "73f2bdb975751eb11de0df1970710e6c40badc26"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "cminyard@mvista.com",
        "time": "Tue Apr 29 01:01:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:15 2008 -0700"
      },
      "message": "ipmi: convert locked counters to atomics in the system interface\n\nAtomics are faster and neater than locked counters.\n\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "73f2bdb975751eb11de0df1970710e6c40badc26",
      "tree": "7814f5715169e4f85544fe230963ba4eb2cddf69",
      "parents": [
        "b2655f2615e92e92ca3d55132b32776f1fe1a05c"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "cminyard@mvista.com",
        "time": "Tue Apr 29 01:01:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:15 2008 -0700"
      },
      "message": "IPMI: convert message handler defines to an enum\n\nConvert the #defines for statistics into an enum in the IPMI message\nhandler.\n\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b2655f2615e92e92ca3d55132b32776f1fe1a05c",
      "tree": "09a92d8e56dd2742cdd33bc885cfc6d5187f55c7",
      "parents": [
        "f7caa1b51fa526586c9d9a4582b5f8af440909d7"
      ],
      "author": {
        "name": "Konstantin Baydarov",
        "email": "kbaidarov@ru.mvista.com",
        "time": "Tue Apr 29 01:01:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:14 2008 -0700"
      },
      "message": "ipmi: convert locked counters to atomics\n\nAtomics are a lot more efficient and neat than using a lock.\n\nSigned-off-by: Konstantin Baydarov \u003ckbaidarov@ru.mvista.com\u003e\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7caa1b51fa526586c9d9a4582b5f8af440909d7",
      "tree": "90a84da5bb070681851968c9b98c4de4c619ae1c",
      "parents": [
        "87ebd06f2f362acc3fd866f28a917b53c0ff560a"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "cminyard@mvista.com",
        "time": "Tue Apr 29 01:01:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:14 2008 -0700"
      },
      "message": "ipmi: update driver version\n\nEnough bug fixes and changes that we need a new driver version.\n\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87ebd06f2f362acc3fd866f28a917b53c0ff560a",
      "tree": "6664ec6f7494788bad9e5a46ec4f40bccbe4078d",
      "parents": [
        "5956dce1485efe3816febc24aa52490dcb2be837"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "cminyard@mvista.com",
        "time": "Tue Apr 29 01:01:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:14 2008 -0700"
      },
      "message": "ipmi: don\u0027t print event queue full on every event\n\nDon\u0027t print out that the event queue is full on every event, only\nprint something out when it becomes full or becomes not full.\n\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5956dce1485efe3816febc24aa52490dcb2be837",
      "tree": "292231b7783baaf980a65eacb199a0384446f566",
      "parents": [
        "bda4c30aa6f7dc1483f39ea1dfe37bcab8a96207"
      ],
      "author": {
        "name": "Konstantin Baydarov",
        "email": "kbaidarov@ru.mvista.com",
        "time": "Tue Apr 29 01:01:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:14 2008 -0700"
      },
      "message": "ipmi: don\u0027t grab locks in run-to-completion mode\n\nThis patch prevents deadlocks in IPMI panic handler caused by msg_lock\nin smi_info structure and waiting_msgs_lock in ipmi_smi structure.\n\n[cminyard@mvista.com: remove unnecessary memory barriers]\nSigned-off-by: Konstantin Baydarov \u003ckbaidarov@ru.mvista.com\u003e\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bda4c30aa6f7dc1483f39ea1dfe37bcab8a96207",
      "tree": "760c538139c5b41ef54a27d62e5a8a1b01cf1c60",
      "parents": [
        "4ea18425436e7c72716b7f8d314775f399821195"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "cminyard@mvista.com",
        "time": "Tue Apr 29 01:01:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:14 2008 -0700"
      },
      "message": "ipmi: run to completion fixes\n\nThe \"run_to_completion\" mode was somewhat broken.  Locks need to be avoided in\nrun_to_completion mode, and it shouldn\u0027t be used by normal users, just\ninternally for panic situations.\n\nThis patch removes locks in run_to_completion mode and removes the user call\nfor setting the mode.  The only user was the poweroff code, but it was easily\nconverted to use the polling interface.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ea18425436e7c72716b7f8d314775f399821195",
      "tree": "dc722c409987a9959168174ca9f613e5713787f6",
      "parents": [
        "02fdb36ae7f55db7757b623acd27a62d5000d755"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "cminyard@mvista.com",
        "time": "Tue Apr 29 01:01:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:14 2008 -0700"
      },
      "message": "ipmi: hold ATTN until upper layer ready\n\nHold handling of ATTN until the upper layer has reported that it is\nready.\n\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nCc: Patrick Schoeller \u003cPatrick.Schoeller@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02fdb36ae7f55db7757b623acd27a62d5000d755",
      "tree": "9d96036a7ee174a2828fbb7497a9f365f4f148a1",
      "parents": [
        "6013f67fc1a4c7fa5bcab2d39c1eaa3e260c7ac1"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Tue Apr 29 01:01:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:14 2008 -0700"
      },
      "message": "ipc: sysvsem: refuse clone(CLONE_SYSVSEM|CLONE_NEWIPC)\n\nCLONE_NEWIPC|CLONE_SYSVSEM interaction isn\u0027t handled properly.  This can cause\na kernel memory corruption.  CLONE_NEWIPC must detach from the existing undo\nlists.\n\nFix, part 3: refuse clone(CLONE_SYSVSEM|CLONE_NEWIPC).\n\nWith unshare, specifying CLONE_SYSVSEM means unshare the sysvsem.  So it seems\nreasonable that CLONE_NEWIPC without CLONE_SYSVSEM would just imply\nCLONE_SYSVSEM.\n\nHowever with clone, specifying CLONE_SYSVSEM means *share* the sysvsem.  So\ncalling clone(CLONE_SYSVSEM|CLONE_NEWIPC) is explicitly asking for something\nwe can\u0027t allow.  So return -EINVAL in that case.\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6013f67fc1a4c7fa5bcab2d39c1eaa3e260c7ac1",
      "tree": "33f61a88048e659359864ec10104e304d8a97a73",
      "parents": [
        "9edff4ab1f8d82675277a04e359d0ed8bf14a7b7"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Tue Apr 29 01:00:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:14 2008 -0700"
      },
      "message": "ipc: sysvsem: force unshare(CLONE_SYSVSEM) when CLONE_NEWIPC\n\nsys_unshare(CLONE_NEWIPC) doesn\u0027t handle the undo lists properly, this can\ncause a kernel memory corruption.  CLONE_NEWIPC must detach from the existing\nundo lists.\n\nFix, part 2: perform an implicit CLONE_SYSVSEM in CLONE_NEWIPC.  CLONE_NEWIPC\ncreates a new IPC namespace, the task cannot access the existing semaphore\narrays after the unshare syscall.  Thus the task can/must detach from the\nexisting undo list entries, too.\n\nThis fixes the kernel corruption, because it makes it impossible that\nundo records from two different namespaces are in sysvsem.undo_list.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9edff4ab1f8d82675277a04e359d0ed8bf14a7b7",
      "tree": "05e67ca13f78b0eff666a4424e03dd6d0fa964c7",
      "parents": [
        "44f564a4bf6ac70f2a84806203045cf515bc9367"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Tue Apr 29 01:00:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:14 2008 -0700"
      },
      "message": "ipc: sysvsem: implement sys_unshare(CLONE_SYSVSEM)\n\nsys_unshare(CLONE_NEWIPC) doesn\u0027t handle the undo lists properly, this can\ncause a kernel memory corruption.  CLONE_NEWIPC must detach from the existing\nundo lists.\n\nFix, part 1: add support for sys_unshare(CLONE_SYSVSEM)\n\nThe original reason to not support it was the potential (inevitable?)\nconfusion due to the fact that sys_unshare(CLONE_SYSVSEM) has the\ninverse meaning of clone(CLONE_SYSVSEM).\n\nOur two most reasonable options then appear to be (1) fully support\nCLONE_SYSVSEM, or (2) continue to refuse explicit CLONE_SYSVSEM,\nbut always do it anyway on unshare(CLONE_SYSVSEM).  This patch does\n(1).\n\nChangelog:\n\tApr 16: SEH: switch to Manfred\u0027s alternative patch which\n\t\tremoves the unshare_semundo() function which\n\t\talways refused CLONE_SYSVSEM.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "44f564a4bf6ac70f2a84806203045cf515bc9367",
      "tree": "46b97186393b7473711c840d4f5e5ce722a5e37d",
      "parents": [
        "a5f75e7f256f75759ec3d6dbef0ba932f1b397d2"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Tue Apr 29 01:00:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:14 2008 -0700"
      },
      "message": "ipc: add definitions of USHORT_MAX and others\n\nAdd definitions of USHORT_MAX and others into kernel.  ipc uses it and slub\nimplementation might also use it.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Zhang Yanmin \u003cyanmin.zhang@intel.com\u003e\nReviewed-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: \"Pierre Peiffer\" \u003cpeifferp@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5f75e7f256f75759ec3d6dbef0ba932f1b397d2",
      "tree": "89b2ed22547a9fca11f87eb6cba68bb84fcf1b8a",
      "parents": [
        "8f4a3809c18ff3107bdbb1fabe3f4e5d2a928321"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Tue Apr 29 01:00:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:14 2008 -0700"
      },
      "message": "IPC: consolidate all xxxctl_down() functions\n\nsemctl_down(), msgctl_down() and shmctl_down() are used to handle the same set\nof commands for each kind of IPC.  They all start to do the same job (they\nretrieve the ipc and do some permission checks) before handling the commands\non their own.\n\nThis patch proposes to consolidate this by moving these same pieces of code\ninto one common function called ipcctl_pre_down().\n\nIt simplifies a little these xxxctl_down() functions and increases a little\nthe maintainability.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f4a3809c18ff3107bdbb1fabe3f4e5d2a928321",
      "tree": "444ec369565052fde4b349c40b610caa69c93a25",
      "parents": [
        "016d7132f246a05e6e34ccba157fa278a96c45ae"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Tue Apr 29 01:00:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:13 2008 -0700"
      },
      "message": "IPC: introduce ipc_update_perm()\n\nThe IPC_SET command performs the same permission setting for all IPCs.  This\npatch introduces a common ipc_update_perm() function to update these\npermissions and makes use of it for all IPCs.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "016d7132f246a05e6e34ccba157fa278a96c45ae",
      "tree": "a7003a30b2c2e4a399f6394a860b10fbd1afa4da",
      "parents": [
        "21a4826a7c49bddebbe8d83d232f6416f1697ff0"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Tue Apr 29 01:00:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:13 2008 -0700"
      },
      "message": "IPC: get rid of the use *_setbuf structure.\n\nAll IPCs make use of an intermetiate *_setbuf structure to handle the IPC_SET\ncommand.  This is not really needed and, moreover, it complicates a little bit\nthe code.\n\nThis patch gets rid of the use of it and uses directly the semid64_ds/\nmsgid64_ds/shmid64_ds structure.\n\nIn addition of removing one struture declaration, it also simplifies and\nimproves a little bit the common 64-bits path.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "21a4826a7c49bddebbe8d83d232f6416f1697ff0",
      "tree": "bfcad90f4b6e29910a2571c749319d1323a7756a",
      "parents": [
        "522bb2a2b420a0c1d0fcd037aa4e1bb9e2bca447"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Tue Apr 29 01:00:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:13 2008 -0700"
      },
      "message": "IPC/semaphores: remove one unused parameter from semctl_down()\n\nsemctl_down() takes one unused parameter: semnum.  This patch proposes to get\nrid of it.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "522bb2a2b420a0c1d0fcd037aa4e1bb9e2bca447",
      "tree": "6023efd860b807e7d50a20eebeaebe3e21d0285b",
      "parents": [
        "a0d092fc2df845a43cc4847836818f49331d0a5c"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Tue Apr 29 01:00:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:13 2008 -0700"
      },
      "message": "IPC/semaphores: move the rwmutex handling inside semctl_down\n\nsemctl_down is called with the rwmutex (the one which protects the list of\nipcs) taken in write mode.\n\nThis patch moves this rwmutex taken in write-mode inside semctl_down.\n\nThis has the advantages of reducing a little bit the window during which this\nrwmutex is taken, clarifying sys_semctl, and finally of having a coherent\nbehaviour with [shm|msg]ctl_down\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a0d092fc2df845a43cc4847836818f49331d0a5c",
      "tree": "f47b94bfa2e18beadff39930c9386764e45bc4ec",
      "parents": [
        "8d4cc8b5c5e5bac526618ee704f3cfdcad954e0c"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Tue Apr 29 01:00:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:13 2008 -0700"
      },
      "message": "IPC/message queues: introduce msgctl_down\n\nCurrently, sys_msgctl is not easy to read.\n\nThis patch tries to improve that by introducing the msgctl_down function to\nhandle all commands requiring the rwmutex to be taken in write mode (ie\nIPC_SET and IPC_RMID for now).  It is the equivalent function of semctl_down\nfor message queues.\n\nThis greatly changes the readability of sys_msgctl and also harmonizes the way\nthese commands are handled among all IPCs.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d4cc8b5c5e5bac526618ee704f3cfdcad954e0c",
      "tree": "21258b10175f63703ace0a88402e513c6046d2d8",
      "parents": [
        "6ff3797218ef41c248c83184101ce1aedc227333"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Tue Apr 29 01:00:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:13 2008 -0700"
      },
      "message": "IPC/shared memory: introduce shmctl_down\n\nCurrently, the way the different commands are handled in sys_shmctl introduces\nsome duplicated code.\n\nThis patch introduces the shmctl_down function to handle all the commands\nrequiring the rwmutex to be taken in write mode (ie IPC_SET and IPC_RMID for\nnow).  It is the equivalent function of semctl_down for shared memory.\n\nThis removes some duplicated code for handling these both commands and\nharmonizes the way they are handled among all IPCs.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ff3797218ef41c248c83184101ce1aedc227333",
      "tree": "0957a7f808b2a4f6383dab6408a2873f9a87f495",
      "parents": [
        "6546bc4279241e8fa432de1bb63a4f6f791fd669"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Tue Apr 29 01:00:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:13 2008 -0700"
      },
      "message": "IPC/semaphores: code factorisation\n\nTrivial patch which adds some small locking functions and makes use of them to\nfactorize some part of the code and to make it cleaner.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6546bc4279241e8fa432de1bb63a4f6f791fd669",
      "tree": "308f5c1621b1019a44800622ffc468a372f09434",
      "parents": [
        "91cfb2b4b57816de0c96de417b3238249f0b125f"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Tue Apr 29 01:00:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:13 2008 -0700"
      },
      "message": "ipc: re-enable msgmni automatic recomputing msgmni if set to negative\n\nThe enhancement as asked for by Yasunori: if msgmni is set to a negative\nvalue, register it back into the ipcns notifier chain.\n\nA new interface has been added to the notification mechanism:\nnotifier_chain_cond_register() registers a notifier block only if not already\nregistered.  With that new interface we avoid taking care of the states\nchanges in procfs.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91cfb2b4b57816de0c96de417b3238249f0b125f",
      "tree": "a7f10f4445c6ffeec0e4cad5a2ea5dae3d0faf8b",
      "parents": [
        "e2c284d8a87f95df9b47c6a13168a844ca7c03e9"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Tue Apr 29 01:00:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:13 2008 -0700"
      },
      "message": "ipc: do not recompute msgmni anymore if explicitly set by user\n\nMake msgmni not recomputed anymore upon ipc namespace creation / removal or\nmemory add/remove, as soon as it has been set from userland.\n\nAs soon as msgmni is explicitly set via procfs or sysctl(), the associated\ncallback routine is unregistered from the ipc namespace notifier chain.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e2c284d8a87f95df9b47c6a13168a844ca7c03e9",
      "tree": "6eb27ea254d47c94dbfb33da23314dd69479e56e",
      "parents": [
        "424450c1dbe72b6e2637e91108417d7d9580c4c3"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Tue Apr 29 01:00:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:12 2008 -0700"
      },
      "message": "ipc: recompute msgmni on ipc namespace creation/removal\n\nIntroduce a notification mechanism that aims at recomputing msgmni each time\nan ipc namespace is created or removed.\n\nThe ipc namespace notifier chain already defined for memory hotplug management\nis used for that purpose too.\n\nEach time a new ipc namespace is allocated or an existing ipc namespace is\nremoved, the ipcns notifier chain is notified.  The callback routine for each\nregistered ipc namespace is then activated in order to recompute msgmni for\nthat namespace.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "424450c1dbe72b6e2637e91108417d7d9580c4c3",
      "tree": "472fd07a519cdfd594a15da5d2167d8de937e95e",
      "parents": [
        "b6b337ad1c1d6fe11b09b35d75464b84b3e11f07"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Tue Apr 29 01:00:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:12 2008 -0700"
      },
      "message": "ipc: invoke the ipcns notifier chain as a work item\n\nMake the memory hotplug chain\u0027s mutex held for a shorter time: when memory is\nofflined or onlined a work item is added to the global workqueue.  When the\nwork item is run, it notifies the ipcns notifier chain with the\nIPCNS_MEMCHANGED event.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6b337ad1c1d6fe11b09b35d75464b84b3e11f07",
      "tree": "df174a23a827cc43db76900d1ddbbef3ac9ddc90",
      "parents": [
        "0c40ba4fd64f98e7a5cba8ffaedbd68642a85700"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Tue Apr 29 01:00:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:12 2008 -0700"
      },
      "message": "ipc: recompute msgmni on memory add / remove\n\nIntroduce the registration of a callback routine that recomputes msg_ctlmni\nupon memory add / remove.\n\nA single notifier block is registered in the hotplug memory chain for all the\nipc namespaces.\n\nSince the ipc namespaces are not linked together, they have their own\nnotification chain: one notifier_block is defined per ipc namespace.\n\nEach time an ipc namespace is created (removed) it registers (unregisters) its\nnotifier block in (from) the ipcns chain.  The callback routine registered in\nthe memory chain invokes the ipcns notifier chain with the IPCNS_LOWMEM event.\n Each callback routine registered in the ipcns namespace, in turn, recomputes\nmsgmni for the owning namespace.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c40ba4fd64f98e7a5cba8ffaedbd68642a85700",
      "tree": "8aba0ac7b89f436d73c1cf74058315aee8b6025f",
      "parents": [
        "4d89dc6ab2711258bfd12c72d753f3ad56b244e2"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Tue Apr 29 01:00:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:12 2008 -0700"
      },
      "message": "ipc: define the slab_memory_callback priority as a constant\n\nThis is a trivial patch that defines the priority of slab_memory_callback in\nthe callback chain as a constant.  This is to prepare for next patch in the\nseries.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d89dc6ab2711258bfd12c72d753f3ad56b244e2",
      "tree": "a971c08eab247a7d69ae5fe54c4e0bdfef5d29ba",
      "parents": [
        "f7bf3df8be72d98afa84f5ff183e14c1ba1e560d"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Tue Apr 29 01:00:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:12 2008 -0700"
      },
      "message": "ipc: scale msgmni to the number of ipc namespaces\n\nSince all the namespaces see the same amount of memory (the total one) this\npatch introduces a new variable that counts the ipc namespaces and divides\nmsg_ctlmni by this counter.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7bf3df8be72d98afa84f5ff183e14c1ba1e560d",
      "tree": "7946f8b139da1690508f11347929a9bd31f12429",
      "parents": [
        "48dea404ed01869313f1908cca8a15774dcd8ee5"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Tue Apr 29 01:00:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:12 2008 -0700"
      },
      "message": "ipc: scale msgmni to the amount of lowmem\n\nOn large systems we\u0027d like to allow a larger number of message queues.  In\nsome cases up to 32K.  However simply setting MSGMNI to a larger value may\ncause problems for smaller systems.\n\nThe first patch of this series introduces a default maximum number of message\nqueue ids that scales with the amount of lowmem.\n\nSince msgmni is per namespace and there is no amount of memory dedicated to\neach namespace so far, the second patch of this series scales msgmni to the\nnumber of ipc namespaces too.\n\nSince msgmni depends on the amount of memory, it becomes necessary to\nrecompute it upon memory add/remove.  In the 4th patch, memory hotplug\nmanagement is added: a notifier block is registered into the memory hotplug\nnotifier chain for the ipc subsystem.  Since the ipc namespaces are not linked\ntogether, they have their own notification chain: one notifier_block is\ndefined per ipc namespace.  Each time an ipc namespace is created (removed) it\nregisters (unregisters) its notifier block in (from) the ipcns chain.  The\ncallback routine registered in the memory chain invokes the ipcns notifier\nchain with the IPCNS_MEMCHANGE event.  Each callback routine registered in the\nipcns namespace, in turn, recomputes msgmni for the owning namespace.\n\nThe 5th patch makes it possible to keep the memory hotplug notifier chain\u0027s\nlock for a lesser amount of time: instead of directly notifying the ipcns\nnotifier chain upon memory add/remove, a work item is added to the global\nworkqueue.  When activated, this work item is the one who notifies the ipcns\nnotifier chain.\n\nSince msgmni depends on the number of ipc namespaces, it becomes necessary to\nrecompute it upon ipc namespace creation / removal.  The 6th patch uses the\nipc namespace notifier chain for that purpose: that chain is notified each\ntime an ipc namespace is created or removed.  This makes it possible to\nrecompute msgmni for all the namespaces each time one of them is created or\nremoved.\n\nWhen msgmni is explicitely set from userspace, we should avoid recomputing it\nupon memory add/remove or ipcns creation/removal.  This is what the 7th patch\ndoes: it simply unregisters the ipcns callback routine as soon as msgmni has\nbeen changed from procfs or sysctl().\n\nEven if msgmni is set by hand, it should be possible to make it back\nautomatically recomputed upon memory add/remove or ipcns creation/removal.\nThis what is achieved in patch 8: if set to a negative value, msgmni is added\nback to the ipcns notifier chain, making it automatically recomputed again.\n\nThis patch:\n\nCompute msg_ctlmni to make it scale with the amount of lowmem.  msg_ctlmni is\nnow set to make the message queues occupy 1/32 of the available lowmem.\n\nSome cleaning has also been done for the MSGPOOL constant: the msgctl man page\nsays it\u0027s not used, but it also defines it as a size in bytes (the code\nexpresses it in Kbytes).\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "48dea404ed01869313f1908cca8a15774dcd8ee5",
      "tree": "c4c50c9032556cf96b21f8704e4544998769b6b9",
      "parents": [
        "02d15c43225afb2ebb6d700144285175a1c4abd9"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Tue Apr 29 01:00:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:12 2008 -0700"
      },
      "message": "IPC: use ipc_buildid() directly from ipc_addid()\n\nBy continuing to consolidate a little the IPC code, each id can be built\ndirectly in ipc_addid() instead of having it built from each callers of\nipc_addid()\n\nAnd I also remove shm_addid() in order to have, as much as possible, the\nsame code for shm/sem/msg.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02d15c43225afb2ebb6d700144285175a1c4abd9",
      "tree": "fd0e21f29c7f026514cbb36b2ecdcbfdf341763a",
      "parents": [
        "cb9fbc5c37b69ac584e61d449cfd590f5ae1f90d"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Apr 29 01:00:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:12 2008 -0700"
      },
      "message": "doc: fix DMA-API function parameters\n\nFix kernel bugzilla #10388.\n\nDMA-API.txt has wrong argument type for some functions.  It uses struct device\nbut should use struct pci_dev.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb9fbc5c37b69ac584e61d449cfd590f5ae1f90d",
      "tree": "3079752ba33535a21db08bed1390aca9136fadfe",
      "parents": [
        "309df0c503c35fbb5a09537fcbb1f4967b9ca489"
      ],
      "author": {
        "name": "Arthur Kepner",
        "email": "akepner@sgi.com",
        "time": "Tue Apr 29 01:00:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:12 2008 -0700"
      },
      "message": "IB: expand ib_umem_get() prototype\n\nAdd a new parameter, dmasync, to the ib_umem_get() prototype.  Use dmasync \u003d 1\nwhen mapping user-allocated CQs with ib_umem_get().\n\nSigned-off-by: Arthur Kepner \u003cakepner@sgi.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "309df0c503c35fbb5a09537fcbb1f4967b9ca489",
      "tree": "56a9df627a229bd64b934608b5f84d20bdaabf3a",
      "parents": [
        "a75b0a2f68d3937f96ed39525e4750601483e3b4"
      ],
      "author": {
        "name": "Arthur Kepner",
        "email": "akepner@sgi.com",
        "time": "Tue Apr 29 01:00:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:12 2008 -0700"
      },
      "message": "dma/ia64: update ia64 machvecs, swiotlb.c\n\nChange all ia64 machvecs to use the new dma_*map*_attrs() interfaces.\nImplement the old dma_*map_*() interfaces in terms of the corresponding new\ninterfaces.  For ia64/sn, make use of one dma attribute,\nDMA_ATTR_WRITE_BARRIER.  Introduce swiotlb_*map*_attrs() functions.\n\nSigned-off-by: Arthur Kepner \u003cakepner@sgi.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a75b0a2f68d3937f96ed39525e4750601483e3b4",
      "tree": "1a84f2ef16515880f00e2db9a931299f22a07071",
      "parents": [
        "74bc7ceebfa1c84ddd3a843ebfb56df013bf7ef5"
      ],
      "author": {
        "name": "Arthur Kepner",
        "email": "akepner@sgi.com",
        "time": "Tue Apr 29 01:00:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:11 2008 -0700"
      },
      "message": "dma: document dma_*map*_attrs() interfaces\n\nDocument the new dma_*map*_attrs() functions.\n\n[markn@au1.ibm.com: fix up for dma-add-dma_map_attrs-interfaces and update docs]\nSigned-off-by: Arthur Kepner \u003cakepner@sgi.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Mark Nelson \u003cmarkn@au1.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74bc7ceebfa1c84ddd3a843ebfb56df013bf7ef5",
      "tree": "548155250fbc7410273125019c70a7c5c085e895",
      "parents": [
        "d2ba7e2ae206e9ab24e8937d99d0d5513bfd08e5"
      ],
      "author": {
        "name": "Arthur Kepner",
        "email": "akepner@sgi.com",
        "time": "Tue Apr 29 01:00:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:11 2008 -0700"
      },
      "message": "dma: add dma_*map*_attrs() interfaces\n\nIntroduce new interfaces, dma_*map*_attrs(), for passing architecture-specific\nattributes when memory is mapped and unmapped for DMA.  Give the interfaces\ndefault implementations which ignore attributes.  Also introduce the\ndma_{set|get}_attr() interfaces for setting and retrieving individual\nattributes.  Define one attribute, DMA_ATTR_WRITE_BARRIER, in anticipation of\nits use by ia64/sn.  Select whether architectures implement arch-specific\nversions of the dma_*map*_attrs() interfaces via HAVE_DMA_ATTRS in Kconfig.\n\n[markn@au1.ibm.com: dma_{set,get}_attr() have to be static inline]\nSigned-off-by: Arthur Kepner \u003cakepner@sgi.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Mark Nelson \u003cmarkn@au1.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2ba7e2ae206e9ab24e8937d99d0d5513bfd08e5",
      "tree": "4cdd43bbf03885705fed5c80e982d19d397afaeb",
      "parents": [
        "1e35eaa2d86419470f3f3aed9acd85b8addff25c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Apr 29 01:00:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:11 2008 -0700"
      },
      "message": "simplify cpu_hotplug_begin()/put_online_cpus()\n\ncpu_hotplug_begin() must be always called under cpu_add_remove_lock, this\nmeans that only one process can be cpu_hotplug.active_writer.  So we don\u0027t\nneed the cpu_hotplug.writer_queue, we can wake up the -\u003eactive_writer\ndirectly.\n\nAlso, fix the comment.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nAcked-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e35eaa2d86419470f3f3aed9acd85b8addff25c",
      "tree": "4cea78468e4789dcd64a4c38100e010994f1b4ff",
      "parents": [
        "00dfcaf748f46de89efe41baa298b5cf9adda67e"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Apr 29 01:00:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:11 2008 -0700"
      },
      "message": "cleanup_workqueue_thread: remove the unneeded \"cpu\" parameter\n\ncleanup_workqueue_thread() doesn\u0027t need the second argument, remove it.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00dfcaf748f46de89efe41baa298b5cf9adda67e",
      "tree": "4420dbfac9ba213e1604320cf9615a505ca909fd",
      "parents": [
        "786083667e0ced85ce17c4c0b6c57a9f47c5b9f2"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Apr 29 01:00:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:11 2008 -0700"
      },
      "message": "workqueues: shrink cpu_populated_map when CPU dies\n\nWhen cpu_populated_map was introduced, it was supposed that cwq-\u003ethread can\nsurvive after CPU_DEAD, that is why we never shrink cpu_populated_map.\n\nThis is not very nice, we can safely remove the already dead CPU from the map.\n The only required change is that destroy_workqueue() must hold the hotplug\nlock until it destroys all cwq-\u003ethread\u0027s, to protect the cpu_populated_map.\nWe could make the local copy of cpu mask and drop the lock, but\nsizeof(cpumask_t) may be very large.\n\nAlso, fix the comment near queue_work().  Unless _cpu_down() happens we do\nguarantee the cpu-affinity of the work_struct, and we have users which rely on\nthis.\n\n[akpm@linux-foundation.org: repair comment]\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "786083667e0ced85ce17c4c0b6c57a9f47c5b9f2",
      "tree": "4519c51c3ec7d093fe0bafbbd67204a6f7b773b3",
      "parents": [
        "addf2c739d9015d3e9c0500b58a3af051cd58ea7"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Tue Apr 29 01:00:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:11 2008 -0700"
      },
      "message": "Cpuset hardwall flag: add a mem_hardwall flag to cpusets\n\nThis flag provides the hardwalling properties of mem_exclusive, without\nenforcing the exclusivity.  Either mem_hardwall or mem_exclusive is sufficient\nto prevent GFP_KERNEL allocations from passing outside the cpuset\u0027s assigned\nnodes.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "addf2c739d9015d3e9c0500b58a3af051cd58ea7",
      "tree": "0dec81fe642817c32c8c6b3a77dc72fb41c1a145",
      "parents": [
        "9e0c914cabc6d75d2eafdff00671a2ad683a5e3c"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Tue Apr 29 01:00:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:11 2008 -0700"
      },
      "message": "Cpuset hardwall flag: switch cpusets to use the bulk cgroup_add_files() API\n\nCurrently the cpusets mem_exclusive flag is overloaded to mean both\n\"no-overlapping\" and \"no GFP_KERNEL allocations outside this cpuset\".\n\nThese patches add a new mem_hardwall flag with just the allocation restriction\npart of the mem_exclusive semantics, without breaking backwards-compatibility\nfor those who continue to use just mem_exclusive.  Additionally, the cgroup\ncontrol file registration for cpusets is cleaned up to reduce boilerplate.\n\nThis patch:\n\nThis change tidies up the cpusets control file definitions, and reduces the\namount of boilerplate required to add/change control files in the future.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e0c914cabc6d75d2eafdff00671a2ad683a5e3c",
      "tree": "5986ff43c7af515b34520069efce556b529ea5d9",
      "parents": [
        "1faf8e40a8ab12ae1f7f474965e6fb031e43f8d6"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Apr 29 01:00:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:11 2008 -0700"
      },
      "message": "kernel/cpuset.c: make 3 functions static\n\nMake the following needlessly global functions static:\n\n- cpuset_test_cpumask()\n- cpuset_change_cpumask()\n- cpuset_do_move_task()\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1faf8e40a8ab12ae1f7f474965e6fb031e43f8d6",
      "tree": "7448f437cc527d4396269945e070c841e0f1603d",
      "parents": [
        "33327948782bcef89c78eb47af86b6a2df9fd4a5"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Apr 29 01:00:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:11 2008 -0700"
      },
      "message": "memcg: remove redundant initialization in mem_cgroup_create()\n\n*mem has been zeroed, that means mem-\u003einfo has already been filled with 0.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33327948782bcef89c78eb47af86b6a2df9fd4a5",
      "tree": "c1045eaee1b63a6be37a09c969e2433a5c595c33",
      "parents": [
        "4a56d02e34baedbea5eb1fd558f2b856b8c7db1e"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Apr 29 01:00:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:11 2008 -0700"
      },
      "message": "memcgroup: use vmalloc for mem_cgroup allocation\n\nOn ia64, this kmalloc() requires order-4 pages.  But this is not necessary to\nbe physically contiguous.  For big mem_cgroup, vmalloc is better.  For small\nones, kmalloc is used.\n\n[akpm@linux-foundation.org: simplification]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a56d02e34baedbea5eb1fd558f2b856b8c7db1e",
      "tree": "212dc2ed8562014963f2bd8b66578a5aa36f426c",
      "parents": [
        "3eae90c3cdd4e762d0f4f5e939c98780fccded57"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Tue Apr 29 01:00:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:11 2008 -0700"
      },
      "message": "memcgroup: make the memory controller more desktop responsive\n\nThis patch makes the memory controller more responsive on my desktop.\n\n1. Set all cached pages as inactive.  We were by default marking all pages\n   as active, thus forcing us to go through two passes for reclaiming pages\n\n2. Remove congestion_wait(), since we already have that logic in\n   do_try_to_free_pages()\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3eae90c3cdd4e762d0f4f5e939c98780fccded57",
      "tree": "d5b6f138e8464827b7b882fc6acea3916aca8957",
      "parents": [
        "29f2a4dac856e9433a502b05b40e8e90385d8e27"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Apr 29 01:00:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:10 2008 -0700"
      },
      "message": "memcg: remove redundant function calls\n\nremove_list/add_list uses page_cgroup_zoneinfo() in it.\n\nSo, it\u0027s called twice before and after lock.\n\n\tmz \u003d page_cgroup_zoneinfo();\n\tlock();\n\tmz \u003d page_cgroup_zoneinfo();\n\t....\n\tunlock();\n\nAnd address of mz never changes.\n\nThis is not good. This patch fixes this behavior.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29f2a4dac856e9433a502b05b40e8e90385d8e27",
      "tree": "242772a246a6a5170ed5183d3fe3944a6f36a169",
      "parents": [
        "85cc59db12724e1248f5e4841e61339cf485d5c7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Apr 29 01:00:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:10 2008 -0700"
      },
      "message": "memcgroup: implement failcounter reset\n\nThis is a very common requirement from people using the resource accounting\nfacilities (not only memcgroup but also OpenVZ beancounters).  They want to\nput the cgroup in an initial state without re-creating it.\n\nFor example after re-configuring a group people want to observe how this new\nconfiguration fits the group needs without saving the previous failcnt value.\n\nMerge two resets into one mem_cgroup_reset() function to demonstrate how\nmultiplexing work.\n\nBesides, I have plans to move the files, that correspond to res_counter to the\nres_counter.c file and somehow \"import\" them into controller.  I don\u0027t know\nhow to make it gracefully yet, but merging resets of max_usage and failcnt in\none function will be there for sure.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "85cc59db12724e1248f5e4841e61339cf485d5c7",
      "tree": "960340cafba30181a1e2f60c93cd54a6fdb637ff",
      "parents": [
        "b6ac57d50a375aa2f267e1b2b56c46564a936d00"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Apr 29 01:00:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:10 2008 -0700"
      },
      "message": "memcgroup: use triggers in force_empty and max_usage files\n\nThese two files are essentially event callbacks.  They do not care about the\ncontents of the string, but only about the fact of the write itself.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6ac57d50a375aa2f267e1b2b56c46564a936d00",
      "tree": "51aca62f4b9961f2105672b3429723ca73d78386",
      "parents": [
        "faebe9fdf35058bb8421e4c09f6f70994eaf8db2"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Tue Apr 29 01:00:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:10 2008 -0700"
      },
      "message": "memcgroup: move memory controller allocations to their own slabs\n\nMove the memory controller data structure page_cgroup to its own slab cache.\nIt saves space on the system, allocations are not necessarily pushed to order\nof 2 and should provide performance benefits.  Users who disable the memory\ncontroller can also double check that the memory controller is not allocating\npage_cgroup\u0027s.\n\nNOTE: Hugh Dickins brought up the issue of whether we want to mark page_cgroup\nas __GFP_MOVABLE or __GFP_RECLAIMABLE.  I don\u0027t think there is an easy answer\nat the moment.  page_cgroup\u0027s are associated with user pages, they can be\nreclaimed once the user page has been reclaimed, so it might make sense to\nmark them as __GFP_RECLAIMABLE.  For now, I am leaving the marking to default\nvalues that the slab allocator uses.\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Sudhir Kumar \u003cskumar@linux.vnet.ibm.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "faebe9fdf35058bb8421e4c09f6f70994eaf8db2",
      "tree": "36042017bf8871253d86f1fe691ed630b179a1c9",
      "parents": [
        "c84872e168d10926acd2dee975d19172eef79252"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Apr 29 01:00:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:10 2008 -0700"
      },
      "message": "memcgroups: add a document describing the resource counter abstraction\n\nThe resource counter is supposed to facilitate the resource accounting of\narbitrary resource (and it already does this for memory controller).\n\nHowever, it is about to be used in other resources controllers (swap, kernel\nmemory, networking, etc), so provide a doc describing how to work with it.\nThis will eliminate all the possible future duplications in the appropriate\ncontrollers\u0027 docs.\n\nFixed errors pointed out by Randy.\n\n[akpm@linux-foundation.org: fix documentation tpyo]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c84872e168d10926acd2dee975d19172eef79252",
      "tree": "c28f4f87ad38b524fe2a4c1e0e590bea3aacd92a",
      "parents": [
        "cf475ad28ac35cc9ba612d67158f29b73b38b05d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Apr 29 01:00:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:10 2008 -0700"
      },
      "message": "memcgroup: add the max_usage member on the res_counter\n\nThis field is the maximal value of the usage one since the counter creation\n(or since the latest reset).\n\nTo reset this to the usage value simply write anything to the appropriate\ncgroup file.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf475ad28ac35cc9ba612d67158f29b73b38b05d",
      "tree": "2c7cd568d00357bd42643ea602884e731cc24f26",
      "parents": [
        "29486df325e1fe6e1764afcb19e3370804c2b002"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Tue Apr 29 01:00:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:10 2008 -0700"
      },
      "message": "cgroups: add an owner to the mm_struct\n\nRemove the mem_cgroup member from mm_struct and instead adds an owner.\n\nThis approach was suggested by Paul Menage.  The advantage of this approach\nis that, once the mm-\u003eowner is known, using the subsystem id, the cgroup\ncan be determined.  It also allows several control groups that are\nvirtually grouped by mm_struct, to exist independent of the memory\ncontroller i.e., without adding mem_cgroup\u0027s for each controller, to\nmm_struct.\n\nA new config option CONFIG_MM_OWNER is added and the memory resource\ncontroller selects this config option.\n\nThis patch also adds cgroup callbacks to notify subsystems when mm-\u003eowner\nchanges.  The mm_cgroup_changed callback is called with the task_lock() of\nthe new task held and is called just prior to changing the mm-\u003eowner.\n\nI am indebted to Paul Menage for the several reviews of this patchset and\nhelping me make it lighter and simpler.\n\nThis patch was tested on a powerpc box, it was compiled with both the\nMM_OWNER config turned on and off.\n\nAfter the thread group leader exits, it\u0027s moved to init_css_state by\ncgroup_exit(), thus all future charges from runnings threads would be\nredirected to the init_css_set\u0027s subsystem.\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Sudhir Kumar \u003cskumar@linux.vnet.ibm.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: Hirokazu Takahashi \u003ctaka@valinux.co.jp\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e,\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29486df325e1fe6e1764afcb19e3370804c2b002",
      "tree": "d69a96bb829940f3ae5171fde481edb20a9e468a",
      "parents": [
        "28fd5dfc12bde391981dfdcf20755952b6e916af"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Tue Apr 29 01:00:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:10 2008 -0700"
      },
      "message": "cgroups: introduce cft-\u003eread_seq()\n\nIntroduce a read_seq() helper in cftype, which uses seq_file to print out\nlists.  Use it in the devices cgroup.  Also split devices.allow into two\nfiles, so now devices.deny and devices.allow are the ones to use to manipulate\nthe whitelist, while devices.list outputs the cgroup\u0027s current whitelist.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28fd5dfc12bde391981dfdcf20755952b6e916af",
      "tree": "ce0637c3f8c04d802b467cd518a9d0c076f1eeea",
      "parents": [
        "e8d55fdeb882cfcb5e8db5a5ce16edfba78aafc5"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Apr 29 01:00:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:10 2008 -0700"
      },
      "message": "cgroups: remove the css_set linked-list\n\nNow we can run through the hash table instead of running through the\nlinked-list.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8d55fdeb882cfcb5e8db5a5ce16edfba78aafc5",
      "tree": "0c0a7338d8adb2aaf4310eb89d1679c802ea617d",
      "parents": [
        "472b1053f3c319cc60bfb2a0bb062fed77a93eb6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Apr 29 01:00:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:10 2008 -0700"
      },
      "message": "cgroups: simplify init_subsys()\n\nWe are at system boot and there is only 1 cgroup group (i,e, init_css_set), so\nwe don\u0027t need to run through the css_set linked list.  Neither do we need to\nrun through the task list, since no processes have been created yet.\n\nAlso referring to a comment in cgroup.h:\n\nstruct css_set\n{\n\t...\n\t/*\n\t * Set of subsystem states, one for each subsystem. This array\n\t * is immutable after creation apart from the init_css_set\n\t * during subsystem registration (at boot time).\n\t */\n\tstruct cgroup_subsys_state *subsys[CGROUP_SUBSYS_COUNT];\n}\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "472b1053f3c319cc60bfb2a0bb062fed77a93eb6",
      "tree": "2ef88bfdb7e397d3718a1bed38f13194f894097e",
      "parents": [
        "08ce5f16ee466ffc5bf243800deeecd77d9eaf50"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Apr 29 01:00:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:09 2008 -0700"
      },
      "message": "cgroups: use a hash table for css_set finding\n\nWhen we attach a process to a different cgroup, the css_set linked-list will\nbe run through to find a suitable existing css_set to use.  This patch\nimplements a hash table for better performance.\n\nThe following benchmarks have been tested:\n\nFor N in 1, 5, 10, 50, 100, 500, 1000, create N cgroups with one sleeping\ntask in each, and then move an additional task through each cgroup in\nturn.\n\nHere is a test result:\n\nN\tLoop\torig - Time(s)\thash - Time(s)\n----------------------------------------------\n1\t10000\t1.201231728\t1.196311177\n5\t2000\t1.065743872\t1.040566424\n10\t1000\t0.991054735\t0.986876440\n50\t200\t0.976554203\t0.969608733\n100\t100\t0.998504680\t0.969218270\n500\t20\t1.157347764\t0.962602963\n1000\t10\t1.619521852\t1.085140172\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "08ce5f16ee466ffc5bf243800deeecd77d9eaf50"
}
