)]}'
{
  "log": [
    {
      "commit": "f7a8db89c1f42e504bb12d2ae399cd96f755a7db",
      "tree": "0b98001ee746784e95a0809a8499483ace2450d5",
      "parents": [
        "6f84b4dbe92e3ffb00f4d8cbe9a31b5be5ecd8ca",
        "c49b9f295e513753e6d9bb4444ba502f1aa59b29"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 08 19:52:43 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 08 19:52:43 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  tproxy: fixe a possible read from an invalid location in the socket match\n  zd1211rw: use unaligned safe memcmp() in-place of compare_ether_addr()\n  mac80211: use unaligned safe memcmp() in-place of compare_ether_addr()\n  ipw2200: fix netif_*_queue() removal regression\n  iwlwifi: clean key table in iwl_clear_stations_table function\n  tcp: tcp_vegas ssthresh bug fix\n  can: omit received RTR frames for single ID filter lists\n  ATM: CVE-2008-5079: duplicate listen() on socket corrupts the vcc table\n  netx-eth: initialize per device spinlock\n  tcp: make urg+gso work for real this time\n  enc28j60: Fix sporadic packet loss (corrected again)\n  hysdn: fix writing outside the field on 64 bits\n  b1isa: fix b1isa_exit() to really remove registered capi controllers\n  can: Fix CAN_(EFF|RTR)_FLAG handling in can_filter\n  Phonet: do not dump addresses from other namespaces\n  netlabel: Fix a potential NULL pointer dereference\n  bnx2: Add workaround to handle missed MSI.\n  xfrm: Fix kernel panic when flush and dump SPD entries\n"
    },
    {
      "commit": "f2f1fa78a155524b849edf359e42a3001ea652c0",
      "tree": "8d38fc76e48fc219e393ee57ee5f76843b735258",
      "parents": [
        "24920a79a27dd28e67088bbfcf36746d15587f4d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 05 14:49:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 05 14:49:18 2008 -0800"
      },
      "message": "Enforce a minimum SG_IO timeout\n\nThere\u0027s no point in having too short SG_IO timeouts, since if the\ncommand does end up timing out, we\u0027ll end up through the reset sequence\nthat is several seconds long in order to abort the command that timed\nout.\n\nAs a result, shorter timeouts than a few seconds simply do not make\nsense, as the recovery would be longer than the timeout itself.\n\nAdd a BLK_MIN_SG_TIMEOUT to match the existign BLK_DEFAULT_SG_TIMEOUT.\n\nSuggested-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc9161e54d0dbf799beff9692ea1cc6237162b85",
      "tree": "07c08b1bd60cb3b8188aa3470fdf86612019c8ce",
      "parents": [
        "fd4ce1acd0f8558033b1a6968001552bd7671e6d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Nov 05 14:58:46 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 04 04:22:58 2008 -0500"
      },
      "message": "[PATCH 2/2] documnt FMODE_ constants\n\nMake sure all FMODE_ constants are documents, and ensure a coherent\nstyle for the already existing comments.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fd4ce1acd0f8558033b1a6968001552bd7671e6d",
      "tree": "7ce54f2b2c967fe2315917ffa2eb8eb7d47e7a2b",
      "parents": [
        "ebbefc011e56bd85b4745d01e5b8d7d05d95ed5d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Nov 05 14:58:42 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 04 04:22:57 2008 -0500"
      },
      "message": "[PATCH 1/2] kill FMODE_NDELAY_NOW\n\nUpdate FMODE_NDELAY before each ioctl call so that we can kill the\nmagic FMODE_NDELAY_NOW.  It would be even better to do this directly\nin setfl(), but for that we\u0027d need to have FMODE_NDELAY for all files,\nnot just block special files.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d253eee20195b25e298bf162a6e72f14bf4803e5",
      "tree": "4fd5fef75d52ecae3f41dbd9ae62436e917e1699",
      "parents": [
        "bd7df219202f44e71e2e975a0fb5f76f946c1aef"
      ],
      "author": {
        "name": "Oliver Hartkopp",
        "email": "oliver@hartkopp.net",
        "time": "Wed Dec 03 15:52:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 03 15:52:35 2008 -0800"
      },
      "message": "can: Fix CAN_(EFF|RTR)_FLAG handling in can_filter\n\nDue to a wrong safety check in af_can.c it was not possible to filter\nfor SFF frames with a specific CAN identifier without getting the\nsame selected CAN identifier from a received EFF frame also.\n\nThis fix has a minimum (but user visible) impact on the CAN filter\nAPI and therefore the CAN version is set to a new date.\n\nIndeed the \u0027old\u0027 API is still working as-is. But when now setting\nCAN_(EFF|RTR)_FLAG in can_filter.can_mask you might get less traffic\nthan before - but still the stuff that you expected to get for your\ndefined filter ...\n\nThanks to Kurt Van Dijck for pointing at this issue and for the review.\n\nSigned-off-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nAcked-by: Kurt Van Dijck \u003ckurt.van.dijck@eia.be\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e435ac26e3f951d83338ed3d4ab7dc0fe0055bc",
      "tree": "8f208a3093de1a314a981ae47e5ef92a5909c13b",
      "parents": [
        "53a08807c01989c6847bb135d8d43f61c5dfdda5"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Wed Dec 03 12:55:08 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Dec 03 12:55:55 2008 +0100"
      },
      "message": "block: fix setting of max_segment_size and seg_boundary mask\n\nFix setting of max_segment_size and seg_boundary mask for stacked md/dm\ndevices.\n\nWhen stacking devices (LVM over MD over SCSI) some of the request queue\nparameters are not set up correctly in some cases by default, namely\nmax_segment_size and and seg_boundary mask.\n\nIf you create MD device over SCSI, these attributes are zeroed.\n\nProblem become when there is over this mapping next device-mapper mapping\n- queue attributes are set in DM this way:\n\nrequest_queue   max_segment_size  seg_boundary_mask\nSCSI                65536             0xffffffff\nMD RAID1                0                      0\nLVM                 65536                 -1 (64bit)\n\nUnfortunately bio_add_page (resp.  bio_phys_segments) calculates number of\nphysical segments according to these parameters.\n\nDuring the generic_make_request() is segment cout recalculated and can\nincrease bio-\u003ebi_phys_segments count over the allowed limit.  (After\nbio_clone() in stack operation.)\n\nThi is specially problem in CCISS driver, where it produce OOPS here\n\n    BUG_ON(creq-\u003enr_phys_segments \u003e MAXSGENTRIES);\n\n(MAXSEGENTRIES is 31 by default.)\n\nSometimes even this command is enough to cause oops:\n\n  dd iflag\u003ddirect if\u003d/dev/\u003cvg\u003e/\u003clv\u003e of\u003d/dev/null bs\u003d128000 count\u003d10\n\nThis command generates bios with 250 sectors, allocated in 32 4k-pages\n(last page uses only 1024 bytes).\n\nFor LVM layer, it allocates bio with 31 segments (still OK for CCISS),\nunfortunatelly on lower layer it is recalculated to 32 segments and this\nviolates CCISS restriction and triggers BUG_ON().\n\nThe patch tries to fix it by:\n\n * initializing attributes above in queue request constructor\n   blk_queue_make_request()\n\n * make sure that blk_queue_stack_limits() inherits setting\n\n (DM uses its own function to set the limits because it\n blk_queue_stack_limits() was introduced later.  It should probably switch\n to use generic stack limit function too.)\n\n * sets the default seg_boundary value in one place (blkdev.h)\n\n * use this mask as default in DM (instead of -1, which differs in 64bit)\n\nBugs related to this:\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d471639\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d8672\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nReviewed-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Mike Miller \u003cmike.miller@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "53a08807c01989c6847bb135d8d43f61c5dfdda5",
      "tree": "e2297de901dc82a0336e6af28b594864792c585d",
      "parents": [
        "bf91db18ac2852a3ff39fe25ff56c5557c0fff78"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Dec 03 12:41:26 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Dec 03 12:41:26 2008 +0100"
      },
      "message": "block: internal dequeue shouldn\u0027t start timer\n\nblkdev_dequeue_request() and elv_dequeue_request() are equivalent and\nboth start the timeout timer.  Barrier code dequeues the original\nbarrier request but doesn\u0027t passes the request itself to lower level\ndriver, only broken down proxy requests; however, as the original\nbarrier code goes through the same dequeue path and timeout timer is\nstarted on it.  If barrier sequence takes long enough, this timer\nexpires but the low level driver has no idea about this request and\noops follows.\n\nTimeout timer shouldn\u0027t have been started on the original barrier\nrequest as it never goes through actual IO.  This patch unexports\nelv_dequeue_request(), which has no external user anyway, and makes it\noperate on elevator proper w/o adding the timer and make\nblkdev_dequeue_request() call elv_dequeue_request() and add timer.\nInternal users which don\u0027t pass the request to driver - barrier code\nand end_that_request_last() - are converted to use\nelv_dequeue_request().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Mike Anderson \u003candmike@linux.vnet.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e1825e7515010053e44287e6e78f9078cd1916a9",
      "tree": "6c0a2a64926b8063ba934b7083f5f43011b43990",
      "parents": [
        "5d279dcf98350ac3cbfa43c6aa62f4305408f2df",
        "44ae98b53961e7c8c1d47bbffaf08c4f7bf29249"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 02 15:55:05 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 02 15:55:05 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (30 commits)\n  MAINTAINERS: add netdev to ATM\n  ATM: horizon, fix hrz_probe fail path\n  pppol2tp: Add missing sock_put() in pppol2tp_release()\n  net: Fix soft lockups/OOM issues w/ unix garbage collector\n  macvlan: don\u0027t broadcast PAUSE frames to macvlan devices\n  Phonet: fix oops in phonet_address_del() on non-Phonet device\n  netfilter: ctnetlink: fix GFP_KERNEL allocation under spinlock\n  sungem: Fix PCS_MIICTRL register write in gem_init_phy().\n  net: make skb_truesize_bug() call WARN()\n  net: hp-plus uses eip_poll\n  net/wireless/reg.c: fix bad WARN_ON in if statement\n  ath5k: disable beacon filter when station is not associated\n  ath5k: fix Security issue in DebugFS part of ath5k\n  ath9k: correct expected max RX buffer size\n  ath9k: Fix SW-IOMMU bounce buffer starvation\n  mac80211 : Fix setting ad-hoc mode and non-ibss channel\n  iwlagn: fix DMA sync\n  phylib: Add Vitesse VSC8221 SGMII PHY\n  rose: zero length frame filtering in af_rose.c\n  bridge: netfilter: fix update_pmtu crash with GRE\n  ...\n"
    },
    {
      "commit": "e2e29831cc463f4be61d4e36b8699ae7e071a685",
      "tree": "d5c40f6a328e07edb2db7186bef3a6c932c404fb",
      "parents": [
        "9a689bc4f09f8b89f88e65b1b0a2ea780b4f28de",
        "95964018d53f479529dfdc2b46fe30c0a14a00e0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 02 15:53:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 02 15:53:10 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:\n  alim15x3: fix sparse warning\n  ide: remove dead code from drive_is_ready()\n  ide: fix build for DEBUG_PM\n  ide: respect current DMA setting during resume\n  ide: add SAMSUNG SP0822N with firmware WA100-10 to ivb_list[]\n  amd74xx: workaround unreliable AltStatus register for nVidia controllers\n  ide: fix the ide_release_lock imbalance\n"
    },
    {
      "commit": "1b79cd04fab80be61dcd2732e2423aafde9a4c1c",
      "tree": "b9ff5f0de1c0ef011ac62096218d2fd4bc70c56b",
      "parents": [
        "061e41fdb5047b1fb161e89664057835935ca1d2"
      ],
      "author": {
        "name": "Junjiro R. Okajima",
        "email": "hooanon05@yahoo.co.jp",
        "time": "Tue Dec 02 10:31:46 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 02 15:50:40 2008 -0800"
      },
      "message": "nfsd: fix vm overcommit crash fix #2\n\nThe previous patch from Alan Cox (\"nfsd: fix vm overcommit crash\",\ncommit 731572d39fcd3498702eda4600db4c43d51e0b26) fixed the problem where\nknfsd crashes on exported shmemfs objects and strict overcommit is set.\n\nBut the patch forgot supporting the case when CONFIG_SECURITY is\ndisabled.\n\nThis patch copies a part of his fix which is mainly for detecting a bug\nearlier.\n\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Junjiro R. Okajima \u003chooanon05@yahoo.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": "6636487e8dc49a1c43fed336bdc4a2f3d7ce6881",
      "tree": "f23a8f126cd63a199907bd8c20f3d2f4423ca006",
      "parents": [
        "f9e3326dce0ef117308872cd234b903aa19aa40f"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Dec 02 20:40:03 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Dec 02 20:40:03 2008 +0100"
      },
      "message": "amd74xx: workaround unreliable AltStatus register for nVidia controllers\n\nIt seems that on some nVidia controllers using AltStatus register\ncan be unreliable so default to Status register if the PCI device\nis in Compatibility Mode.  In order to achieve this:\n\n* Add ide_pci_is_in_compatibility_mode() inline helper to \u003clinux/ide.h\u003e.\n\n* Add IDE_HFLAG_BROKEN_ALTSTATUS host flag and set it in amd74xx host\n  driver for nVidia controllers in Compatibility Mode.\n\n* Teach actual_try_to_identify() and drive_is_ready() about the new flag.\n\nThis fixes the regression caused by removal of CONFIG_IDEPCI_SHARE_IRQ\nconfig option in 2.6.25 and using AltStatus register unconditionally when\navailable (kernel.org bugs #11659 and #10216).\n\n[ Moreover for CONFIG_IDEPCI_SHARE_IRQ\u003dy (which is what most people\n  and distributions use) it never worked correctly. ]\n\nThanks to Remy LABENE and Lars Winterfeld for help with debugging the problem.\n\nMore info at:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11659\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d10216\n\nReported-by: Remy LABENE \u003cremy.labene@free.fr\u003e\nTested-by: Remy LABENE \u003cremy.labene@free.fr\u003e\nTested-by: Lars Winterfeld \u003clars.winterfeld@tu-ilmenau.de\u003e\nAcked-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "6ff2d39b91aec3dcae951afa982059e3dd9b49dc",
      "tree": "8d480975d95adf85f3a87dd478e36e4ac0b0edd0",
      "parents": [
        "1d678f365dae28420fa7329a2a35390b3582678d"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Mon Dec 01 13:14:02 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 19:55:25 2008 -0800"
      },
      "message": "lib/idr.c: fix rcu related race with idr_find\n\n2nd part of the fixes needed for\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11796.\n\nWhen the idr tree is either grown or shrunk, then the update to the number\nof layers and the top pointer were not atomic.  This race caused crashes.\n\nThe attached patch fixes that by replicating the layers counter in each\nlayer, thus idr_find doesn\u0027t need idp-\u003elayers anymore.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Clement Calmels \u003ccboulte@gmail.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ef9964e6d1b911b78709f144000aacadd0ebc21",
      "tree": "30667d0a2f8e53973ff48d2c02df48bbc6fe74aa",
      "parents": [
        "b7d271df873c5121a4ca1c70dea126b5920ec2f1"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Mon Dec 01 13:13:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 19:55:24 2008 -0800"
      },
      "message": "epoll: introduce resource usage limits\n\nIt has been thought that the per-user file descriptors limit would also\nlimit the resources that a normal user can request via the epoll\ninterface.  Vegard Nossum reported a very simple program (a modified\nversion attached) that can make a normal user to request a pretty large\namount of kernel memory, well within the its maximum number of fds.  To\nsolve such problem, default limits are now imposed, and /proc based\nconfiguration has been introduced.  A new directory has been created,\nnamed /proc/sys/fs/epoll/ and inside there, there are two configuration\npoints:\n\n  max_user_instances \u003d Maximum number of devices - per user\n\n  max_user_watches   \u003d Maximum number of \"watched\" fds - per user\n\nThe current default for \"max_user_watches\" limits the memory used by epoll\nto store \"watches\", to 1/32 of the amount of the low RAM.  As example, a\n256MB 32bit machine, will have \"max_user_watches\" set to roughly 90000.\nThat should be enough to not break existing heavy epoll users.  The\ndefault value for \"max_user_instances\" is set to 128, that should be\nenough too.\n\nThis also changes the userspace, because a new error code can now come out\nfrom EPOLL_CTL_ADD (-ENOSPC).  The EMFILE from epoll_create() was already\nlisted, so that should be ok.\n\n[akpm@linux-foundation.org: use get_current_user()]\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nReported-by: Vegard Nossum \u003cvegardno@ifi.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": "7ac01108e71ca8ccc2ded4ee98035d0e5db9c981",
      "tree": "afb50d33254337c73d450687cfeae18aa096b6c0",
      "parents": [
        "4bc2a9bf8cbb63f3bb9797b2bf30b2316bd27a2b",
        "ac70a964b0e22a95af3628c344815857a01461b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 11:23:33 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 11:23:33 2008 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  libata: blacklist Seagate drives which time out FLUSH_CACHE when used with NCQ\n  [libata] pata_rb532_cf: fix signature of the xfer function\n  [libata] pata_rb532_cf: fix and rename register definitions\n  ata_piix: add borked Tecra M4 to broken suspend list\n"
    },
    {
      "commit": "4bc2a9bf8cbb63f3bb9797b2bf30b2316bd27a2b",
      "tree": "a02a03a4c75e3da0843168456124f60afae49200",
      "parents": [
        "6a1214113090905aca6a492fc8ef10d84c608a69",
        "b0f43dcca8a1f46e17b26d10f3cb1b297ebfb44e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 11:01:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 11:01:54 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  IB/mlx4: Fix MTT leakage in resize CQ\n  IB/ehca: Fix problem with generated flush work completions\n  IB/ehca: Change misleading error message on memory hotplug\n  mlx4_core: Save/restore default port IB capability mask\n"
    },
    {
      "commit": "ac70a964b0e22a95af3628c344815857a01461b7",
      "tree": "c5711139bd95053b9b5c8897e3f7cd50b8331141",
      "parents": [
        "03f60840fa462e92220b093f778b2426ceab23af"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Nov 27 13:36:48 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Mon Dec 01 13:49:27 2008 -0500"
      },
      "message": "libata: blacklist Seagate drives which time out FLUSH_CACHE when used with NCQ\n\nSome recent Seagate harddrives have firmware bug which causes FLUSH\nCACHE to timeout under certain circumstances if NCQ is being used.\nThis can be worked around by disabling NCQ and fixed by updating the\nfirmware.  Implement ATA_HORKAGE_FIRMWARE_UPDATE and blacklist these\ndevices.\n\nThe wiki page has been updated to contain information on this issue.\n\n  http://ata.wiki.kernel.org/index.php/Known_issues\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "4ec8f077e4dd51f713984669781e7b568b8c41e2",
      "tree": "4c951595e2824b19ca9d9c7190a6046481322c14",
      "parents": [
        "a6e470fd1bbfea8e51d2b10b0713e802b782f19a",
        "af38d90d6a5e135b546a3f86222ba2ad895ba4ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 30 16:39:06 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 30 16:39:06 2008 -0800"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-arm\n\n* master.kernel.org:/home/rmk/linux-2.6-arm:\n  Allow architectures to override copy_user_highpage()\n  [ARM] pxa/palmtx: misc fixes to use generic GPIO API\n  ARM: OMAP: Fixes for suspend / resume GPIO wake-up handling\n  [ARM] pxa/corgi: update default config to exclude tosa from being built\n  [ARM] pxa/pcm990: use negative number for an invalid GPIO in camera data\n  ARM: OMAP: Typo fix for clock_allow_idle\n  ARM: OMAP: Remove broken LCD driver for SX1\n  [ARM] 5335/1: pxa25x_udc: Fix is_vbus_present to return 1 or 0\n  [ARM] pxa/MioA701: bluetooth resume fix\n  [ARM] pxa/MioA701: fix memory corruption.\n"
    },
    {
      "commit": "72244c0e68dd664b894adb34a8772a6e4673b4c1",
      "tree": "5fa5bd9ff7b3d52f9b89898c0f12cfe163b72987",
      "parents": [
        "93b10052f9146eab4e848b474baf10c2ea22acb3",
        "2ed1cdcf9a83205d1343f29b630abff232eaa72c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 30 13:06:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 30 13:06:20 2008 -0800"
      },
      "message": "Merge branch \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  irq.h: fix missing/extra kernel-doc\n  genirq: __irq_set_trigger: change pr_warning to pr_debug\n  irq: fix typo\n  x86: apic honour irq affinity which was set in early boot\n  genirq: fix the affinity setting in setup_irq\n  genirq: keep affinities set from userspace across free/request_irq()\n"
    },
    {
      "commit": "96b8936a9ed08746e47081458a5eb9e43a751e24",
      "tree": "d1a738fdd95dda182f99c90fe3079283e0b07307",
      "parents": [
        "16799c6a4d5156c6ee185b51b7586cca1aae0800"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Nov 25 08:10:03 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 30 11:00:15 2008 -0800"
      },
      "message": "remove __ARCH_WANT_COMPAT_SYS_PTRACE\n\nAll architectures now use the generic compat_sys_ptrace, as should every\nnew architecture that needs 32bit compat (if we\u0027ll ever get another).\n\nRemove the now superflous __ARCH_WANT_COMPAT_SYS_PTRACE define, and also\nkill a comment about __ARCH_SYS_PTRACE that was added after\n__ARCH_SYS_PTRACE was already gone.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02d0e6753d8ab0173b63338157929e52eac86d12",
      "tree": "c878c5dd9a1829ed1359fdd3a010272253801823",
      "parents": [
        "d3a307f32ec3554739033762672e533e2d246dae"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Nov 22 17:38:34 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 30 10:03:38 2008 -0800"
      },
      "message": "hotplug_memory_notifier section annotation\n\nSame as for hotplug_cpu - we want static notifier_block in there in meminitdata,\nto avoid false positives whenever it\u0027s used.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31168481c32c8a485e1003af9433124dede57f8d",
      "tree": "0d0bb17b8f45cb3b176acc63dee4f2a57aaca500",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Nov 22 17:33:24 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 30 10:03:35 2008 -0800"
      },
      "message": "meminit section warnings\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a5aa622dd4cd22b5e0fe83e4a9c0c768d4e2dea",
      "tree": "95e975a4959a890bd1050645b04488272aa4643c",
      "parents": [
        "4ffaf869c7780bbdfc11291e5fd4b61dde662b1c"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Fri Nov 28 21:29:46 2008 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Nov 28 21:29:46 2008 -0800"
      },
      "message": "mlx4_core: Save/restore default port IB capability mask\n\nCommit 7ff93f8b (\"mlx4_core: Multiple port type support\") introduced\nsupport for different port types.  As part of that support, SET_PORT\nis invoked to set the port type during driver startup.  However, as a\nside-effect, for IB ports the invocation of this command also sets the\nport\u0027s capability mask to zero (losing the default value set by FW).\n\nTo fix this, get the default ib port capabilities (via a MAD_IFC Port\nInfo query) during driver startup, and save them for use in the\nmlx4_SET_PORT command when setting the port-type to Infiniband.\n\nThis patch fixes problems with subnet manager (SM) failover such as\n\u003chttps://bugs.openfabrics.org/show_bug.cgi?id\u003d1183\u003e, which occurred\nbecause the IsTrapSupported bit in the capability mask was zeroed.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "487ff32082a9bd7489d8185cf7d7a2fdf18a22fa",
      "tree": "59f792ef961670026b2e71a88453fed1136aba02",
      "parents": [
        "6417a917b564106dcf2b8f42687f92ad94635ddd"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Thu Nov 27 11:13:58 2008 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Nov 27 23:39:48 2008 +0000"
      },
      "message": "Allow architectures to override copy_user_highpage()\n\nWith aliasing VIPT cache support, the ARM implementation of\nclear_user_page() and copy_user_page() sets up a temporary kernel space\nmapping such that we have the same cache colour as the userspace page.\nThis avoids having to consider any userspace aliases from this operation.\n\nHowever, when highmem is enabled, kmap_atomic() have to setup mappings.\nThe copy_user_highpage() and clear_user_highpage() call these functions\nbefore delegating the copies to copy_user_page() and clear_user_page().\n\nThe effect of this is that each of the *_user_highpage() functions setup\ntheir own kmap mapping, followed by the *_user_page() functions setting\nup another mapping.  This is rather wasteful.\n\nThankfully, copy_user_highpage() can be overriden by architectures by\ndefining __HAVE_ARCH_COPY_USER_HIGHPAGE.  However, replacement of\nclear_user_highpage() is more difficult because its inline definition\nis not conditional.  It seems that you\u0027re expected to define\n__HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE and provide a replacement\n__alloc_zeroed_user_highpage() implementation instead.\n\nThe allocation itself is fine, so we don\u0027t want to override that.  What\nwe really want to do is to override clear_user_highpage() with our own\nversion which doesn\u0027t kmap_atomic() unnecessarily.\n\nOther VIPT architectures (PARISC and SH) would also like to override\nthis function as well.\n\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "f79fca55f9a6fe54635ad32ddc8a38f92a94ec30",
      "tree": "15343dc8350f4e3f902c20c13b43a86e366f843f",
      "parents": [
        "b54ad409fd09a395b839fb81f300880d76861c0e"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Nov 24 16:06:17 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 16:06:17 2008 -0800"
      },
      "message": "netfilter: xtables: add missing const qualifier to xt_tgchk_param\n\nWhen entryinfo was a standalone parameter to functions, it used to be\n\"const void *\". Put the const back in.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2ed1cdcf9a83205d1343f29b630abff232eaa72c",
      "tree": "97304ced8d05b5b7497e37b661abbce4540f0194",
      "parents": [
        "9f1441644213e5f6faa150206399fe511eba2eb6"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Nov 21 16:59:57 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 10:52:45 2008 +0100"
      },
      "message": "irq.h: fix missing/extra kernel-doc\n\nImpact: fix kernel-doc build\n\nFix missing \u0026 excess irq.h kernel-doc:\n\nWarning(include/linux/irq.h:182): No description found for parameter \u0027irq\u0027\nWarning(include/linux/irq.h:182): Excess struct/union/enum/typedef member \u0027affinity_entry\u0027 description in \u0027irq_desc\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f1441644213e5f6faa150206399fe511eba2eb6",
      "tree": "e59d4e6475aa84f7e821a8c607deb56b85e19e95",
      "parents": [
        "3ff68a6a106c362a6811d3e51bced58e6fc87de7",
        "13d428afc007fcfcd6deeb215618f54cf9c0cae6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 10:52:33 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 10:52:33 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28-rc6\u0027 into irq/urgent\n"
    },
    {
      "commit": "f481891fdc49d3d1b8a9674a1825d183069a805f",
      "tree": "4f027a1321dcd06165394d0a23e49df51c8befc1",
      "parents": [
        "ac97b9f9a2d0b83488e0bbcb8517b229d5c9b142"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Wed Nov 19 15:36:30 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 19 18:49:58 2008 -0800"
      },
      "message": "cpuset: update top cpuset\u0027s mems after adding a node\n\nAfter adding a node into the machine, top cpuset\u0027s mems isn\u0027t updated.\n\nBy reviewing the code, we found that the update function\n\n  cpuset_track_online_nodes()\n\nwas invoked after node_states[N_ONLINE] changes.  It is wrong because\nN_ONLINE just means node has pgdat, and if node has/added memory, we use\nN_HIGH_MEMORY.  So, We should invoke the update function after\nnode_states[N_HIGH_MEMORY] changes, just like its commit says.\n\nThis patch fixes it.  And we use notifier of memory hotplug instead of\ndirect calling of cpuset_track_online_nodes().\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nAcked-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Paul Menage \u003cmenage@google.com\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de11defebf00007677fb7ee91d9b089b78786fbb",
      "tree": "8219faf1b7992be77a612e778c2573c55f56cf19",
      "parents": [
        "cf7ee554f3a324e98181b0ea249d9d5be3a0acb8"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Nov 19 15:36:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 19 18:49:57 2008 -0800"
      },
      "message": "reintroduce accept4\n\nIntroduce a new accept4() system call.  The addition of this system call\nmatches analogous changes in 2.6.27 (dup3(), evenfd2(), signalfd4(),\ninotify_init1(), epoll_create1(), pipe2()) which added new system calls\nthat differed from analogous traditional system calls in adding a flags\nargument that can be used to access additional functionality.\n\nThe accept4() system call is exactly the same as accept(), except that\nit adds a flags bit-mask argument.  Two flags are initially implemented.\n(Most of the new system calls in 2.6.27 also had both of these flags.)\n\nSOCK_CLOEXEC causes the close-on-exec (FD_CLOEXEC) flag to be enabled\nfor the new file descriptor returned by accept4().  This is a useful\nsecurity feature to avoid leaking information in a multithreaded\nprogram where one thread is doing an accept() at the same time as\nanother thread is doing a fork() plus exec().  More details here:\nhttp://udrepper.livejournal.com/20407.html \"Secure File Descriptor Handling\",\nUlrich Drepper).\n\nThe other flag is SOCK_NONBLOCK, which causes the O_NONBLOCK flag\nto be enabled on the new open file description created by accept4().\n(This flag is merely a convenience, saving the use of additional calls\nfcntl(F_GETFL) and fcntl (F_SETFL) to achieve the same result.\n\nHere\u0027s a test program.  Works on x86-32.  Should work on x86-64, but\nI (mtk) don\u0027t have a system to hand to test with.\n\nIt tests accept4() with each of the four possible combinations of\nSOCK_CLOEXEC and SOCK_NONBLOCK set/clear in \u0027flags\u0027, and verifies\nthat the appropriate flags are set on the file descriptor/open file\ndescription returned by accept4().\n\nI tested Ulrich\u0027s patch in this thread by applying against 2.6.28-rc2,\nand it passes according to my test program.\n\n/* test_accept4.c\n\n  Copyright (C) 2008, Linux Foundation, written by Michael Kerrisk\n       \u003cmtk.manpages@gmail.com\u003e\n\n  Licensed under the GNU GPLv2 or later.\n*/\n#define _GNU_SOURCE\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n#include \u003csys/socket.h\u003e\n#include \u003cnetinet/in.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cstring.h\u003e\n\n#define PORT_NUM 33333\n\n#define die(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)\n\n/**********************************************************************/\n\n/* The following is what we need until glibc gets a wrapper for\n  accept4() */\n\n/* Flags for socket(), socketpair(), accept4() */\n#ifndef SOCK_CLOEXEC\n#define SOCK_CLOEXEC    O_CLOEXEC\n#endif\n#ifndef SOCK_NONBLOCK\n#define SOCK_NONBLOCK   O_NONBLOCK\n#endif\n\n#ifdef __x86_64__\n#define SYS_accept4 288\n#elif __i386__\n#define USE_SOCKETCALL 1\n#define SYS_ACCEPT4 18\n#else\n#error \"Sorry -- don\u0027t know the syscall # on this architecture\"\n#endif\n\nstatic int\naccept4(int fd, struct sockaddr *sockaddr, socklen_t *addrlen, int flags)\n{\n   printf(\"Calling accept4(): flags \u003d %x\", flags);\n   if (flags !\u003d 0) {\n       printf(\" (\");\n       if (flags \u0026 SOCK_CLOEXEC)\n           printf(\"SOCK_CLOEXEC\");\n       if ((flags \u0026 SOCK_CLOEXEC) \u0026\u0026 (flags \u0026 SOCK_NONBLOCK))\n           printf(\" \");\n       if (flags \u0026 SOCK_NONBLOCK)\n           printf(\"SOCK_NONBLOCK\");\n       printf(\")\");\n   }\n   printf(\"\\n\");\n\n#if USE_SOCKETCALL\n   long args[6];\n\n   args[0] \u003d fd;\n   args[1] \u003d (long) sockaddr;\n   args[2] \u003d (long) addrlen;\n   args[3] \u003d flags;\n\n   return syscall(SYS_socketcall, SYS_ACCEPT4, args);\n#else\n   return syscall(SYS_accept4, fd, sockaddr, addrlen, flags);\n#endif\n}\n\n/**********************************************************************/\n\nstatic int\ndo_test(int lfd, struct sockaddr_in *conn_addr,\n       int closeonexec_flag, int nonblock_flag)\n{\n   int connfd, acceptfd;\n   int fdf, flf, fdf_pass, flf_pass;\n   struct sockaddr_in claddr;\n   socklen_t addrlen;\n\n   printf(\"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\\n\");\n\n   connfd \u003d socket(AF_INET, SOCK_STREAM, 0);\n   if (connfd \u003d\u003d -1)\n       die(\"socket\");\n   if (connect(connfd, (struct sockaddr *) conn_addr,\n               sizeof(struct sockaddr_in)) \u003d\u003d -1)\n       die(\"connect\");\n\n   addrlen \u003d sizeof(struct sockaddr_in);\n   acceptfd \u003d accept4(lfd, (struct sockaddr *) \u0026claddr, \u0026addrlen,\n                      closeonexec_flag | nonblock_flag);\n   if (acceptfd \u003d\u003d -1) {\n       perror(\"accept4()\");\n       close(connfd);\n       return 0;\n   }\n\n   fdf \u003d fcntl(acceptfd, F_GETFD);\n   if (fdf \u003d\u003d -1)\n       die(\"fcntl:F_GETFD\");\n   fdf_pass \u003d ((fdf \u0026 FD_CLOEXEC) !\u003d 0) \u003d\u003d\n              ((closeonexec_flag \u0026 SOCK_CLOEXEC) !\u003d 0);\n   printf(\"Close-on-exec flag is %sset (%s); \",\n           (fdf \u0026 FD_CLOEXEC) ? \"\" : \"not \",\n           fdf_pass ? \"OK\" : \"failed\");\n\n   flf \u003d fcntl(acceptfd, F_GETFL);\n   if (flf \u003d\u003d -1)\n       die(\"fcntl:F_GETFD\");\n   flf_pass \u003d ((flf \u0026 O_NONBLOCK) !\u003d 0) \u003d\u003d\n              ((nonblock_flag \u0026 SOCK_NONBLOCK) !\u003d0);\n   printf(\"nonblock flag is %sset (%s)\\n\",\n           (flf \u0026 O_NONBLOCK) ? \"\" : \"not \",\n           flf_pass ? \"OK\" : \"failed\");\n\n   close(acceptfd);\n   close(connfd);\n\n   printf(\"Test result: %s\\n\", (fdf_pass \u0026\u0026 flf_pass) ? \"PASS\" : \"FAIL\");\n   return fdf_pass \u0026\u0026 flf_pass;\n}\n\nstatic int\ncreate_listening_socket(int port_num)\n{\n   struct sockaddr_in svaddr;\n   int lfd;\n   int optval;\n\n   memset(\u0026svaddr, 0, sizeof(struct sockaddr_in));\n   svaddr.sin_family \u003d AF_INET;\n   svaddr.sin_addr.s_addr \u003d htonl(INADDR_ANY);\n   svaddr.sin_port \u003d htons(port_num);\n\n   lfd \u003d socket(AF_INET, SOCK_STREAM, 0);\n   if (lfd \u003d\u003d -1)\n       die(\"socket\");\n\n   optval \u003d 1;\n   if (setsockopt(lfd, SOL_SOCKET, SO_REUSEADDR, \u0026optval,\n                  sizeof(optval)) \u003d\u003d -1)\n       die(\"setsockopt\");\n\n   if (bind(lfd, (struct sockaddr *) \u0026svaddr,\n            sizeof(struct sockaddr_in)) \u003d\u003d -1)\n       die(\"bind\");\n\n   if (listen(lfd, 5) \u003d\u003d -1)\n       die(\"listen\");\n\n   return lfd;\n}\n\nint\nmain(int argc, char *argv[])\n{\n   struct sockaddr_in conn_addr;\n   int lfd;\n   int port_num;\n   int passed;\n\n   passed \u003d 1;\n\n   port_num \u003d (argc \u003e 1) ? atoi(argv[1]) : PORT_NUM;\n\n   memset(\u0026conn_addr, 0, sizeof(struct sockaddr_in));\n   conn_addr.sin_family \u003d AF_INET;\n   conn_addr.sin_addr.s_addr \u003d htonl(INADDR_LOOPBACK);\n   conn_addr.sin_port \u003d htons(port_num);\n\n   lfd \u003d create_listening_socket(port_num);\n\n   if (!do_test(lfd, \u0026conn_addr, 0, 0))\n       passed \u003d 0;\n   if (!do_test(lfd, \u0026conn_addr, SOCK_CLOEXEC, 0))\n       passed \u003d 0;\n   if (!do_test(lfd, \u0026conn_addr, 0, SOCK_NONBLOCK))\n       passed \u003d 0;\n   if (!do_test(lfd, \u0026conn_addr, SOCK_CLOEXEC, SOCK_NONBLOCK))\n       passed \u003d 0;\n\n   close(lfd);\n\n   exit(passed ? EXIT_SUCCESS : EXIT_FAILURE);\n}\n\n[mtk.manpages@gmail.com: rewrote changelog, updated test program]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nTested-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: \u003clinux-api@vger.kernel.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f0f598a0069d1ab072375965a4b69137233169c",
      "tree": "00cb9320e0caef179d6075b54fa611de6551e3e2",
      "parents": [
        "a6a0c4ca7edb378a8a7332501f097089cb1051c4",
        "c26156b2534c75bb3cdedf76f6ad1340971cf5bd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 18 08:07:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 18 08:07:51 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: hold extra reference to bio in blk_rq_map_user_iov()\n  relay: fix cpu offline problem\n  Release old elevator on change elevator\n  block: fix boot failure with CONFIG_DEBUG_BLOCK_EXT_DEVT\u003dy and nash\n  block/md: fix md autodetection\n  block: make add_partition() return pointer to hd_struct\n  block: fix add_partition() error path\n"
    },
    {
      "commit": "72b51a6b4d803381f16d819df392dd1efd1c7181",
      "tree": "7e27a03c10cb2f5e6593dd599b3c8b0bcd0f9ee9",
      "parents": [
        "8c60bfb0666952728b3be73ef9bc133d686aebba",
        "e270219f4372b58bd3eeac12bd9f7edc592b8f6b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 18 08:06:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 18 08:06:35 2008 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  kernel/profile.c: fix section mismatch warning\n  function tracing: fix wrong pos computing when read buffer has been fulfilled\n  tracing: fix mmiotrace resizing crash\n  ring-buffer: no preempt for sched_clock()\n  ring-buffer: buffer record on/off switch\n"
    },
    {
      "commit": "ba32929a91fe2c0628f5be62d1597b379c8d3062",
      "tree": "09ea54ed2d2299d25b92fee6a6dde4d7527a3d37",
      "parents": [
        "eb60fa1066622ddb2278732cf61e0c4544e82c6f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 10 15:29:58 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 18 15:08:56 2008 +0100"
      },
      "message": "block: make add_partition() return pointer to hd_struct\n\nMake add_partition() return pointer to the new hd_struct on success\nand ERR_PTR() value on failure.  This change will be used to fix md\nautodetection bug.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "847e9170c77d3b4f57822ae1f4cf4f65c65a8254",
      "tree": "23f931fa2c3f9cf967deb638fed9804806d07357",
      "parents": [
        "72eb8c6747b49e41fd2b042510f03ac7c13426fc",
        "5f9021cfdc3524a4c5e3d7ae2d049eb7adcd6776"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 17 07:53:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 17 07:53:25 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits)\n  rtnetlink: propagate error from dev_change_flags in do_setlink()\n  isdn: remove extra byteswap in isdn_net_ciscohdlck_slarp_send_reply\n  Phonet: refuse to send bigger than MTU packets\n  e1000e: fix IPMI traffic\n  e1000e: fix warn_on reload after phy_id error\n  phy: fix phy address bug\n  e100: fix dma error in direction for mapping\n  igb: use dev_printk instead of printk\n  qla3xxx: Cleanup: Fix link print statements.\n  igb: Use device_set_wakeup_enable\n  e1000: Use device_set_wakeup_enable\n  e1000e: Use device_set_wakeup_enable\n  via-velocity: enable perfect filtering for multicast packets\n  phy: Add support for Marvell 88E1118 PHY\n  mlx4_en: Pause parameters per port\n  phylib: fix premature freeing of struct mii_bus\n  atl1: Do not enumerate options unsupported by chip\n  atl1e: fix broken multicast by removing unnecessary crc inversion\n  gianfar: Fix DMA unmap invocations\n  net/ucc_geth: Fix oops in uec_get_ethtool_stats()\n  ...\n"
    },
    {
      "commit": "b42ccbc521f2acad48eb96b32883efe2f3e16b45",
      "tree": "85f45ef13f3c409850431a52fd5e04ff3e826e0c",
      "parents": [
        "d659fc14cbd39fef625072819c6968044975fda7",
        "131d3a7a009d56a96cc7117b4e9d0c90c2e2a1dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 19:02:48 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 19:02:48 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:\n  HID: don\u0027t grab devices with no input\n  HID: fix radio-mr800 hidquirks\n  HID: fix kworld fm700 radio hidquirks\n  HID: fix start/stop cycle in usbhid driver\n  HID: use single threaded work queue for hid_compat\n  HID: map macbook keys for \"Expose\" and \"Dashboard\"\n  HID: support for new unibody macbooks\n  HID: fix locking in hidraw_open()\n"
    },
    {
      "commit": "8f7b0ba1c853919b85b54774775f567f30006107",
      "tree": "1acd2b7ed5ed0de3eecfff9da5da4e779731f8a8",
      "parents": [
        "0d3b71009737511ea937ac405205fd8214b898bb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sat Nov 15 01:15:43 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 12:26:44 2008 -0800"
      },
      "message": "Fix inotify watch removal/umount races\n\nInotify watch removals suck violently.\n\nTo kick the watch out we need (in this order) inode-\u003einotify_mutex and\nih-\u003emutex.  That\u0027s fine if we have a hold on inode; however, for all\nother cases we need to make damn sure we don\u0027t race with umount.  We can\n*NOT* just grab a reference to a watch - inotify_unmount_inodes() will\nhappily sail past it and we\u0027ll end with reference to inode potentially\noutliving its superblock.\n\nIdeally we just want to grab an active reference to superblock if we\ncan; that will make sure we won\u0027t go into inotify_umount_inodes() until\nwe are done.  Cleanup is just deactivate_super().\n\nHowever, that leaves a messy case - what if we *are* racing with\numount() and active references to superblock can\u0027t be acquired anymore?\nWe can bump -\u003es_count, grab -\u003es_umount, which will almost certainly wait\nuntil the superblock is shut down and the watch in question is pining\nfor fjords.  That\u0027s fine, but there is a problem - we might have hit the\nwindow between -\u003es_active getting to 0 / -\u003es_count - below S_BIAS (i.e.\nthe moment when superblock is past the point of no return and is heading\nfor shutdown) and the moment when deactivate_super() acquires\n-\u003es_umount.\n\nWe could just do drop_super() yield() and retry, but that\u0027s rather\nantisocial and this stuff is luser-triggerable.  OTOH, having grabbed\n-\u003es_umount and having found that we\u0027d got there first (i.e.  that\n-\u003es_root is non-NULL) we know that we won\u0027t race with\ninotify_umount_inodes().\n\nSo we could grab a reference to watch and do the rest as above, just\nwith drop_super() instead of deactivate_super(), right? Wrong.  We had\nto drop ih-\u003emutex before we could grab -\u003es_umount.  So the watch\ncould\u0027ve been gone already.\n\nThat still can be dealt with - we need to save watch-\u003ewd, do idr_find()\nand compare its result with our pointer.  If they match, we either have\nthe damn thing still alive or we\u0027d lost not one but two races at once,\nthe watch had been killed and a new one got created with the same -\u003ewd\nat the same address.  That couldn\u0027t have happened in inotify_destroy(),\nbut inotify_rm_wd() could run into that.  Still, \"new one got created\"\nis not a problem - we have every right to kill it or leave it alone,\nwhatever\u0027s more convenient.\n\nSo we can use idr_find(...) \u003d\u003d watch \u0026\u0026 watch-\u003einode-\u003ei_sb \u003d\u003d sb as\n\"grab it and kill it\" check.  If it\u0027s been our original watch, we are\nfine, if it\u0027s a newcomer - nevermind, just pretend that we\u0027d won the\nrace and kill the fscker anyway; we are safe since we know that its\nsuperblock won\u0027t be going away.\n\nAnd yes, this is far beyond mere \"not very pretty\"; so\u0027s the entire\nconcept of inotify to start with.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "537a2f889ac847468c9aa040910c247b218302a7",
      "tree": "ea21b1dfd11e4234b108059c84c2a42887dc9254",
      "parents": [
        "fab349cceb25f92bac1400601c5ef8345a166958",
        "272966c070237c8cb540fe67e06df51bc6ea9cc2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 12:10:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 12:10:32 2008 -0800"
      },
      "message": "Merge branch \u0027sh/for-2.6.28\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* \u0027sh/for-2.6.28\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:\n  serial: sh-sci: Reorder the SCxTDR write after the TDxE clear.\n  sh: __copy_user function can corrupt the stack in case of exception\n  sh: Fixed the TMU0 reload value on resume\n  sh: Don\u0027t factor in PAGE_OFFSET for valid_phys_addr_range() check.\n  sh: early printk port type fix\n  i2c: fix i2c-sh_mobile rx underrun\n  sh: Provide a sane valid_phys_addr_range() to prevent TLB reset with PMB.\n  usb: r8a66597-hcd: fix wrong data access in SuperH on-chip USB\n  fix sci type for SH7723\n  serial: sh-sci: fix cannot work SH7723 SCIFA\n  sh: Handle fixmap TLB eviction more coherently.\n"
    },
    {
      "commit": "d091c2f58ba32029495a933b721e8e02fbd12caa",
      "tree": "9f20dc4cc77e7178270fb1d5946918fe44d4e3eb",
      "parents": [
        "4d41e121664893e5e338f41fbd36be4a2578c8d6"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Nov 12 21:16:43 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 11:43:37 2008 -0800"
      },
      "message": "Add \u0027pr_fmt()\u0027 format modifier to pr_xyz macros.\n\nA common reason for device drivers to implement their own printk macros\nis the lack of a printk prefix with the standard pr_xyz macros.\nIntroduce a pr_fmt() macro that is applied for every pr_xyz macro to the\nformat string.\n\nThe most common use of the pr_fmt macro would be to add the name of the\ndevice driver to all pr_xyz messages in a source file.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8f6fbf62de37cbc2e179176ac7010d5f4396b67",
      "tree": "ac22d719c3c93d24b7eeda395b3271be60bfc661",
      "parents": [
        "1fa989e80a9a104bf3b81842a5f4c1867d7aa9c4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 01:38:36 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 13 23:19:10 2008 -0800"
      },
      "message": "lockdep: include/linux/lockdep.h - fix warning in net/bluetooth/af_bluetooth.c\n\nfix this warning:\n\n  net/bluetooth/af_bluetooth.c:60: warning: ‘bt_key_strings’ defined but not used\n  net/bluetooth/af_bluetooth.c:71: warning: ‘bt_slock_key_strings’ defined but not used\n\nthis is a lockdep macro problem in the !LOCKDEP case.\n\nWe cannot convert it to an inline because the macro works on multiple types,\nbut we can mark the parameter used.\n\n[ also clean up a misaligned tab in sock_lock_init_class_and_name() ]\n\n[ also remove #ifdefs from around af_family_clock_key strings - which\n  were certainly added to get rid of the ugly build warnings. ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "352d026338378b1f13f044e33c1047da6e470056",
      "tree": "92e178cc234bfd19f15e8623b1b92d21918cb3fa",
      "parents": [
        "0047ca0a45c6a481abd467fb52d2a480ffc8c6b9"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Oct 29 15:16:58 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 13 14:45:00 2008 -0800"
      },
      "message": "USB: don\u0027t register endpoints for interfaces that are going away\n\nThis patch (as1155) fixes a bug in usbcore.  When interfaces are\ndeleted, either because the device was disconnected or because of a\nconfiguration change, the extra attribute files and child endpoint\ndevices may get left behind.  This is because the core removes them\nbefore calling device_del().  But during device_del(), after the\ndriver is unbound the core will reinstall altsetting 0 and recreate\nthose extra attributes and children.\n\nThe patch prevents this by adding a flag to record when the interface\nis in the midst of being unregistered.  When the flag is set, the\nattribute files and child devices will not be created.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: stable \u003cstable@kernel.org\u003e [2.6.27, 2.6.26, 2.6.25]\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "d7de4c1dc3a2faca0bf05d9e342f885cb2696766",
      "tree": "c7ea498a84b9319443af8cafba5deb6602dfb3a5",
      "parents": [
        "02f5621042e3f7e2fb6c741cbe5ee7c1f3caf354"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Nov 13 20:40:12 2008 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Nov 13 20:49:02 2008 +0200"
      },
      "message": "slab: document SLAB_DESTROY_BY_RCU\n\nExplain this SLAB_DESTROY_BY_RCU thing...\n\n[hugh@veritas.com: add a pointer to comment in mm/slab.c]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "437184ae8bd1ef923a40b009e37801deae66ad55",
      "tree": "9b9fc2b295998135334c9a6fa32efff589486187",
      "parents": [
        "a96d6ef34751093797c3a6c6080733dd7af23d35"
      ],
      "author": {
        "name": "Henrik Rydberg",
        "email": "rydberg@euromail.se",
        "time": "Tue Nov 04 13:31:38 2008 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Nov 13 10:31:36 2008 +0100"
      },
      "message": "HID: map macbook keys for \"Expose\" and \"Dashboard\"\n\nOn macbooks there are specific keys for the user-space functions Expose\nand Dashboard, which currently has no counterpart in input.h. This patch\nadds KEY_SCALE and KEY_DASHBOARD, and maps the keyboard accordingly.\n\nAcked-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nSigned-off-by: Henrik Rydberg \u003crydberg@euromail.se\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "4e17e1db96474af5620e3259754df4cb1c46521c",
      "tree": "cc662ebf5158b407495a4939b0ea3d16b93a1b7e",
      "parents": [
        "e0a29382c6f51c278a7e9a788917ff9182f3dba6"
      ],
      "author": {
        "name": "Rodolfo Giometti",
        "email": "giometti@linux.it",
        "time": "Wed Nov 12 13:27:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 17:17:18 2008 -0800"
      },
      "message": "Add c2 port support\n\nC2port implements a two wire serial communication protocol (bit\nbanging) designed to enable in-system programming, debugging, and\nboundary-scan testing on low pin-count Silicon Labs devices.\n\nCurrently this code supports only flash programming through sysfs\ninterface but extensions shoud be easy to add.\n\nSigned-off-by: Rodolfo Giometti \u003cgiometti@linux.it\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "077eaf5b40ecb2c345d82f02275c20e965dfa3e5",
      "tree": "9f29121591ffb69cef527e4de11d183b6bf01f6d",
      "parents": [
        "a412ae3fb90ab49072b82c8cfa1e3e60d2b27005"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Nov 12 13:27:04 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 17:17:18 2008 -0800"
      },
      "message": "rtc: rtc-wm8350: add support for WM8350 RTC\n\nThis adds support for the RTC provided by the Wolfson Microelectronics\nWM8350.\n\nThis driver was originally written by Graeme Gregory and Liam Girdwood,\nthough it has been modified since then to update it to current mainline\ncoding standards and for API completeness.\n\n[akpm@linux-foundation.org: s/schedule_timeout_interruptible/schedule_timeout_uninterruptible/ to prevent bogus timeout when signal_pending()]\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Liam Girdwood \u003clinux@wolfsonmicro.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b76f90b526737070302a127c710263e2ac707676",
      "tree": "360e2151e924c45dbac7a41fb77b0ec1cc5a91f8",
      "parents": [
        "afef80b3d87cae574b8c6b763505f25b74d254ef"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Nov 12 13:26:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 17:17:17 2008 -0800"
      },
      "message": "remove ratelimt()\n\nIt mistakenly assumes that a static local in an inlined function is a\nkernel-wide singleton.  It also has no callers, so let\u0027s remove it.\n\nCc: Dave Young \u003chidave.darkstar@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": "45a9524a61267a60aef3c273b97284e93b15f4d7",
      "tree": "80e7ceee6758bd7ea76cf5505aa2f41d3376b0ba",
      "parents": [
        "4416662ece4e88aca687b28d7c059336b47478ba",
        "621a0d5207c18012cb39932f2d9830a11a6cb03d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 12:00:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 12:00:15 2008 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimer: clean up unused callback modes\n"
    },
    {
      "commit": "08c1184fa2b785f23453b8cbb43f86b409cde3a6",
      "tree": "f3d529d72ecdbf3f6ee1d245a6d9b099408fc259",
      "parents": [
        "f21f237cf55494c3a4209de323281a3b0528da10",
        "d1876ba4dead6ace7e9fbf16f83397e6486d0dfe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 10:24:46 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 10:24:46 2008 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (47 commits)\n  ACPI: pci_link: remove acpi_irq_balance_set() interface\n  fujitsu-laptop: Add DMI callback for Lifebook S6420\n  ACPI: EC: Don\u0027t do transaction from GPE handler in poll mode.\n  ACPI: EC: lower interrupt storm treshold\n  ACPICA: Use spinlock for acpi_{en|dis}able_gpe\n  ACPI: EC: restart failed command\n  ACPI: EC: wait for last write gpe\n  ACPI: EC: make kernel messages more useful when GPE storm is detected\n  ACPI: EC: revert msleep patch\n  thinkpad_acpi: fingers off backlight if video.ko is serving this functionality\n  sony-laptop: fingers off backlight if video.ko is serving this functionality\n  msi-laptop: fingers off backlight if video.ko is serving this functionality\n  fujitsu-laptop: fingers off backlight if video.ko is serving this functionality\n  eeepc-laptop: fingers off backlight if video.ko is serving this functionality\n  compal: fingers off backlight if video.ko is serving this functionality\n  asus-acpi: fingers off backlight if video.ko is serving this functionality\n  Acer-WMI: fingers off backlight if video.ko is serving this functionality\n  ACPI video: if no ACPI backlight support, use vendor drivers\n  ACPI: video: Ignore devices that aren\u0027t present in hardware\n  Delete an unwanted return statement at evgpe.c\n  ...\n"
    },
    {
      "commit": "621a0d5207c18012cb39932f2d9830a11a6cb03d",
      "tree": "0e18c30c91620108b413197f9bc153ceb6e430ec",
      "parents": [
        "f21f237cf55494c3a4209de323281a3b0528da10"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 12 09:36:35 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 09:54:40 2008 +0100"
      },
      "message": "hrtimer: clean up unused callback modes\n\nImpact: cleanup\n\ngit grep HRTIMER_CB_IRQSAFE revealed half the callback modes are actually\nunused.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1a22f08dbd0e77c7cf45b5f527f93131d0b591b6",
      "tree": "c3f1309b26c6c8072b1194d387931ad331a36599",
      "parents": [
        "acca4f4d9bd657e8bc7e1665ba5077465138f133"
      ],
      "author": {
        "name": "Yoshihiro Shimoda",
        "email": "shimoda.yoshihiro@renesas.com",
        "time": "Tue Nov 11 12:19:05 2008 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Nov 12 12:29:56 2008 +0900"
      },
      "message": "serial: sh-sci: fix cannot work SH7723 SCIFA\n\nSH7723 has SCIFA. This module is similer SCI register map, but it has FIFO.\nSo this patch adds new type(PORT_SCIFA) and change some type checking.\n\nSigned-off-by: Yoshihiro Shimoda \u003cshimoda.yoshihiro@renesas.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "f398778aa336a2919ee04ba45d915007230c6957",
      "tree": "c7244cd1d4af8d99c861b21ebcaeabf23e355b9f",
      "parents": [
        "9b5a56ddfd615a27e3a0856ceae1592a24021e42",
        "2dba1b5d87e08a294da5cdfa4d32908000e9b085"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 21:15:50 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 21:15:50 2008 -0500"
      },
      "message": "Merge branch \u0027video\u0027 into release\n\nConflicts:\n\tDocumentation/kernel-parameters.txt\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "3e0fe364835cecc8560cf32bb9609f4c56c5d9fa",
      "tree": "be2236bd4f6f16aee24cca5217449dc03a6c1e85",
      "parents": [
        "e911d27af43e7d28d59a96a4682e8942f0661469",
        "32836259ff25ce97010569706cd33ba94de81d62"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 21:14:11 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 21:14:11 2008 -0500"
      },
      "message": "Merge branch \u0027misc\u0027 into release\n"
    },
    {
      "commit": "c1e7abbc7afc97367cd77c8f2895c2169a8f9c87",
      "tree": "826aa8fff448bc3dcd167d3623fbcc311a768c1f",
      "parents": [
        "f21f237cf55494c3a4209de323281a3b0528da10",
        "a358324466b171e145df20bdb74fe81759906de6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 21:34:07 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 21:34:07 2008 +0100"
      },
      "message": "Merge branch \u0027devel\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent\n"
    },
    {
      "commit": "a358324466b171e145df20bdb74fe81759906de6",
      "tree": "50b2b0b72ff40da6be232eb85d33a203612f3164",
      "parents": [
        "4143c5cb36331155a1823af8b3a8c761a59fed71"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Nov 11 15:01:42 2008 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Nov 11 15:02:04 2008 -0500"
      },
      "message": "ring-buffer: buffer record on/off switch\n\nImpact: enable/disable ring buffer recording API added\n\nSeveral kernel developers have requested that there be a way to stop\nrecording into the ring buffers with a simple switch that can also\nbe enabled from userspace. This patch addes a new kernel API to the\nring buffers called:\n\n tracing_on()\n tracing_off()\n\nWhen tracing_off() is called, all ring buffers will not be able to record\ninto their buffers.\n\ntracing_on() will enable the ring buffers again.\n\nThese two act like an on/off switch. That is, there is no counting of the\nnumber of times tracing_off or tracing_on has been called.\n\nA new file is added to the debugfs/tracing directory called\n\n  tracing_on\n\nThis allows for userspace applications to also flip the switch.\n\n  echo 0 \u003e debugfs/tracing/tracing_on\n\ndisables the tracing.\n\n  echo 1 \u003e /debugfs/tracing/tracing_on\n\nenables it.\n\nNote, this does not disable or enable any tracers. It only sets or clears\na flag that needs to be set in order for the ring buffers to write to\ntheir buffers. It is a global flag, and affects all ring buffers.\n\nThe buffers start out with tracing_on enabled.\n\nThere are now three flags that control recording into the buffers:\n\n tracing_on: which affects all ring buffer tracers.\n\n buffer-\u003erecord_disabled: which affects an allocated buffer, which may be set\n     if an anomaly is detected, and tracing is disabled.\n\n cpu_buffer-\u003erecord_disabled: which is set by tracing_stop() or if an\n     anomaly is detected. tracing_start can not reenable this if\n     an anomaly occurred.\n\nThe userspace debugfs/tracing/tracing_enabled is implemented with\ntracing_stop() but the user space code can not enable it if the kernel\ncalled tracing_stop().\n\nUserspace can enable the tracing_on even if the kernel disabled it.\nIt is just a switch used to stop tracing if a condition was hit.\ntracing_on is not for protecting critical areas in the kernel nor is\nit for stopping tracing if an anomaly occurred. This is because userspace\ncan reenable it at any time.\n\nSide effect: With this patch, I discovered a dead variable in ftrace.c\n  called tracing_on. This patch removes it.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "2f96cb57cde9957bac0991c712068d29364b2ac9",
      "tree": "60e3f985b9e865f3a1fdda131599fa84159cc73e",
      "parents": [
        "09eb3b5b1bcab7b25e9dd57e90ee9753adf7afe2",
        "2002c69595a092518107f7e3c1294c9710bc92ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 10:52:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 10:52:25 2008 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: release buddies on yield\n  fix for account_group_exec_runtime(), make sure -\u003esignal can\u0027t be freed under rq-\u003elock\n  sched: clean up debug info\n"
    },
    {
      "commit": "0906dd9df2f79042cfa82d8388895be7cbe7a51b",
      "tree": "98344a1ecf258320008846434475e58c70f479c3",
      "parents": [
        "8eb04cf3402c59e84af9d2e86149edb4044f9a9e"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Nov 11 14:51:23 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 09:30:23 2008 -0800"
      },
      "message": "telephony: trivial: fix up email address\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a4cf2c8786219b4871c37240ab9787a61d843ee",
      "tree": "a126516733f3a757711754bbac189417c79d8bcb",
      "parents": [
        "4694516d1987303dd83bfd0efdd36fa5b65d701b",
        "df02c6ff2e3937379b31ea161b53229134fe92f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 09:20:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 09:20:29 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  dsa: fix master interface allmulti/promisc handling\n  dsa: fix skb-\u003epkt_type when mac address of slave interface differs\n  net: fix setting of skb-\u003etail in skb_recycle_check()\n  net: fix /proc/net/snmp as memory corruptor\n  mac80211: fix a buffer overrun in station debug code\n  netfilter: payload_len is be16, add size of struct rather than size of pointer\n  ipv6: fix ip6_mr_init error path\n  [4/4] dca: fixup initialization dependency\n  [3/4] I/OAT: fix async_tx.callback checking\n  [2/4] I/OAT: fix dma_pin_iovec_pages() error handling\n  [1/4] I/OAT: fix channel resources free for not allocated channels\n  ssb: Fix DMA-API compilation for non-PCI systems\n  SSB: hide empty sub menu\n  vlan: Fix typos in proc output string\n  [netdrvr] usb/hso: Cleanup rfkill error handling\n  sfc: Correct address of gPXE boot configuration in EEPROM\n  el3_common_init() should be __devinit, not __init\n  hso: rfkill type should be WWAN\n  mlx4_en: Start port error flow bug fix\n  af_key: mark policy as dead before destroying\n"
    },
    {
      "commit": "ad474caca3e2a0550b7ce0706527ad5ab389a4d4",
      "tree": "6d4e5cbcee3a85230317a33d66655ece0c873f5c",
      "parents": [
        "5ac5c4d604bf894ef672a7971d03fefdc7ea7e49"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Nov 10 15:39:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 08:01:43 2008 +0100"
      },
      "message": "fix for account_group_exec_runtime(), make sure -\u003esignal can\u0027t be freed under rq-\u003elock\n\nImpact: fix hang/crash on ia64 under high load\n\nThis is ugly, but the simplest patch by far.\n\nUnlike other similar routines, account_group_exec_runtime() could be\ncalled \"implicitly\" from within scheduler after exit_notify(). This\nmeans we can race with the parent doing release_task(), we can\u0027t just\ncheck -\u003esignal !\u003d NULL.\n\nChange __exit_signal() to do spin_unlock_wait(\u0026task_rq(tsk)-\u003elock)\nbefore __cleanup_signal() to make sure -\u003esignal can\u0027t be freed under\ntask_rq(tsk)-\u003elock. Note that task_rq_unlock_wait() doesn\u0027t care\nabout the case when tsk changes cpu/rq under us, this should be OK.\n\nThanks to Ingo who nacked my previous buggy patch.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReported-by: Doug Chapman \u003cdoug.chapman@hp.com\u003e\n"
    },
    {
      "commit": "fd0fcf5c29dd0339c5f5d86eb2cbe9fdad5bcd73",
      "tree": "3c03b581b0e069d45d4d35f234c16b663cdfa2af",
      "parents": [
        "9581483444d002e0b3807d9e66f552f372a6fc5e"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Thu Nov 06 10:49:21 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 10 13:50:19 2008 -0800"
      },
      "message": "ssb: Fix DMA-API compilation for non-PCI systems\n\nThis fixes compilation of the SSB DMA-API code on non-PCI platforms.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a8bc22332ee6ea49137508467a76aa7f4367719",
      "tree": "f41c62dc99c4249d592935b4659569081d4a190a",
      "parents": [
        "f7160c7573615ec82c691e294cf80d920b5d588d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 10 14:48:21 2008 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 10 08:04:47 2008 -0800"
      },
      "message": "libata: revert convert-to-block-tagging patches\n\nThis patch reverts the following three commits which convert libata to\nuse block layer tagging.\n\n 43a49cbdf31e812c0d8f553d433b09b421f5d52c\n e013e13bf605b9e6b702adffbe2853cfc60e7806\n 2fca5ccf97d2c28bcfce44f5b07d85e74e3cd18e\n\nAlthough using block layer tagging is the right direction, due to the\ntight coupling among tag number, data structure allocation and\nhardware command slot allocation, libata doesn\u0027t work correctly with\nthe current conversion.\n\nThe biggest problem is guaranteeing that tag 0 is always used for\nnon-NCQ commands.  Due to the way blk-tag is implemented and how SCSI\nstarts and finishes requests, such guarantee can\u0027t be made.  I\u0027m not\nsure whether this would actually break any low level driver but it\ndoesn\u0027t look like a good idea to break such assumption given the\nfrailty of ATA controllers.\n\nSo, for the time being, keep using the old dumb in-libata qc\nallocation.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axobe \u003cjens.axboe@oracle.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f6d87f4bd259cf33e092cd1a8fde05f291c47af1",
      "tree": "abaa66af3c80fb18a20004b8d97261c680551792",
      "parents": [
        "8b805ef617cf0e02f6d18b891f8deb6246421b01"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 07 13:18:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 09 22:23:49 2008 +0100"
      },
      "message": "genirq: keep affinities set from userspace across free/request_irq()\n\nImpact: preserve user-modified affinities on interrupts\n\nKumar Galak noticed that commit\n18404756765c713a0be4eb1082920c04822ce588 (genirq: Expose default irq\naffinity mask (take 3))\n\noverrides an already set affinity setting across a free /\nrequest_irq(). Happens e.g. with ifdown/ifup of a network device.\n\nChange the logic to mark the affinities as set and keep them\nintact. This also fixes the unlocked access to irq_desc in\nirq_select_affinity() when called from irq_affinity_proc_write()\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb56d98e2a7530615899597551db685d68a2e852",
      "tree": "458a2dc64385f35799c55971ea7b3fe1a2ec218f",
      "parents": [
        "6209344f5a3795d34b7f2c0061f49802283b6bdd",
        "984f2f377fdfd098f5ae58d09ee04d5e29e6112b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 09 12:20:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 09 12:20:56 2008 -0800"
      },
      "message": "Merge branch \u0027cpus4096\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  cpumask: introduce new API, without changing anything, v3\n  cpumask: new API, v2\n  cpumask: introduce new API, without changing anything\n"
    },
    {
      "commit": "984f2f377fdfd098f5ae58d09ee04d5e29e6112b",
      "tree": "6f6ea07057f5680586a8ac6f77700c118f253bcb",
      "parents": [
        "cd83e42c6b0413dcbb548c2ead799111ff7e6a13"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Nov 08 20:24:19 2008 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 09 21:09:54 2008 +0100"
      },
      "message": "cpumask: introduce new API, without changing anything, v3\n\nImpact: cleanup\n\nClean up based on feedback from Andrew Morton and others:\n\n - change to inline functions instead of macros\n - add __init to bootmem method\n - add a missing debug check\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "058e3739f6b0753696db1952378de9e8d2a11735",
      "tree": "2261c23bf8c77e51628310057b4dde718e487c53",
      "parents": [
        "02cabab4a8a7ef2d51189d5dda84516d36662910"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@cam.org",
        "time": "Sun Nov 09 00:27:53 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 09 11:17:33 2008 -0800"
      },
      "message": "clarify usage expectations for cnt32_to_63()\n\nCurrently, all existing users of cnt32_to_63() are fine since the CPU\narchitectures where it is used don\u0027t do read access reordering, and user\nmode preemption is disabled already.  It is nevertheless a good idea to\nbetter elaborate usage requirements wrt preemption, and use an explicit\nmemory barrier on SMP to avoid different CPUs accessing the counter\nvalue in the wrong order.  On UP a simple compiler barrier is\nsufficient.\n\nSigned-off-by: Nicolas Pitre \u003cnico@marvell.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1b268630875a7713b5d468a0c03403c5b721c8e",
      "tree": "2ff8ad7879d2ab005820bd5cf88417456daf2d5e",
      "parents": [
        "493890e75d98810a3470b4aae23be628ee5e9667"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sat Nov 08 21:37:46 2008 +0100"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sat Nov 08 21:37:46 2008 +0100"
      },
      "message": "mmc: struct device - replace bus_id with dev_name(), dev_set_name()\n\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-Off-By: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "c3d6de698c84efdbdd3781b7058bcc339ab43da8",
      "tree": "07e08d88bbaaef8a5a1dd58b9d19f7c860442d3a",
      "parents": [
        "22c13f9d8179f4c9caecfcb60a95214562b9addc"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Fri Aug 01 17:37:55 2008 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Nov 07 23:57:55 2008 -0500"
      },
      "message": "ACPI video: if no ACPI backlight support, use vendor drivers\n\nIf an ACPI graphics device supports backlight brightness functions (cmp. with\nlatest ACPI spec Appendix B), let the ACPI video driver control backlight and\nswitch backlight control off in vendor specific ACPI drivers (asus_acpi,\nthinkpad_acpi, eeepc, fujitsu_laptop, msi_laptop, sony_laptop, acer-wmi).\n\nCurrently it is possible to load above drivers and let both poke on the\nbrightness HW registers, the video and vendor specific ACPI drivers -\u003e bad.\n\nThis patch provides the basic support to check for BIOS capabilities before\ndriver loading time. Driver specific modifications are in separate follow up\npatches.\n\n\"acpi_backlight\u003dvendor\"\n\tPrever vendor driver over ACPI driver for backlight.\n\"acpi_backlight\u003dvideo\" (default)\n\tPrever ACPI driver over vendor driver for backlight.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nAcked-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "8ec96e7bba2b8fa339b666354dffe3f47b9fa074",
      "tree": "133e83776ab622259b5a8f852f75934822c09c93",
      "parents": [
        "cb110171a65c5a2d85ec814d498986db611040fd",
        "88e7df0b7ee717f9db3333fb1248827bbdb2d4d3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 07 09:18:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 07 09:18:14 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI: fix range check on mmapped sysfs resource files\n  PCI: remove excess kernel-doc notation\n  PCI: annotate return value of pci_ioremap_bar with __iomem\n  PCI: fix VPD limit quirk for Broadcom 5708S\n"
    },
    {
      "commit": "52c642f33b14bfa1b00ef2b68296effb34a573f3",
      "tree": "508a49591138e91733ad228ae6a367d91b318b39",
      "parents": [
        "14800984706bf6936bbec5187f736e928be5c218"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 07 16:09:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 07 16:09:23 2008 +0100"
      },
      "message": "sched: fine-tune SD_SIBLING_INIT\n\nfine-tune the HT sched-domains parameters as well.\n\nOn a HT capable box, this increases lat_ctx performance from 23.87\nusecs to 1.49 usecs:\n\n # before\n\n $ ./lat_ctx -s 0 2\n\n   \"size\u003d0k ovr\u003d1.89\n    2 23.87\n\n # after\n\n $ ./lat_ctx -s 0 2\n\n   \"size\u003d0k ovr\u003d1.84\n     2 1.49\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "14800984706bf6936bbec5187f736e928be5c218",
      "tree": "09b462191420a5652601a30711211693fb0e3239",
      "parents": [
        "ca3273f9646694e0419cfb9d6c12deb1c9aff27c"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Fri Nov 07 15:26:50 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 07 15:35:11 2008 +0100"
      },
      "message": "sched: fine-tune SD_MC_INIT\n\nTune SD_MC_INIT the same way as SD_CPU_INIT:\nunset SD_BALANCE_NEWIDLE, and set SD_WAKE_BALANCE.\n\nThis improves vmark by 5%:\n\nvmark         132102 125968 125497 messages/sec    avg 127855.66    .984\nvmark         139404 131719 131272 messages/sec    avg 134131.66   1.033\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n # *DOCUMENTATION*\n"
    },
    {
      "commit": "cd83e42c6b0413dcbb548c2ead799111ff7e6a13",
      "tree": "0110f8f39a8f88aacfbe4f0692b099373523edc0",
      "parents": [
        "2d3854a37e8b767a51aba38ed6d22817b0631e33"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Nov 07 11:12:29 2008 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 07 12:52:30 2008 +0100"
      },
      "message": "cpumask: new API, v2\n\n- add cpumask_of()\n- add free_bootmem_cpumask_var()\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4bab0ea1d42dd1927af9df6fbf0003fc00617c50",
      "tree": "880cea7be13f71934f54a59c9fac9f196f8805c1",
      "parents": [
        "a15a82f42c5ee519d28f08c932803a9fd5168fc4",
        "ca409d6e08c35b01965d9211c61dbd216286f8ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 16:43:44 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 16:44:23 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  net: Fix recursive descent in __scm_destroy().\n  iwl3945: fix deadlock on suspend\n  iwl3945: do not send scan command if channel count zero\n  iwl3945: clear scanning bits upon failure\n  ath5k: correct handling of rx status fields\n  zd1211rw: Add 2 device IDs\n  Fix logic error in rfkill_check_duplicity\n  iwlagn: avoid sleep in softirq context\n  iwlwifi: clear scanning bits upon failure\n  Revert \"ath5k: honor FIF_BCN_PRBRESP_PROMISC in STA mode\"\n  tcp: Fix recvmsg MSG_PEEK influence of blocking behavior.\n  netfilter: netns ct: walk netns list under RTNL\n  ipv6: fix run pending DAD when interface becomes ready\n  net/9p: fix printk format warnings\n  net: fix packet socket delivery in rx irq handler\n  xfrm: Have af-specific init_tempsel() initialize family field of temporary selector\n"
    },
    {
      "commit": "e252f4db187ef02d06c8551069d944d327b8bb9a",
      "tree": "0e704cc34161fc839ef203fbf71106de52e19a7d",
      "parents": [
        "2e93960c4d712096902c16fe5511fc91502c2527",
        "7838c15b8dd18e78a523513749e5b54bda07b0cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:53:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:53:47 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Block: use round_jiffies_up()\n  Add round_jiffies_up and related routines\n  block: fix __blkdev_get() for removable devices\n  generic-ipi: fix the smp_mb() placement\n  blk: move blk_delete_timer call in end_that_request_last\n  block: add timer on blkdev_dequeue_request() not elv_next_request()\n  bio: define __BIOVEC_PHYS_MERGEABLE\n  block: remove unused ll_new_mergeable()\n"
    },
    {
      "commit": "067ab19923673e3d8c982d877bedb9d65c976c22",
      "tree": "b11c20e4b5a6671355924b656f9348d4ece5523f",
      "parents": [
        "7597bc94d6f3bdccb086ac7f2ad91292fdaee2a4",
        "9fcd18c9e63e325dbd2b4c726623f760788d5aa8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:45:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:45:40 2008 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: re-tune balancing\n  sched: fix buddies for group scheduling\n  sched: backward looking buddy\n  sched: fix fair preempt check\n  sched: cleanup fair task selection\n"
    },
    {
      "commit": "3b53fbf4314594fa04544b02b2fc6e607912da18",
      "tree": "af88f6c7ecbdf06719c92cc8891f75f497b70555",
      "parents": [
        "518a09ef11f8454f4676125d47c3e775b300c6a5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 15:45:32 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 15:45:32 2008 -0800"
      },
      "message": "net: Fix recursive descent in __scm_destroy().\n\n__scm_destroy() walks the list of file descriptors in the scm_fp_list\npointed to by the scm_cookie argument.\n\nThose, in turn, can close sockets and invoke __scm_destroy() again.\n\nThere is nothing which limits how deeply this can occur.\n\nThe idea for how to fix this is from Linus.  Basically, we do all of\nthe fput()s at the top level by collecting all of the scm_fp_list\nobjects hit by an fput().  Inside of the initial __scm_destroy() we\nkeep running the list until it is empty.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7597bc94d6f3bdccb086ac7f2ad91292fdaee2a4",
      "tree": "17126979600f74f27b45669861808e577c305920",
      "parents": [
        "c36194871293100bd4b2ecb54ac9774d6e627aa2"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 05 17:38:47 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:44:19 2008 -0800"
      },
      "message": "Fix accidental implicit cast in HR-timer conversion\n\nFix the hrtimer_add_expires_ns() function.  It should take a \u0027u64 ns\u0027 argument,\nbut rather takes an \u0027unsigned long ns\u0027 argument - which might only be 32-bits.\n\nOn FRV, this results in the kernel locking up because hrtimer_forward() passes\nthe result of a 64-bit multiplication to this function, for which the compiler\ndiscards the top 32-bits - something that didn\u0027t happen when ktime_add_ns() was\ncalled directly.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c36194871293100bd4b2ecb54ac9774d6e627aa2",
      "tree": "9fd6894103918f439d0e7ec35620e18018ccfa76",
      "parents": [
        "c3302931db090d87e9015c3a7ce5c97a7dd90f78",
        "dc8a0843a435b2c0891e7eaea64faaf1ebec9b11"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:43:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:43:13 2008 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6:\n  [JFFS2] fix race condition in jffs2_lzo_compress()\n  [MTD] [NOR] Fix cfi_send_gen_cmd handling of x16 devices in x8 mode (v4)\n  [JFFS2] Fix lack of locking in thread_should_wake()\n  [JFFS2] Fix build failure with !CONFIG_JFFS2_FS_WRITEBUFFER\n  [MTD] [NAND] OMAP2: remove duplicated #include\n"
    },
    {
      "commit": "9c0aa1b87bf541affef519eb4879ce7c5a5941ae",
      "tree": "3bd583d8331c630b59fc01b68ab9cb34bb953d6e",
      "parents": [
        "45cfbe354785a5bc9a38354754d6f7322f598001"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:21 2008 -0800"
      },
      "message": "fat: Cleanup FAT attribute stuff\n\nThis adds three helpers:\n\nfat_make_attrs() - makes FAT attributes from inode.\nfat_make_mode()  - makes mode_t from FAT attributes.\nfat_save_attrs() - saves FAT attributes to inode.\n\nThen this replaces: MSDOS_MKMODE() by fat_make_mode(), fat_attr() by\nfat_make_attrs(), -\u003ei_attrs \u003d attr \u0026 ATTR_UNUSED by fat_save_attrs().\nAnd for root inode, those is used with ATTR_DIR instead of bogus\nATTR_NONE.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.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": "9e975dae2970d22557662761c8505ce9fd165684",
      "tree": "ecc662bd047ae784095b9effb4bafad99389b5f2",
      "parents": [
        "990e194e69009028e029b7d25da68c38241ec4f0"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:46 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:20 2008 -0800"
      },
      "message": "fat: split include/msdos_fs.h\n\nThis splits __KERNEL__ stuff in include/msdos_fs.h into fs/fat/fat.h.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.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": "f8d570a4745835f2238a33b537218a1bb03fc671",
      "tree": "776c2909523c684f0954949a2947ff0a792ba457",
      "parents": [
        "75fa67706cce5272bcfc51ed646f2da21f3bdb6e"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 00:37:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 13:51:50 2008 -0800"
      },
      "message": "net: Fix recursive descent in __scm_destroy().\n\n__scm_destroy() walks the list of file descriptors in the scm_fp_list\npointed to by the scm_cookie argument.\n\nThose, in turn, can close sockets and invoke __scm_destroy() again.\n\nThere is nothing which limits how deeply this can occur.\n\nThe idea for how to fix this is from Linus.  Basically, we do all of\nthe fput()s at the top level by collecting all of the scm_fp_list\nobjects hit by an fput().  Inside of the initial __scm_destroy() we\nkeep running the list until it is empty.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8950d89acaa8c353869e681772479d7955ae6f7a",
      "tree": "0e434e795f1b6cf1c1edb6df284cdc8bc62248c8",
      "parents": [
        "fefe5ab3d67b0ade6200fec5ed6f2812cbcbb658"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Wed Nov 05 16:18:03 2008 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Nov 06 15:52:28 2008 -0500"
      },
      "message": "ACPI: remove CONFIG_ACPI_EC\n\nRemove CONFIG_ACPI_EC.  It was always set the same as CONFIG_ACPI,\nand it had no menu label, so there was no way to set it to anything\nother than \"y\".\n\nPer section 6.5.4 of the ACPI 3.0b specification,\n\n    OSPM must make Embedded Controller operation regions, accessed\n    via the Embedded Controllers described in ECDT, available before\n    executing any control method.\n\nThe ECDT table is optional, but if it is present, the above text\nmeans that the EC it describes is a required part of the ACPI\nsubsystem, so CONFIG_ACPI_EC\u003dn wouldn\u0027t make sense.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nAcked-by: Alexey Starikovskiy \u003castarikovskiy@suse.de\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "2d3854a37e8b767a51aba38ed6d22817b0631e33",
      "tree": "3b55cc93720b2e525460216b196ed20298ae985b",
      "parents": [
        "75fa67706cce5272bcfc51ed646f2da21f3bdb6e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Nov 05 13:39:10 2008 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 06 09:05:33 2008 +0100"
      },
      "message": "cpumask: introduce new API, without changing anything\n\nImpact: introduce new APIs\n\nWe want to deprecate cpumasks on the stack, as we are headed for\ngynormous numbers of CPUs.  Eventually, we want to head towards an\nundefined \u0027struct cpumask\u0027 so they can never be declared on stack.\n\n1) New cpumask functions which take pointers instead of copies.\n   (cpus_* -\u003e cpumask_*)\n\n2) Several new helpers to reduce requirements for temporary cpumasks\n   (cpumask_first_and, cpumask_next_and, cpumask_any_and)\n\n3) Helpers for declaring cpumasks on or offstack for large NR_CPUS\n   (cpumask_var_t, alloc_cpumask_var and free_cpumask_var)\n\n4) \u0027struct cpumask\u0027 for explicitness and to mark new-style code.\n\n5) Make iterator functions stop at nr_cpu_ids (a runtime constant),\n   not NR_CPUS for time efficiency and for smaller dynamic allocations\n   in future.\n\n6) cpumask_copy() so we can allocate less than a full cpumask eventually\n   (for alloc_cpumask_var), and so we can eliminate the \u0027struct cpumask\u0027\n   definition eventually.\n\n7) work_on_cpu() helper for doing task on a CPU, rather than saving old\n   cpumask for current thread and manipulating it.\n\n8) smp_call_function_many() which is smp_call_function_mask() except\n   taking a cpumask pointer.\n\nNote that this patch simply introduces the new functions and leaves\nthe obsolescent ones in place.  This is to simplify the transition\npatches.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c133c469d38043d5aadaa03f2fb840d88d1cf4f",
      "tree": "c9af63f0c25efc7454fc3f46b362c80056977341",
      "parents": [
        "89f97496e81d2112b5e41416fe3020688c443818"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Nov 06 08:42:48 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 06 08:42:48 2008 +0100"
      },
      "message": "Add round_jiffies_up and related routines\n\nThis patch (as1158b) adds round_jiffies_up() and friends.  These\nroutines work like the analogous round_jiffies() functions, except\nthat they will never round down.\n\nThe new routines will be useful for timeouts where we don\u0027t care\nexactly when the timer expires, provided it doesn\u0027t expire too soon.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f92131c3dd567fc6df18ce3f46fcf57ecbdefbe0",
      "tree": "b53b15be43bf7631d0577dac11d27f9899a3cada",
      "parents": [
        "43381785a5ba1cb424b36812373a6a04054b5c3c"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Oct 29 14:10:51 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 06 08:41:55 2008 +0100"
      },
      "message": "bio: define __BIOVEC_PHYS_MERGEABLE\n\nDefine __BIOVEC_PHYS_MERGEABLE as the default implementation of\nBIOVEC_PHYS_MERGEABLE, so that its available for reuse within an\narch-specific definition of BIOVEC_PHYS_MERGEABLE.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9fcd18c9e63e325dbd2b4c726623f760788d5aa8",
      "tree": "fcc7f3c4b17ff66b62feb72194bc14560d948980",
      "parents": [
        "02479099c286894644f8e96c6bbb535ab64662fd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 05 16:52:08 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 05 18:04:38 2008 +0100"
      },
      "message": "sched: re-tune balancing\n\nImpact: improve wakeup affinity on NUMA systems, tweak SMP systems\n\nGiven the fixes+tweaks to the wakeup-buddy code, re-tweak the domain\nbalancing defaults on NUMA and SMP systems.\n\nTurn on SD_WAKE_AFFINE which was off on x86 NUMA - there\u0027s no reason\nwhy we would not want to have wakeup affinity across nodes as well.\n(we already do this in the standard NUMA template.)\n\nlat_ctx on a NUMA box is particularly happy about this change:\n\nbefore:\n\n |   phoenix:~/l\u003e ./lat_ctx -s 0 2\n |   \"size\u003d0k ovr\u003d2.60\n |   2 5.70\n\nafter:\n\n |   phoenix:~/l\u003e ./lat_ctx -s 0 2\n |   \"size\u003d0k ovr\u003d2.65\n |   2 2.07\n\na 2.75x speedup.\n\npipe-test is similarly happy about it too:\n\n |  phoenix:~/sched-tests\u003e ./pipe-test\n |   18.26 usecs/loop.\n |   14.70 usecs/loop.\n |   14.38 usecs/loop.\n |   10.55 usecs/loop.              # +WAKE_AFFINE on domain0+domain1\n |   8.63 usecs/loop.\n |   8.59 usecs/loop.\n |   9.03 usecs/loop.\n |   8.94 usecs/loop.\n |   8.96 usecs/loop.\n |   8.63 usecs/loop.\n\nAlso:\n\n - disable SD_BALANCE_NEWIDLE on NUMA and SMP domains (keep it for siblings)\n - enable SD_WAKE_BALANCE on SMP domains\n\nSysbench+postgresql improves all around the board, quite significantly:\n\n           .28-rc3-11474e2c  .28-rc3-11474e2c-tune\n-------------------------------------------------\n    1:             571              688    +17.08%\n    2:            1236             1206    -2.55%\n    4:            2381             2642    +9.89%\n    8:            4958             5164    +3.99%\n   16:            9580             9574    -0.07%\n   32:            7128             8118    +12.20%\n   64:            7342             8266    +11.18%\n  128:            7342             8064    +8.95%\n  256:            7519             7884    +4.62%\n  512:            7350             7731    +4.93%\n-------------------------------------------------\n  SUM:           55412            59341    +6.62%\n\nSo it\u0027s a win both for the runup portion, the peak area and the tail.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "467622ef2acb01986eab37ef96c3632b3ea35999",
      "tree": "b483202500c418696a14ee00857f7c7f6c20bbe4",
      "parents": [
        "b27cf88e9592953ae292d05324887f2f44979433"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Nov 01 04:19:11 2008 -0700"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Nov 05 14:40:25 2008 +0100"
      },
      "message": "[MTD] [NOR] Fix cfi_send_gen_cmd handling of x16 devices in x8 mode (v4)\n\nFor \"unlock\" cycles to 16bit devices in 8bit compatibility mode we need\nto use the byte addresses 0xaaa and 0x555. These effectively match\nthe word address 0x555 and 0x2aa, except the latter has its low bit set.\n\nMost chips don\u0027t care about the value of the \u0027A-1\u0027 pin in x8 mode,\nbut some -- like the ST M29W320D -- do. So we need to be careful to\nset it where appropriate.\n\ncfi_send_gen_cmd is only ever passed addresses where the low byte\nis 0x00, 0x55 or 0xaa. Of those, only addresses ending 0xaa are\naffected by this patch, by masking in the extra low bit when the device\nis known to be in compatibility mode.\n\n[dwmw2: Do it only when (cmd_ofs \u0026 0xff) \u003d\u003d 0xaa]\nv4: Fix  stupid typo in cfi_build_cmd_addr that failed to compile\n    I\u0027m writing this patch way to late at night.\nv3: Bring all of the work back into cfi_build_cmd_addr\n    including calling of map_bankwidth(map) and cfi_interleave(cfi)\n    So every caller doesn\u0027t need to.\nv2: Only modified the address if we our device_type is larger than our\n    bus width.\n\nCc: stable@kernel.org\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "9b22ea560957de1484e6b3e8538f7eef202e3596",
      "tree": "e922feeebfc8795e8ec2f02b58a99a23ae0ce74b",
      "parents": [
        "79654a7698195fa043063092f5c1ca5245276fba"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Nov 04 14:49:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 04 14:49:57 2008 -0800"
      },
      "message": "net: fix packet socket delivery in rx irq handler\n\nThe changes to deliver hardware accelerated VLAN packets to packet\nsockets (commit bc1d0411) caused a warning for non-NAPI drivers.\nThe __vlan_hwaccel_rx() function is called directly from the drivers\nRX function, for non-NAPI drivers that means its still in RX IRQ\ncontext:\n\n[   27.779463] ------------[ cut here ]------------\n[   27.779509] WARNING: at kernel/softirq.c:136 local_bh_enable+0x37/0x81()\n...\n[   27.782520]  [\u003cc0264755\u003e] netif_nit_deliver+0x5b/0x75\n[   27.782590]  [\u003cc02bba83\u003e] __vlan_hwaccel_rx+0x79/0x162\n[   27.782664]  [\u003cf8851c1d\u003e] atl1_intr+0x9a9/0xa7c [atl1]\n[   27.782738]  [\u003cc0155b17\u003e] handle_IRQ_event+0x23/0x51\n[   27.782808]  [\u003cc015692e\u003e] handle_edge_irq+0xc2/0x102\n[   27.782878]  [\u003cc0105fd5\u003e] do_IRQ+0x4d/0x64\n\nSplit hardware accelerated VLAN reception into two parts to fix this:\n\n- __vlan_hwaccel_rx just stores the VLAN TCI and performs the VLAN\n  device lookup, then calls netif_receive_skb()/netif_rx()\n\n- vlan_hwaccel_do_receive(), which is invoked by netif_receive_skb()\n  in softirq context, performs the real reception and delivery to\n  packet sockets.\n\nReported-and-tested-by: Ramon Casellas \u003cramon.casellas@cttc.es\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a87e42e955ff27e07a77f65f8f077dc7c4171e1",
      "tree": "e5d50b2b91c17c6719b75bbd88ea5cbed4130304",
      "parents": [
        "a464189de350b050aa8f334bd4cc53ed406e56dd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 03 19:01:09 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Nov 04 01:08:27 2008 -0500"
      },
      "message": "libata: implement ATA_HORKAGE_ATAPI_MOD16_DMA and apply it\n\nlibata always uses PIO for ATAPI commands when the number of bytes to\ntransfer isn\u0027t multiple of 16 but quantum DAT72 chokes on odd bytes\nPIO transfers.  Implement a horkage to skip the mod16 check and apply\nit to the quantum device.\n\nThis is reported by John Clark in the following thread.\n\n  http://thread.gmane.org/gmane.linux.ide/34748\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: John Clark \u003cclarkjc@runbox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "a7b930cdf8ec790c85f81416c87f7c066679d373",
      "tree": "c96fe44a2160311461b886f2e3ee941f5ba0a682",
      "parents": [
        "bffadffd43d438c3143b8d172a463de89345b836"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sun Nov 02 13:32:43 2008 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Nov 03 14:31:18 2008 -0800"
      },
      "message": "PCI: annotate return value of pci_ioremap_bar with __iomem\n\nWas missing from the initial patch.\n\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "da4a22cba7cb2d922691214aed6b1977f04efaff",
      "tree": "89d3f02b13cd1eb280a33240878880f91066bac2",
      "parents": [
        "20ebc0073b0fb63ce4a27ca761418ecfdecaadb7",
        "e5beae16901795223d677f15aa2fe192976278ee"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 03 10:15:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 03 10:15:40 2008 -0800"
      },
      "message": "Merge branch \u0027io-mappings-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027io-mappings-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  io mapping: clean up #ifdefs\n  io mapping: improve documentation\n  i915: use io-mapping interfaces instead of a variety of mapping kludges\n  resources: add io-mapping functions to dynamically map large device apertures\n  x86: add iomap_atomic*()/iounmap_atomic() on 32-bit using fixmaps\n"
    },
    {
      "commit": "e5beae16901795223d677f15aa2fe192976278ee",
      "tree": "da0879ee11a79beda5e95aa3c541ea6ff5322a53",
      "parents": [
        "8d5c6603c408d91ecf543f244f10ccb8b500ad95"
      ],
      "author": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Mon Nov 03 18:21:45 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 03 18:21:45 2008 +0100"
      },
      "message": "io mapping: clean up #ifdefs\n\nImpact: cleanup\n\nclean up ifdefs: change #ifdef CONFIG_X86_32/64 to\nCONFIG_HAVE_ATOMIC_IOMAP.\n\nflip around the #ifdef sections to clean up the structure.\n\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "391e572cd1a63aee9c8d4c2d5e3dada91d86bc43",
      "tree": "b89d924e644a7e66cd2b63d978607c6d0d3e7285",
      "parents": [
        "4ac96572f1f6abe44b5e02e80fdfb5a990129613",
        "48dcc33e5e11de0f76b65b113988dbc930d17395"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 02 10:15:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 02 10:15:52 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (33 commits)\n  af_unix: netns: fix problem of return value\n  IRDA: remove double inclusion of module.h\n  udp: multicast packets need to check namespace\n  net: add documentation for skb recycling\n  key: fix setkey(8) policy set breakage\n  bpa10x: free sk_buff with kfree_skb\n  xfrm: do not leak ESRCH to user space\n  net: Really remove all of LOOPBACK_TSO code.\n  netfilter: nf_conntrack_proto_gre: switch to register_pernet_gen_subsys()\n  netns: add register_pernet_gen_subsys/unregister_pernet_gen_subsys\n  net: delete excess kernel-doc notation\n  pppoe: Fix socket leak.\n  gianfar: Don\u0027t reset TBI\u003c-\u003eSerDes link if it\u0027s already up\n  gianfar: Fix race in TBI/SerDes configuration\n  at91_ether: request/free GPIO for PHY interrupt\n  amd8111e: fix dma_free_coherent context\n  atl1: fix vlan tag regression\n  SMC91x: delete unused local variable \"lp\"\n  myri10ge: fix stop/go mmio ordering\n  bonding: fix panic when taking bond interface down before removing module\n  ...\n"
    },
    {
      "commit": "4ac96572f1f6abe44b5e02e80fdfb5a990129613",
      "tree": "4eb5698bb5b48435ccf5d919629fdbbcf235c561",
      "parents": [
        "c10555faca342820d861e80ca2e1edcf2114f751"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Nov 02 09:51:27 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 02 10:15:07 2008 -0800"
      },
      "message": "linux/string.h: fix comment typo\n\ns/user/used/\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9663f2e6a6cf3f82b06d8fb699b11b80f92553ba",
      "tree": "108ce4d443e87c8ddc00c028c995b83a6d01e420",
      "parents": [
        "fd9409343521eac22b6ed51686128a643c7c976b"
      ],
      "author": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Thu Oct 30 19:38:18 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 31 10:12:39 2008 +0100"
      },
      "message": "resources: add io-mapping functions to dynamically map large device apertures\n\nImpact: add new generic io_map_*() APIs\n\nGraphics devices have large PCI apertures which would consume a significant\nfraction of a 32-bit address space if mapped during driver initialization.\nUsing ioremap at runtime is impractical as it is too slow.\n\nThis new set of interfaces uses atomic mappings on 32-bit processors and a\nlarge static mapping on 64-bit processors to provide reasonable 32-bit\nperformance and optimal 64-bit performance.\n\nThe current implementation sits atop the io_map_atomic fixmap-based\nmechanism for 32-bit processors.\n\nThis includes some editorial suggestions from Randy Dunlap for\nDocumentation/io-mapping.txt\n\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad1d967c88e349c7e822ad75dd3247a2a50d2ea3",
      "tree": "4564a715df604f9e8816f60f7bc6ab0d211c848c",
      "parents": [
        "194dcdba5a11a0238aef7ed91f32df77cb31505b"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Oct 30 23:54:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 30 23:54:35 2008 -0700"
      },
      "message": "net: delete excess kernel-doc notation\n\nRemove excess kernel-doc function parameters from networking header\n\u0026 driver files:\n\nWarning(include/net/sock.h:946): Excess function parameter or struct member \u0027sk\u0027 description in \u0027sk_filter_release\u0027\nWarning(include/linux/netdevice.h:1545): Excess function parameter or struct member \u0027cpu\u0027 description in \u0027netif_tx_lock\u0027\nWarning(drivers/net/wan/z85230.c:712): Excess function parameter or struct member \u0027regs\u0027 description in \u0027z8530_interrupt\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "194dcdba5a11a0238aef7ed91f32df77cb31505b",
      "tree": "ad9b2e763d702ab59d176f3acc57dbb200afdad1",
      "parents": [
        "19b8cba2e8539e3b8022316f94837d8f242b8f80",
        "bdb59f949d663b7e943fb5f40b2557af4314abf9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 30 23:50:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 30 23:50:18 2008 -0700"
      },
      "message": "Merge branch \u0027davem-fixes\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6\n"
    },
    {
      "commit": "9ce8e3073d9cfd6f859c22a25441db41b85cbf6e",
      "tree": "81ddeb3d7203677b541b132b4ed8a909137d7ccf",
      "parents": [
        "b9d5b89b487517cbd4cb4702da829e07ef9e4432"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Aug 27 15:23:18 2008 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Oct 31 01:45:06 2008 -0400"
      },
      "message": "libata: add whitelist for devices with known good pata-sata bridges\n\nlibata currently imposes a UDMA5 max transfer rate and 200 sector max\ntransfer size for SATA devices that sit behind a pata-sata bridge. Lots\nof devices have known good bridges that don\u0027t need this limit applied.\nThe MTRON SSD disks are such devices. Transfer rates are increased by\n20-30% with the restriction removed.\n\nSo add a \"blacklist\" entry for the MTRON devices, with a flag indicating\nthat the bridge is known good.\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "c132419e560a2ecd3c8cf77f9c37e103e74b3754",
      "tree": "09f6753d9eb9b4fd06b0f7651414d6555ee2cccb",
      "parents": [
        "71527ef484426f2a4fb868da379b46f4408e80d6"
      ],
      "author": {
        "name": "Trent Piepho",
        "email": "tpiepho@freescale.com",
        "time": "Thu Oct 30 18:17:06 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Oct 31 00:59:46 2008 -0400"
      },
      "message": "gianfar: Fix race in TBI/SerDes configuration\n\nThe init_phy() function attaches to the PHY, then configures the\nSerDes\u003c-\u003eTBI link (in SGMII mode).  The TBI is on the MDIO bus with the PHY\n(sort of) and is accessed via the gianfar\u0027s MDIO registers, using the\nfunctions gfar_local_mdio_read/write(), which don\u0027t do any locking.\n\nThe previously attached PHY will start a work-queue on a timer, and\nprobably an irq handler as well, which will talk to the PHY and thus use\nthe MDIO bus.  This uses phy_read/write(), which have locking, but not\nagainst the gfar_local_mdio versions.\n\nThe result is that PHY code will try to use the MDIO bus at the same time\nas the SerDes setup code, corrupting the transfers.\n\nSetting up the SerDes before attaching to the PHY will insure that there is\nno race between the SerDes code and *our* PHY, but doesn\u0027t fix everything.\nTypically the PHYs for all gianfar devices are on the same MDIO bus, which\nis associated with the first gianfar device.  This means that the first\ngianfar\u0027s SerDes code could corrupt the MDIO transfers for a different\ngianfar\u0027s PHY.\n\nThe lock used by phy_read/write() is contained in the mii_bus structure,\nwhich is pointed to by the PHY.  This is difficult to access from the\ngianfar drivers, as there is no link between a gianfar device and the\nmii_bus which shares the same MDIO registers.  As far as the device layer\nand drivers are concerned they are two unrelated devices (which happen to\nshare registers).\n\nGenerally all gianfar devices\u0027 PHYs will be on the bus associated with the\nfirst gianfar.  But this might not be the case, so simply locking the\ngianfar\u0027s PHY\u0027s mii bus might not lock the mii bus that the SerDes setup\ncode is going to use.\n\nWe solve this by having the code that creates the gianfar platform device\nlook in the device tree for an mdio device that shares the gianfar\u0027s\nregisters.  If one is found the ID of its platform device is saved in the\ngianfar\u0027s platform data.\n\nA new function in the gianfar mii code, gfar_get_miibus(), can use the bus\nID to search through the platform devices for a gianfar_mdio device with\nthe right ID.  The platform device\u0027s driver data is the mii_bus structure,\nwhich the SerDes setup code can use to lock the current bus.\n\nSigned-off-by: Trent Piepho \u003ctpiepho@freescale.com\u003e\nCC: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "65fc716fa673cf98fb5887180fd3c52ca0371198",
      "tree": "8f0924bdb63bafec89ece7f4fab36d31a7e9e2b6",
      "parents": [
        "814b3bed63c23f310121befa0fe004a20dec95b2",
        "15a2ee74d22674c58f347b16b3af5601fa4e15db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 30 12:55:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 30 12:55:49 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:\n  Fix incompatibility with versions of Perl less than 5.6.0\n  kbuild: do not include arch/\u003cARCH\u003e/include/asm in find-sources twice.\n  kbuild: tag with git revision when git describe is missing\n  kbuild: prevent modpost from looking for a .cmd file for a static library linked into a module\n  kbuild: fix KBUILD_EXTRA_SYMBOLS\n  adjust init section definitions\n  scripts/checksyscalls.sh: fix for non-gnu sed\n  scripts/package: don\u0027t break if %{_smp_mflags} isn\u0027t set\n  kbuild: setlocalversion: dont include svn change count\n  kbuild: improve check-symlink\n  kbuild: mkspec - fix build rpm\n"
    },
    {
      "commit": "cdcba02a5f64f4df20b6749a0169124e38ecb733",
      "tree": "bea066c2ddb66038a5e775708dc6e0949375f106",
      "parents": [
        "53387b0151260f6c3513adeca77f05ed052d6217",
        "fa157bdfe87c5ea98a80b96cb08f1ab509e21a52"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 30 11:51:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 30 11:51:43 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:\n  HID: add quirk entry for no-name keyboard (0x13ba/0x0017)\n  HID: fix hid_device_id for cross compiling\n  HID: sync on deleted io_retry timer in usbhid driver\n  HID: fix oops during suspend of unbound HID devices\n"
    },
    {
      "commit": "effdb9492de01a51f8123e62e87e3330688f9bf1",
      "tree": "5403f40a168c62039e6e42e9698a5550649cf837",
      "parents": [
        "731572d39fcd3498702eda4600db4c43d51e0b26"
      ],
      "author": {
        "name": "Fernando Luis Vazquez Cao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Wed Oct 29 14:01:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 30 11:38:47 2008 -0700"
      },
      "message": "spi: fix compile error\n\nFix compile error below:\n\n     LD      drivers/spi/built-in.o\n     CC [M]  drivers/spi/spi_gpio.o\n   In file included from drivers/spi/spi_gpio.c:26:\n   include/linux/spi/spi_bitbang.h:23: error: field `work\u0027 has incomplete type\n   make[2]: *** [drivers/spi/spi_gpio.o] Error 1\n   make[1]: *** [drivers/spi] Error 2\n   make: *** [drivers] Error 2\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "731572d39fcd3498702eda4600db4c43d51e0b26",
      "tree": "f892907ae20539845f353d72d2a2bf202b67e007",
      "parents": [
        "6c89161b10f5771ee0b51ada0fce0e8835e72ade"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Wed Oct 29 14:01:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 30 11:38:47 2008 -0700"
      },
      "message": "nfsd: fix vm overcommit crash\n\nJunjiro R.  Okajima reported a problem where knfsd crashes if you are\nusing it to export shmemfs objects and run strict overcommit.  In this\nsituation the current-\u003emm based modifier to the overcommit goes through a\nNULL pointer.\n\nWe could simply check for NULL and skip the modifier but we\u0027ve caught\nother real bugs in the past from mm being NULL here - cases where we did\nneed a valid mm set up (eg the exec bug about a year ago).\n\nTo preserve the checks and get the logic we want shuffle the checking\naround and add a new helper to the vm_ security wrappers\n\nAlso fix a current-\u003emm reference in nommu that should use the passed mm\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix build]\nReported-by: Junjiro R. Okajima \u003chooanon05@yahoo.co.jp\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Alan Cox \u003calan@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": "7106a27b52940085c2c3f6e42742d3a2a84d872a",
      "tree": "439723ef5835c3c21205ebdc7a767f2b3fa2de62",
      "parents": [
        "89a056df78b113fcab21d71cd24aa1893c09225b"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Oct 29 14:01:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 30 11:38:47 2008 -0700"
      },
      "message": "kernel.h: fix might_sleep kernel-doc\n\nPut the kernel-doc for might_sleep() _immediately_ before the macro\n(no intervening lines).  Otherwise kernel-doc complains like so:\n\nWarning(linux-2.6.27-rc3-git2//include/linux/kernel.h:129): No description found for parameter \u0027file\u0027\nWarning(linux-2.6.27-rc3-git2//include/linux/kernel.h:129): No description found for parameter \u0027line\u0027\n\nbecause kernel-doc is looking at the wrong function prototype (i.e.,\n__might_sleep).  [Yes, I have a todo note to myself to check/warn for that\ninconsistency in scripts/kernel-doc.]\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: \u003cUwe.Kleine-Koenig@digi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e02ed4b4a2fae34aae766a5bb93ae235f60adb8",
      "tree": "bddfb61b7cc4a4007ae176ccb1ace5740b61da8d",
      "parents": [
        "9b913735e53ab0da4a792bac0de8e178cc13dcfb"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Oct 29 14:00:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 30 11:38:45 2008 -0700"
      },
      "message": "fs: remove prepare_write/commit_write\n\nNothing uses prepare_write or commit_write. Remove them from the tree\ncompletely.\n\n[akpm@linux-foundation.org: schedule simple_prepare_write() for unexporting]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "9b913735e53ab0da4a792bac0de8e178cc13dcfb"
}
