)]}'
{
  "log": [
    {
      "commit": "f00546363fff1576ceddc2690d47e5f9c1dd2e05",
      "tree": "f6cb8965b6754fc6ce7570cf1471ebe9874e509a",
      "parents": [
        "50f732ee63b91eb08a29974b36bd63e1150bb642",
        "28b57cddb3ed4f7999e4b76ef36ebaaf6e2e0c37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 15:34:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 15:34:57 2007 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (46 commits)\n  [MTD] [MAPS] drivers/mtd/maps/ck804xrom.c: convert pci_module_init()\n  [MTD] [NAND] CM-x270 MTD driver\n  [MTD] [NAND] Wrong calculation of page number in nand_block_bad()\n  [MTD] [MAPS] fix plat-ram printk format\n  [JFFS2] Fix compr_rubin.c build after include file elimination.\n  [JFFS2] Handle inodes with only a single metadata node with non-zero isize\n  [JFFS2] Tidy up licensing/copyright boilerplate.\n  [MTD] [OneNAND] Exit loop only when column start with 0\n  [MTD] [OneNAND] Fix access the past of the real oobfree array\n  [MTD] [OneNAND] Update Samsung OneNAND official URL\n  [JFFS2] Better fix for all-zero node headers\n  [JFFS2] Improve read_inode memory usage, v2.\n  [JFFS2] Improve failure mode if inode checking leaves unchecked space.\n  [JFFS2] Fix cross-endian build.\n  [MTD] Finish conversion mtd_blkdevs to use the kthread API\n  [JFFS2] Obsolete dirent nodes immediately on unlink, where possible.\n  Use menuconfig objects: MTD\n  [MTD] mtd_blkdevs: Convert to use the kthread API\n  [MTD] Fix fwh_lock locking\n  [JFFS2] Speed up mount for directly-mapped NOR flash\n  ...\n"
    },
    {
      "commit": "50f732ee63b91eb08a29974b36bd63e1150bb642",
      "tree": "fdfc63411a34ffbe26a3b0a997aaeff742a0301b",
      "parents": [
        "aa5bc2b58e3344da57f26b62e99e13e91c9e0a94",
        "a7205b30106a2d4ee268132644cdb292da2d9b41"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 14:19:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 14:19:17 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (78 commits)\n  USB: update MAINAINERS and CREDITS for Freescale USB driver\n  USB: update gadget files for fsl_usb2_udc driver\n  USB: add Freescale high-speed USB SOC device controller driver\n  USB: quirk for broken suspend of IT8152F/G\n  USB: iowarrior.c: timeouts too small in usb_control_msg calls\n  USB: dell device id for option.c\n  USB: Remove Huawei unusual_devs entry\n  USB: CP2101 New Device IDs\n  USB: add picdem device to ldusb\n  usbfs micro optimitation\n  USB: remove ancient/broken CRIS hcd\n  usb ethernet gadget, workaround network stack API glitch\n  USB: add \"busnum\" attribute for USB devices\n  USB: cxacru: ADSL state management\n  usbatm: Detect usb device shutdown and ignore failed urbs\n  USB: Remove duplicate define of OHCI_QUIRK_ZFMICRO\n  USB: BandRich BandLuxe HSDPA Data Card Driver\n  USB gadget rndis: fix struct rndis_packet_msg_type unaligned bug\n  USB Elan FTDI: check for driver registration status\n  USB: sierra: add more checks on shutdown\n  ...\n"
    },
    {
      "commit": "aa5bc2b58e3344da57f26b62e99e13e91c9e0a94",
      "tree": "c6e9ea1b3ee8af88b3a050b3fba160ea2f77e404",
      "parents": [
        "d868772fff6c4b881d66af8640251714e1aefa98",
        "d455cf5d0db9e3eb1b204cd4a61d8c5ccfe4305f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 14:18:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 14:18:45 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb\n\n* \u0027master\u0027 of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (184 commits)\n  V4L/DVB (5563): Radio-maestro.c Replace radio_ioctl to use video_ioctl2\n  V4L/DVB (5562): Radio-gemtek-pci.c Replace gemtek_pci_ioctl to use video_ioctl2\n  V4L/DVB (5560): Ivtv: fix incorrect bitwise-and for command flags.\n  V4L/DVB (5558): Opera: use 7-bit i2c addresses\n  V4L/DVB (5557): Cafe_ccic: check return value of pci_enable_device\n  V4L/DVB (5556): Radio-gemtek.c Replace gemtek_ioctl to use video_ioctl2\n  V4L/DVB (5555): Radio-aimslab.c Replace rt_ioctl to use video_ioctl2\n  V4L/DVB (5554): Fix: vidioc_g_parm were not zeroing the memory\n  V4L/DVB (5553): Replace typhoon_do_ioctl to use video_ioctl2\n  V4L/DVB (5552): Plan-b: Switch to refcounting PCI API\n  V4L/DVB (5551): Plan-b: header change\n  V4L/DVB (5550): Radio-sf16fmi.c Replace fmi_do_ioctl to use video_ioctl2\n  V4L/DVB (5549): Radio-sf16fmr2.c Replace fmr2_do_ioctl to use video_ioctl2\n  V4L/DVB (5548): Fix v4l2 buffer to the length\n  V4L/DVB (5547): Add ENUM_FRAMESIZES and ENUM_FRAMEINTERVALS ioctls\n  V4L/DVB (5546): Radio-terratec.c Replace tt_do_ioctl to use video_ioctl2\n  V4L/DVB (5545): Saa7146: Release capture buffers on device close\n  V4L/DVB (5544): Budget-av: Make inversion setting configurable, add KNC ONE V1.0 card\n  V4L/DVB (5543): Tda10023: Add support for frontend TDA10023\n  V4L/DVB (5542): Budget-av: Remove polarity switching of the clock for DVB-C\n  ...\n"
    },
    {
      "commit": "aa2ce5ca6be480cb139e21258671c2c27826f8ff",
      "tree": "c6e0cf5fc2693de690fbb970ed8a9b0e9637bf35",
      "parents": [
        "8c9862e512f59ae3f41f83c109be12f93e37bb2d"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue Apr 17 17:51:38 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 13:28:39 2007 -0700"
      },
      "message": "USB: \u003clinux/usb/ch9.h\u003e minor doc update\n\nMinor doc update to \u003clinux/usb/ch9.h\u003e ... say where USB_DT_CS_* came\nfrom and update the definitions to match how they\u0027re derived there.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1941044aa9632aa8debbb94a3c8a5ed0ebddade8",
      "tree": "ea885677876b793a26cf684eca6f8639478eb222",
      "parents": [
        "38c3cb5b677cf551cd93a494dc5c551271d90ac1"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Mar 27 13:33:59 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 13:28:39 2007 -0700"
      },
      "message": "USB: add \"last_busy\" field for use in autosuspend\n\nThis patch (as877) adds a \"last_busy\" field to struct usb_device, for\nuse by the autosuspend framework.  Now if an autosuspend call comes at\na time when the device isn\u0027t busy but hasn\u0027t yet been idle for long\nenough, the timer can be set to exactly the desired value.  And we\nwill be ready to handle things like HID drivers, which can\u0027t maintain\na useful usage count and must rely on the time-of-last-use to decide\nwhen to autosuspend.\n\nThe patch also makes some related minor improvements:\n\n\tMove the calls to the autosuspend condition-checking routine\n\tinto usb_suspend_both(), which is the only place where it\n\treally matters.\n\n\tIf the autosuspend timer is already running, don\u0027t stop\n\tand restart it.\n\n\tReplace immediate returns with gotos so that the optional\n\tdebugging ouput won\u0027t be bypassed.\n\n\tIf autoresume is disabled but the device is already awake,\n\tdon\u0027t return an error for an autoresume call.\n\n\tDon\u0027t try to autoresume a device if it isn\u0027t suspended.\n\t(Yes, this undercuts the previous change -- so sue me.)\n\n\tDon\u0027t duplicate existing code in the autosuspend work routine.\n\n\tFix the kerneldoc in usb_autopm_put_interface(): If an\n\tautoresume call fails, the usage counter is left unchanged.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "9f8b17e643fe6aa505629658445849397bda4e4f",
      "tree": "30c45914f7be9f355db30964323673c7d37080e8",
      "parents": [
        "87840289637e9ea95118ebd76e2e335fdcddd725"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Mar 13 15:59:31 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 13:28:37 2007 -0700"
      },
      "message": "USB: make usbdevices export their device nodes instead of using a separate class\n\no The \"real\" usb-devices export now a device node which can\n  populate /dev/bus/usb.\n\no The usb_device class is optional now and can be disabled in the\n  kernel config. Major/minor of the \"real\" devices and class devices\n  are the same.\n\no The environment of the usb-device event contains DEVNUM and BUSNUM to\n  help udev and get rid of the ugly udev rule we need for the class\n  devices.\n\no The usb-devices and usb-interfaces share the same bus, so I used\n  the new \"struct device_type\" to let these devices identify\n  themselves. This also removes the current logic of using a magic\n  platform-pointer.\n  The name of the device_type is also added to the environment\n  which makes it easier to distinguish the different kinds of devices\n  on the same subsystem.\n\n  It looks like this:\n    add@/devices/pci0000:00/0000:00:1d.1/usb2/2-1\n    ACTION\u003dadd\n    DEVPATH\u003d/devices/pci0000:00/0000:00:1d.1/usb2/2-1\n    SUBSYSTEM\u003dusb\n    SEQNUM\u003d1533\n    MAJOR\u003d189\n    MINOR\u003d131\n    DEVTYPE\u003dusb_device\n    PRODUCT\u003d46d/c03e/2000\n    TYPE\u003d0/0/0\n    BUSNUM\u003d002\n    DEVNUM\u003d004\n\nThis udev rule works as a replacement for usb_device class devices:\n  SUBSYSTEM\u003d\u003d\"usb\", ACTION\u003d\u003d\"add\", ENV{DEVTYPE}\u003d\u003d\"usb_device\", \\\n    NAME\u003d\"bus/usb/$env{BUSNUM}/$env{DEVNUM}\", MODE\u003d\"0644\"\n\nUpdated patch, which needs the device_type patches in Greg\u0027s tree.\n\nI also got a bugzilla assigned for this. :)\n  https://bugzilla.novell.com/show_bug.cgi?id\u003d250659\n\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "2add5229d77a3de08015feef437653e02372162f",
      "tree": "436109572453656747d6e5b3aec14939b1202ec3",
      "parents": [
        "13f6be01db9ada144f28241f939f4f3f8ec8e40b"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Mar 20 14:59:39 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 13:28:37 2007 -0700"
      },
      "message": "USB: add power/level sysfs attribute\n\nThis patch (as874) adds another piece to the user-visible part of the\nUSB autosuspend interface.  The new power/level sysfs attribute allows\nusers to force the device on (with autosuspend off), force the device\nto sleep (with autoresume off), or return to normal automatic operation.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "eaafbc3a8adab16babe2c20e54ad3ba40d1fbbc9",
      "tree": "fea84341faf742efe8beeaff03ec94b687b7b26f",
      "parents": [
        "6b157c9bf3bace6eeb4a973da63923ef24995cce"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Mar 13 16:39:15 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 13:28:35 2007 -0700"
      },
      "message": "USB: Allow autosuspend delay to equal 0\n\nThis patch (as867) adds an entry for the new power/autosuspend\nattribute in Documentation/ABI/testing, and it changes the behavior of\nthe delay value.  Now a delay of 0 means to autosuspend as soon as\npossible, and negative values will prevent autosuspend.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "bb74782e621e988555354abba03812982236a3af",
      "tree": "b7429496a9689292678833bdeb9993ceb7b2a314",
      "parents": [
        "f1c9e30b5e4cdd8aae5f0ea87004b1b61ec41881"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oneukum@suse.de",
        "time": "Tue Feb 27 11:30:24 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 13:28:33 2007 -0700"
      },
      "message": "USB: additional structure from cdc spec\n\nthis adds another structure for CDC devices to cdc.h.\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d868772fff6c4b881d66af8640251714e1aefa98",
      "tree": "c95a68d358d5c875d25763ffe9a44fe9f2081f34",
      "parents": [
        "a205752d1ad2d37d6597aaae5a56fc396a770868",
        "404d5b185b4eb56d6fa2f7bd27833f8df1c38ce4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 12:58:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 12:58:54 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (46 commits)\n  dev_dbg: check dev_dbg() arguments\n  drivers/base/attribute_container.c: use mutex instead of binary semaphore\n  mod_sysfs_setup() doesn\u0027t return errno when kobject_add_dir() failure occurs\n  s2ram: add arch irq disable/enable hooks\n  define platform wakeup hook, use in pci_enable_wake()\n  security: prevent permission checking of file removal via sysfs_remove_group()\n  device_schedule_callback() needs a module reference\n  s390: cio: Delay uevents for subchannels\n  sysfs: bin.c printk fix\n  Driver core: use mutex instead of semaphore in DMA pool handler\n  driver core: bus_add_driver should return an error if no bus\n  debugfs: Add debugfs_create_u64()\n  the overdue removal of the mount/umount uevents\n  kobject: Comment and warning fixes to kobject.c\n  Driver core: warn when userspace writes to the uevent file in a non-supported way\n  Driver core: make uevent-environment available in uevent-file\n  kobject core: remove rwsem from struct subsystem\n  qeth: Remove usage of subsys.rwsem\n  PHY: remove rwsem use from phy core\n  IEEE1394: remove rwsem use from ieee1394 core\n  ...\n"
    },
    {
      "commit": "6816b1991fd4bcb457c9534e8136476e45bfee0a",
      "tree": "eb705ee8377db005524ac4c6c78134cb7b7652b0",
      "parents": [
        "3700a90f05f316948328e8d0e6a9955338a96565"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Sun Mar 11 10:54:11 2007 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Fri Apr 27 15:44:34 2007 -0300"
      },
      "message": "V4L/DVB (5419): Add comment how the speed field is interpreted.\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "3700a90f05f316948328e8d0e6a9955338a96565",
      "tree": "157bf9985dcb85d2d921bc080e585ec3449e50e7",
      "parents": [
        "f40a29168475d64d854ef16a9263b24b0b2a9c6e"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Sun Mar 11 10:50:03 2007 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Fri Apr 27 15:44:33 2007 -0300"
      },
      "message": "V4L/DVB (5418): Speed is a signed 32-bit integer, not unsigned.\n\nNegative speed values have to be allowed for reverse playback.\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "43d0dfcfc654fa18b6dd91b9483273b44112997f",
      "tree": "d61e2405bac19c16e76021d4027935785edb0ca7",
      "parents": [
        "5332bdbe9aae9e1a8fc5daaca6c75f05bc37d310"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Sat Mar 10 06:24:30 2007 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Fri Apr 27 15:44:23 2007 -0300"
      },
      "message": "V4L/DVB (5402): Add vsync_field to the union in video_event for VIDEO_EVENT_VSYNC\n\nVIDEO_EVENT_VSYNC needs to tell the application which field it was that\nreceived a VSYNC (odd/even/progressive). The vsync_field was added to the\nunion in video_event for this purpose.\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "2435be11ae1afb64ac7dfb25e10b6e3037ab0522",
      "tree": "14bd2585f0e2b909d4ae47556e972d876b2edabb",
      "parents": [
        "3434eb7e14d9587ee56f3462bcfa5726b62dadb9"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Fri Apr 27 12:31:09 2007 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Fri Apr 27 15:43:28 2007 -0300"
      },
      "message": "V4L/DVB (5307): Add support for the cx23415 MPEG decoding features.\n\nThe cx23415 adds some extra features that this DVB decoding API did\nnot support. This API has been expanded to support the required\nfeatures. Both source and binary backwards compatibility is kept\nintact by these changes. So existing applications are not affected.\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Ralph Metzler \u003crjkm@metzlerbros.de\u003e\nSigned-off-by: Oliver Endriss \u003co.endriss@gmx.de\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "3434eb7e14d9587ee56f3462bcfa5726b62dadb9",
      "tree": "49afb0915dac8e7864f89582ddbb7a6453982e2c",
      "parents": [
        "ced80c67cd1ed503c6fb72f02ac7342ab4ebf67a"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Fri Apr 27 12:31:08 2007 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Fri Apr 27 15:43:27 2007 -0300"
      },
      "message": "V4L/DVB (5306): Add support for VIDIOC_G_CHIP_IDENT\n\nVIDIOC_G_CHIP_IDENT improves debugging of card problems: it can be\nused to detect which chips are on the board and based on that information\nselected register dumps can be made, making it easy to debug complicated\nmedia chips containing tens or hundreds of registers.\nThis ioctl replaces the internal VIDIOC_INT_G_CHIP_IDENT ioctl.\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "b2787845fb91da18ebb079dc9297f92d990e9fe1",
      "tree": "c6e9ad31158f2679c8ea384dd068ff4051db1358",
      "parents": [
        "3bfb7398e2554fb54acb2900b81de144eb41c3ac"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Fri Apr 27 12:31:02 2007 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Fri Apr 27 15:43:21 2007 -0300"
      },
      "message": "V4L/DVB (5289): Add support for video output overlays.\n\nAdd V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY support.\nAlso add support for local and global alpha overlays.\nAdd new field enums V4L2_FIELD_INTERLACED_TB and V4L2_FIELD_INTERLACED_BT.\nThese changes are needed to support the ivtv On Screen Display features.\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "206ebaf32795cf1582b1e2ff2ec6a560c9e986b8",
      "tree": "9c4d72fdf06eb4eb07bbda40e3aca797ac48a790",
      "parents": [
        "5eee72e88416ef11f55791626440ac3c9018c4c0"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Fri Apr 27 12:31:01 2007 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Fri Apr 27 15:43:19 2007 -0300"
      },
      "message": "V4L/DVB (5272): Add V4L2_CAP_VIDEO_OUTPUT_POS capability\n\nAdd V4L2_CAP_VIDEO_OUTPUT_POS capability and x, y position coordinates\nto struct v4l2_pix_format.\nThis is needed to support positioning the MPEG/YUV output of the cx23415.\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "5eee72e88416ef11f55791626440ac3c9018c4c0",
      "tree": "0d4f7a69f2ec75c95a459d5ef6ab461e6750910a",
      "parents": [
        "b7eee616ad8db5db5441a7d82083003df3ab6d3b"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Fri Apr 27 12:31:00 2007 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Fri Apr 27 15:43:18 2007 -0300"
      },
      "message": "V4L/DVB (5268): Add support for three new MPEG controls.\n\nAdded V4L2_CID_MPEG_AUDIO_MUTE, V4L2_CID_MPEG_VIDEO_MUTE and\nV4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS controls together with\ntheir implementation in the cx2341x module.\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "d1da4e50e5d09f02c340927a4fcb7f54202fa033",
      "tree": "7f98317bdd45dbdb7644e9179891c5af6a3a8ef1",
      "parents": [
        "78ab67da1002d954ea4c3e2b441e2483c41f94e8",
        "a205752d1ad2d37d6597aaae5a56fc396a770868"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri Apr 27 19:16:19 2007 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri Apr 27 19:16:19 2007 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tdrivers/mtd/Kconfig\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "404d5b185b4eb56d6fa2f7bd27833f8df1c38ce4",
      "tree": "1130df0503191529ee7088ccf3868d3be81ebc2d",
      "parents": [
        "61a2f59af6c8ffd9d6dd53f0da32563d4434e790"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Apr 26 00:12:10 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:34 2007 -0700"
      },
      "message": "dev_dbg: check dev_dbg() arguments\n\nDuplicate what Zach Brown did for pr_debug in commit\n8b2a1fd1b394c60eaa2587716102dd5e9b4e5990\n\n[akpm@linux-foundation.org: fix a couple of things which broke]\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a53c46dc8253cc613ad66a2ca7aad6de8b7e61b9",
      "tree": "5b041cbe147597efb337525ad8260128cc8bc2b0",
      "parents": [
        "075c1771526c85849ed22298d048bc07e400aee5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 26 11:43:58 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:33 2007 -0700"
      },
      "message": "s2ram: add arch irq disable/enable hooks\n\nAfter some more discussion this patch replaces it:\n\nFrom: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSubject: suspend: add arch irq disable/enable hooks\n\nFor powermac, we need to do some things between suspending devices and\ndevice_power_off, for example setting the decrementer. This patch\nallows architectures to define arch_s2ram_{en,dis}able_irqs in their\nasm/suspend.h to have control over this step.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "075c1771526c85849ed22298d048bc07e400aee5",
      "tree": "a1579e93b450b0e870a7a65698f9a07bddbfd899",
      "parents": [
        "057f6c019fff9ee290641d50647359bb8898918e"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Thu Apr 26 00:12:06 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:33 2007 -0700"
      },
      "message": "define platform wakeup hook, use in pci_enable_wake()\n\nThis defines a platform hook to enable/disable a device as a wakeup event\nsource.  It\u0027s initially for use with ACPI, but more generally it could be used\nwhenever enable_irq_wake()/disable_irq_wake() don\u0027t suffice.\n\nThe hook is called -- if available -- inside pci_enable_wake(); and the\nsemantics of that call are enhanced so that support for PCI PME# is no longer\nneeded.  It can now work for devices with \"legacy PCI PM\", when platform\nsupport allows it.  (That support would use some board-specific signal for for\nthe same purpose as PME#.)\n\n[akpm@linux-foundation.org: Make it compile with CONFIG_PM\u003dn]\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "057f6c019fff9ee290641d50647359bb8898918e",
      "tree": "c051a915e2038825dd2f50f24fc28abb3c4a5e79",
      "parents": [
        "523ded71de0c5e66973335bf99a80edfda9f401b"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Apr 26 00:12:05 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:33 2007 -0700"
      },
      "message": "security: prevent permission checking of file removal via sysfs_remove_group()\n\nPrevent permission checking from being performed when the kernel wants to\nunconditionally remove a sysfs group, by introducing an kernel-only variant\nof lookup_one_len(), lookup_one_len_kern().\n\nAdditionally, as sysfs_remove_group() does not check the return value of\nthe lookup before using it, a BUG_ON has been added to pinpoint the cause\nof any problems potentially caused by this (and as a form of annotation).\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Nagendra Singh Tomar \u003cnagendra_tomar@adaptec.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "523ded71de0c5e66973335bf99a80edfda9f401b",
      "tree": "20f47e8ed91018977d9fb7f4169a6ef8db407b82",
      "parents": [
        "fa1a8c23eb7d3ded8a3c6d0e653339a2bc7fca9e"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Apr 26 00:12:04 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:32 2007 -0700"
      },
      "message": "device_schedule_callback() needs a module reference\n\nThis patch (as896b) fixes an oversight in the design of\ndevice_schedule_callback().  It is necessary to acquire a reference to the\nmodule owning the callback routine, to prevent the module from being\nunloaded before the callback can run.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Satyam Sharma \u003csatyam.sharma@gmail.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8447891fe845851738439788c74b3c811578e3f9",
      "tree": "05834fbe797aa03a3db58dbc69e613a6afcd1a93",
      "parents": [
        "3106d46f51a1a72fdbf071ebc0800a9bcfcbc544"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Tue Apr 17 15:59:36 2007 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:31 2007 -0700"
      },
      "message": "debugfs: Add debugfs_create_u64()\n\nI went to use this the other day, only to find it didn\u0027t exist.\n\nIt\u0027s a straight copy of the debugfs u32 code, then s/u32/u64/. A quick\ntest shows it seems to be working.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3106d46f51a1a72fdbf071ebc0800a9bcfcbc544",
      "tree": "bd2045da6a476e942b1bbb004c3065124e856464",
      "parents": [
        "2753133eb3321feb81dcb9c88141dd2aa5973ee1"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Apr 06 12:21:45 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:31 2007 -0700"
      },
      "message": "the overdue removal of the mount/umount uevents\n\nThis patch contains the overdue removal of the mount/umount uevents.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4628803062d93dadc6ba8e801fd075526904a38c",
      "tree": "df7081e3f18899c35873b647a582be655b1a5ed1",
      "parents": [
        "2f66858a0ae48faf4c8dc19042f3aff52208dc57"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Apr 09 11:52:31 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:31 2007 -0700"
      },
      "message": "kobject core: remove rwsem from struct subsystem\n\nIt isn\u0027t used at all by the driver core anymore, and the few usages of\nit within the kernel have now all been fixed as most of them were using\nit incorrectly.  So remove it.\n\nNow the whole struct subsys can be removed from the system, but that\u0027s\nfor a later patch...\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f89cbc399ecd924c4bd879344e662aace2274b4f",
      "tree": "d44c6c9952e1433566a3e6a4eb0123e33d10d97d",
      "parents": [
        "bf62456eb91f3d2ef0736081583d09b0b3c8b7ea"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor@insightbb.com",
        "time": "Tue Apr 03 01:08:40 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:29 2007 -0700"
      },
      "message": "Driver core: add suspend() and resume() to struct device_type\n\nDriver core: add suspend() and resume() to struct device_type\n\nIn cases when there are devices of different types in the same class\nwe can\u0027t use class\u0027s implementation of suspend and resume methods and\nwe need to add them to struct device_type instead.\n\nAlso fix error handling in resume code (we should not try to call\nclass\u0027s resume method iof bus\u0027s resume method for the device failed.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "74e9f5fa1570f956c96dd5d3f1053daedbbf01a0",
      "tree": "095bfed9efced3538507d16eb93010d91c074f5f",
      "parents": [
        "c6a46696f97ff260a4ecce5e287f8de4b9d7fe14"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Apr 09 12:14:34 2002 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:29 2007 -0700"
      },
      "message": "Driver core: remove unneeded completion from driver release path\n\nThe completion in the driver release path is due to ancient history in\nthe _very_ early 2.5 days when we were not tracking the module reference\ncount of attributes.  It is not needed at all and can be removed.\n\nNote, we now have an empty release function for the driver structure.\nThis is due to the fact that drivers are statically allocated in the\nsystem at this point in time, something which I want to change in the\nfuture.  But remember, drivers are really code, which is reference\ncounted by the module, unlike devices, which are data and _must_ be\nreference counted properly in order to work correctly.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "21c7f30b1d3f8a3de3128478daca3ce203fc8733",
      "tree": "ff84247ba68f82906182a214273dd330c6d1970f",
      "parents": [
        "460f7e9a1bde2c74f060f7ce0a308dab4be6a56b"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Mon Feb 05 16:15:25 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:28 2007 -0700"
      },
      "message": "driver core: per-subsystem multithreaded probing\n\nMake multithreaded probing work per subsystem instead of per driver.\n\nIt doesn\u0027t make much sense to probe the same device for multiple drivers in\nparallel (after all, only one driver can bind to the device).  Instead, create\na probing thread for each device that probes the drivers one after another. \nAlso make the decision to use multi-threaded probe per bus instead of per\ndevice and adapt the pci code.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "414264f959cf46f49f974b3510400e12ac3624a6",
      "tree": "ead43994761620cbf7cb22525610627786562098",
      "parents": [
        "621a1672f7377e08a942f205d6742d8af1292aab"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Mon Mar 12 21:08:57 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:28 2007 -0700"
      },
      "message": "Driver core: add name to device_type\n\nIf \"name\" of a device_type is specified, the uevent will\ncontain the device_type name in the DEVTYPE variable.\nThis helps userspace to distingiush between different types\nof devices, belonging to the same subsystem.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "621a1672f7377e08a942f205d6742d8af1292aab",
      "tree": "9249308b3df0675f713058e3f5ac0442ce2a5e1e",
      "parents": [
        "b8c5cec23d5c33b767a1cddebd4f8813a9563e3c"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor@insightbb.com",
        "time": "Sat Mar 10 01:37:34 2007 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:28 2007 -0700"
      },
      "message": "driver core: Use attribute groups in struct device_type\n\nDriver core: use attribute groups in struct device_type\n\nAttribute groups are more flexible than attribute lists\n(an attribute list can be represented by anonymous group)\nso switch struct device_type to use them.\n\nAlso rework attribute creation for devices so that they all\ncleaned up properly in case of errors.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Kay Sievers \u003ckay.sievers@novell.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b8c5cec23d5c33b767a1cddebd4f8813a9563e3c",
      "tree": "cffec2c5df58866aa6e7ed5540c2718a166c3246",
      "parents": [
        "a456b7023e0abf80bb03b0bdf5471b48878e5c49"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Feb 16 17:33:36 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:28 2007 -0700"
      },
      "message": "Driver core: udev triggered device-\u003c\u003edriver binding\n\nWe get two per-bus sysfs files:\n  ls-l /sys/subsystem/usb\n  drwxr-xr-x 2 root root    0 2007-02-16 16:42 devices\n  drwxr-xr-x 7 root root    0 2007-02-16 14:55 drivers\n  -rw-r--r-- 1 root root 4096 2007-02-16 16:42 drivers_autoprobe\n  --w------- 1 root root 4096 2007-02-16 16:42 drivers_probe\n\nThe flag \"drivers_autoprobe\" controls the behavior of the bus to bind\ndevices by default, or just initialize the device and leave it alone.\n\nThe command \"drivers_probe\" accepts a bus_id and the bus tries to bind a\ndriver to this device.\n\nSystems who want to control the driver binding with udev, switch off the\nbus initiated probing:\n  echo 0 \u003e /sys/subsystem/usb/drivers_autoprobe\n  echo 0 \u003e /sys/subsystem/pcmcia/drivers_autoprobe\n  ...\n\nand initiate the probing with udev rules like:\n  ACTION\u003d\u003d\"add\", SUBSYSTEM\u003d\u003d\"usb\", ATTR{subsystem/drivers_probe}\u003d\"$kernel\"\n  ACTION\u003d\u003d\"add\", SUBSYSTEM\u003d\u003d\"pcmcia\", ATTR{subsystem/drivers_probe}\u003d\"$kernel\"\n  ...\n\nCustom driver binding can happen in earlier rules by something like:\n  ACTION\u003d\u003d\"add\", SUBSYSTEM\u003d\u003d\"usb\", \\\n  ATTRS{idVendor}\u003d\u003d\"1234\", ATTRS{idProduct}\u003d\u003d\"5678\" \\\n  ATTR{subsystem/drivers/\u003ccustom-driver\u003e/bind}\u003d\"$kernel\"\n\nThis is intended to solve the modprobe.conf mess with \"install-rules\", custom\nbind/unbind-scripts and all the weird things people invented over the years.\nIt should also provide the functionality \"libusual\" was supposed to do.\n\nWith udev, one can just write a udev rule to drive all USB-disks at the\nthird port of USB-hub by the \"ub\" driver, and everything else by\nusb-storage. One can also instruct udev to bind different wireless\ndrivers to identical cards - just selected by the pcmcia slot-number, and\nwhatever ...\n\nTo use the mentioned rules, it needs udev version 106, to be able to\nwrite ATTR{}\u003d\"$kernel\" to sysfs files.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "864062457a2e444227bd368ca5f2a2b740de604f",
      "tree": "38e516852ee9825b5ffe0b1f2e8abea0a88b1674",
      "parents": [
        "00ed8e3dda47f8421b11da17e353d7db8c878121"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Mar 14 03:25:56 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:28 2007 -0700"
      },
      "message": "driver core: fix namespace issue with devices assigned to classes\n\n  - uses a kset in \"struct class\" to keep track of all directories\n    belonging to this class\n  - merges with the /sys/devices/virtual logic.\n  - removes the namespace-dir if the last member of that class\n    leaves the directory.\n\nThere may be locking or refcounting fixes left, I stopped when it seemed\nto work with network and sound modules. :)\n\nFrom: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "39bc89fd4019b164002adaacef92c4140e37955a",
      "tree": "34ff87b8d8c2984af2015dd8c01177df88815214",
      "parents": [
        "20f09390b2da2432309afe8aaa0bd64ec64c4584"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 25 20:50:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 10:46:51 2007 -0700"
      },
      "message": "make SysRq-T show all tasks again\n\nshow_state() (SysRq-T) developed the buggy habbit of not showing\nTASK_RUNNING tasks.  This was due to the mistaken belief that state_filter\n\u003d\u003d -1 would be a pass-through filter - while in reality it did not let\nTASK_RUNNING \u003d\u003d 0 p-\u003estate values through.\n\nFix this by restoring the original \u0027!state_filter means all tasks\u0027\nspecial-case i had in the original version.  Test-built and test-booted on\ni686, SysRq-T now works as intended.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20f09390b2da2432309afe8aaa0bd64ec64c4584",
      "tree": "07882e28d0c4d92af141c2fe76491609891b566f",
      "parents": [
        "b928ed56182b8ea59bd43f2d5b865f13a54d5719"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@mvista.com",
        "time": "Thu Apr 26 09:46:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 10:44:42 2007 -0700"
      },
      "message": "seqlocks: trivial remove weird whitespace\n\nSigned-off-by: Daniel Walker \u003cdwalker@mvista.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b928ed56182b8ea59bd43f2d5b865f13a54d5719",
      "tree": "e9ba0ff9d316bdb84d6f2718d4543fd4213ba061",
      "parents": [
        "ea6db58f3ea55f413c882095d2afaea8137f4f8c",
        "d468a030026017008286919aa6127b1190efb2c2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 10:42:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 10:42:35 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/ubi-2.6\n\n* \u0027for-linus\u0027 of git://git.infradead.org/ubi-2.6:\n  UBI: remove unused variable\n  UBI: add me to MAINTAINERS\n  JFFS2: add UBI support\n  UBI: Unsorted Block Images\n"
    },
    {
      "commit": "ea6db58f3ea55f413c882095d2afaea8137f4f8c",
      "tree": "9f7509b5dfe0fdd422b3e2b3a98ed8321d796c66",
      "parents": [
        "c58b8e4a25a1ba347a0e5d21984c97bd296f1691",
        "83418978827324918a8cd25ce5227312de1d4468"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 10:29:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 10:29:56 2007 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (27 commits)\n  ocfs2: Cache extent records\n  ocfs2: Remember rw lock level during direct io\n  ocfs2: Fix up i_blocks calculation to know about holes\n  ocfs2: Fix extent lookup to return true size of holes\n  ocfs2: Read from an unwritten extent returns zeros\n  ocfs2: make room for unwritten extents flag\n  ocfs2: Use own splice write actor\n  ocfs2: Use do_sync_mapping_range() in ocfs2_zero_tail_for_truncate()\n  [PATCH] Turn do_sync_file_range() into do_sync_mapping_range()\n  ocfs2: zero tail of sparse files on truncate\n  ocfs2: Teach ocfs2_get_block() about holes\n  ocfs2: remove ocfs2_prepare_write() and ocfs2_commit_write()\n  ocfs2: teach ocfs2_file_aio_write() about sparse files\n  ocfs2: Turn off shared writeable mmap for local files systems with holes.\n  ocfs2: abstract out allocation locking\n  ocfs2: teach extend/truncate about sparse files\n  ocfs2: temporarily remove extent map caching\n  ocfs2: sparse b-tree support\n  ocfs2: small cleanup of ocfs2_request_delete()\n  ocfs2: remove unused code\n  ...\n"
    },
    {
      "commit": "0278ef8b484a71917bd4f03a763285cdaac10954",
      "tree": "8f6f7bf2e2a85b4643dfe3d0475811ce858fb4fc",
      "parents": [
        "15c54033964a943de7b0763efd3bd0ede7326395",
        "cd9ad58d4061494e7fdd70ded7bcf2418daf356a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 09:29:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 09:29:04 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: (67 commits)\n  [SCSI] SUNESP: Complete driver rewrite to version 2.0\n  [SPARC64]: Convert PCI over to generic struct iommu/strbuf.\n  [SPARC]: device_node name constification fallout\n  [SPARC64]: Convert SBUS over to generic iommu/strbuf structs.\n  [SPARC64]: Add generic iommu and strbuf structs to iommu.h\n  [SPARC64]: Consolidate {sbus,pci}_iommu_arena.\n  [SPARC]: Make device_node name and type const\n  [SPARC64]: constify some paramaters of OF routines\n  [TIGON3]: of_get_property() returns const.\n  [SPARC64]: Fix PCI rework to adhere to of_get_property() const return.\n  [SPARC64]: Document and fix calculation of pages_avail.\n  [SPARC64]: Make sure pbm-\u003eprom_node is setup easly enough in psycho.c\n  [SPARC64]: Use bootmem_bootmap_pages() in choose_bootmap_pfn().\n  [SPARC64]: Add proper header file extern for cmdline_memory_size.\n  [SPARC64]: Kill sparc_ultra_dump_{i,d}tlb()\n  [SPARC64]: Use DECLARE_BITMAP and BITS_TO_LONGS in mm/init.c\n  [SPARC64]: Give move verbose show_mem() output just like i386.\n  [SPARC64]: Mark show_mem() printk\u0027s with KERN_INFO.\n  [SPARC64]: Kill kvaddr_to_phys() and friends.\n  [SPARC64]: Privatize sun4u_get_pte() and fix name.\n  ...\n"
    },
    {
      "commit": "15c54033964a943de7b0763efd3bd0ede7326395",
      "tree": "840b292612d1b5396d5bab5bde537a9013db3ceb",
      "parents": [
        "ad5da3cf39a5b11a198929be1f2644e17ecd767e",
        "912a41a4ab935ce8c4308428ec13fc7f8b1f18f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 09:26:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 09:26:46 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (448 commits)\n  [IPV4] nl_fib_lookup: Initialise res.r before fib_res_put(\u0026res)\n  [IPV6]: Fix thinko in ipv6_rthdr_rcv() changes.\n  [IPV4]: Add multipath cached to feature-removal-schedule.txt\n  [WIRELESS] cfg80211: Clarify locking comment.\n  [WIRELESS] cfg80211: Fix locking in wiphy_new.\n  [WEXT] net_device: Don\u0027t include wext bits if not required.\n  [WEXT]: Misc code cleanups.\n  [WEXT]: Reduce inline abuse.\n  [WEXT]: Move EXPORT_SYMBOL statements where they belong.\n  [WEXT]: Cleanup early ioctl call path.\n  [WEXT]: Remove options.\n  [WEXT]: Remove dead debug code.\n  [WEXT]: Clean up how wext is called.\n  [WEXT]: Move to net/wireless\n  [AFS]: Eliminate cmpxchg() usage in vlocation code.\n  [RXRPC]: Fix pointers passed to bitops.\n  [RXRPC]: Remove bogus atomic_* overrides.\n  [AFS]: Fix u64 printing in debug logging.\n  [AFS]: Add \"directory write\" support.\n  [AFS]: Implement the CB.InitCallBackState3 operation.\n  ...\n"
    },
    {
      "commit": "6c210482ae4a9a5bb9377ad250feaacec3faa3cd",
      "tree": "2eb89d89a22380298d64edad59010c1d0a59e5a4",
      "parents": [
        "2fc2d1e9ffcde78af7ab63ed640d9a4901797de2"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Apr 27 16:01:57 2007 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Apr 27 16:01:46 2007 +0200"
      },
      "message": "[S390] split page_test_and_clear_dirty.\n\nThe page_test_and_clear_dirty primitive really consists of two\noperations, page_test_dirty and the page_clear_dirty. The combination\nof the two is not an atomic operation, so it makes more sense to have\ntwo separate operations instead of one.\nIn addition to the improved readability of the s390 version of\nSetPageUptodate, it now avoids the page_test_dirty operation which is\nan insert-storage-key-extended (iske) instruction which is an expensive\noperation.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "801c135ce73d5df1caf3eca35b66a10824ae0707",
      "tree": "eaf6e7859650557192533b70746479de686c56e1",
      "parents": [
        "de46c33745f5e2ad594c72f2cf5f490861b16ce1"
      ],
      "author": {
        "name": "Artem B. Bityutskiy",
        "email": "dedekind@linutronix.de",
        "time": "Tue Jun 27 12:22:22 2006 +0400"
      },
      "committer": {
        "name": "Frank Haverkamp",
        "email": "haver@vnet.ibm.com",
        "time": "Fri Apr 27 14:23:33 2007 +0300"
      },
      "message": "UBI: Unsorted Block Images\n\nUBI (Latin: \"where?\") manages multiple logical volumes on a single\nflash device, specifically supporting NAND flash devices. UBI provides\na flexible partitioning concept which still allows for wear-levelling\nacross the whole flash device.\n\nIn a sense, UBI may be compared to the Logical Volume Manager\n(LVM). Whereas LVM maps logical sector numbers to physical HDD sector\nnumbers, UBI maps logical eraseblocks to physical eraseblocks.\n\nMore information may be found at\nhttp://www.linux-mtd.infradead.org/doc/ubi.html\n\nPartitioning/Re-partitioning\n\n  An UBI volume occupies a certain number of erase blocks. This is\n  limited by a configured maximum volume size, which could also be\n  viewed as the partition size. Each individual UBI volume\u0027s size can\n  be changed independently of the other UBI volumes, provided that the\n  sum of all volume sizes doesn\u0027t exceed a certain limit.\n\n  UBI supports dynamic volumes and static volumes. Static volumes are\n  read-only and their contents are protected by CRC check sums.\n\nBad eraseblocks handling\n\n  UBI transparently handles bad eraseblocks. When a physical\n  eraseblock becomes bad, it is substituted by a good physical\n  eraseblock, and the user does not even notice this.\n\nScrubbing\n\n  On a NAND flash bit flips can occur on any write operation,\n  sometimes also on read. If bit flips persist on the device, at first\n  they can still be corrected by ECC, but once they accumulate,\n  correction will become impossible. Thus it is best to actively scrub\n  the affected eraseblock, by first copying it to a free eraseblock\n  and then erasing the original. The UBI layer performs this type of\n  scrubbing under the covers, transparently to the UBI volume users.\n\nErase Counts\n\n  UBI maintains an erase count header per eraseblock. This frees\n  higher-level layers (like file systems) from doing this and allows\n  for centralized erase count management instead. The erase counts are\n  used by the wear-levelling algorithm in the UBI layer. The algorithm\n  itself is exchangeable.\n\nBooting from NAND\n\n  For booting directly from NAND flash the hardware must at least be\n  capable of fetching and executing a small portion of the NAND\n  flash. Some NAND flash controllers have this kind of support. They\n  usually limit the window to a few kilobytes in erase block 0. This\n  \"initial program loader\" (IPL) must then contain sufficient logic to\n  load and execute the next boot phase.\n\n  Due to bad eraseblocks, which may be randomly scattered over the\n  flash device, it is problematic to store the \"secondary program\n  loader\" (SPL) statically. Also, due to bit-flips it may become\n  corrupted over time. UBI allows to solve this problem gracefully by\n  storing the SPL in a small static UBI volume.\n\nUBI volumes vs. static partitions\n\n  UBI volumes are still very similar to static MTD partitions:\n\n    * both consist of eraseblocks (logical eraseblocks in case of UBI\n      volumes, and physical eraseblocks in case of static partitions;\n    * both support three basic operations - read, write, erase.\n\n  But UBI volumes have the following advantages over traditional\n  static MTD partitions:\n\n    * there are no eraseblock wear-leveling constraints in case of UBI\n      volumes, so the user should not care about this;\n    * there are no bit-flips and bad eraseblocks in case of UBI volumes.\n\n  So, UBI volumes may be considered as flash devices with relaxed\n  restrictions.\n\nWhere can it be found?\n\n  Documentation, kernel code and applications can be found in the MTD\n  gits.\n\nWhat are the applications for?\n\n  The applications help to create binary flash images for two purposes: pfi\n  files (partial flash images) for in-system update of UBI volumes, and plain\n  binary images, with or without OOB data in case of NAND, for a manufacturing\n  step. Furthermore some tools are/and will be created that allow flash content\n  analysis after a system has crashed..\n\nWho did UBI?\n\n  The original ideas, where UBI is based on, were developed by Andreas\n  Arnez, Frank Haverkamp and Thomas Gleixner. Josh W. Boyer and some others\n  were involved too. The implementation of the kernel layer was done by Artem\n  B. Bityutskiy. The user-space applications and tools were written by Oliver\n  Lohmann with contributions from Frank Haverkamp, Andreas Arnez, and Artem.\n  Joern Engel contributed a patch which modifies JFFS2 so that it can be run on\n  a UBI volume. Thomas Gleixner did modifications to the NAND layer. Alexander\n  Schmidt made some testing work as well as core functionality improvements.\n\nSigned-off-by: Artem B. Bityutskiy \u003cdedekind@linutronix.de\u003e\nSigned-off-by: Frank Haverkamp \u003chaver@vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b86e0280bb5585a610783ff5392d9d439dee7ddd",
      "tree": "150f65cdf5fd17a41c7c2042c0f90ebc6e9f0268",
      "parents": [
        "4d44e0dfe961e02489d40d32334454ebe0e784e8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 26 20:48:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 26 20:48:23 2007 -0700"
      },
      "message": "[WEXT] net_device: Don\u0027t include wext bits if not required.\n\nThis patch makes the wext bits in struct net_device depend on\nCONFIG_WIRELESS_EXT.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17926a79320afa9b95df6b977b40cca6d8713cea",
      "tree": "5cedff43b69520ad17b86783d3752053686ec99c",
      "parents": [
        "e19dff1fdd99a25819af74cf0710e147fff4fd3a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Apr 26 15:48:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 26 15:48:28 2007 -0700"
      },
      "message": "[AF_RXRPC]: Provide secure RxRPC sockets for use by userspace and kernel both\n\nProvide AF_RXRPC sockets that can be used to talk to AFS servers, or serve\nanswers to AFS clients.  KerberosIV security is fully supported.  The patches\nand some example test programs can be found in:\n\n\thttp://people.redhat.com/~dhowells/rxrpc/\n\nThis will eventually replace the old implementation of kernel-only RxRPC\ncurrently resident in net/rxrpc/.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7318226ea2931a627f3572e5f4804c91ca19ecbc",
      "tree": "d2492bb7e87a9c1740432c4dcde13e75ee46ad8d",
      "parents": [
        "071b638689464c6b39407025eedd810d5b5e6f5d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Apr 26 15:46:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 26 15:46:23 2007 -0700"
      },
      "message": "[AF_RXRPC]: Key facility changes for AF_RXRPC\n\nExport the keyring key type definition and document its availability.\n\nAdd alternative types into the key\u0027s type_data union to make it more useful.\nNot all users necessarily want to use it as a list_head (AF_RXRPC doesn\u0027t, for\nexample), so make it clear that it can be used in other ways.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "071b638689464c6b39407025eedd810d5b5e6f5d",
      "tree": "702b28d1a7acdd7ea904cd442c4491a24b93c059",
      "parents": [
        "566ec03448052c096dc3982fbe573522dc0ba479"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Thu Apr 26 15:45:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 26 15:45:32 2007 -0700"
      },
      "message": "[WORKQUEUE]: cancel_delayed_work: use del_timer() instead of del_timer_sync()\n\ndel_timer_sync() buys nothing for cancel_delayed_work(), but it is less\nefficient since it locks the timer unconditionally, and may wait for the\ncompletion of the delayed_work_timer_fn().\n\ncancel_delayed_work() \u003d\u003d 0 means:\n\n\tbefore this patch:\n\t\twork-\u003efunc may still be running or queued\n\n\tafter this patch:\n\t\twork-\u003efunc may still be running or queued, or\n\t\tdelayed_work_timer_fn-\u003e__queue_work() in progress.\n\n\t\tThe latter doesn\u0027t differ from the caller\u0027s POV,\n\t\tdelayed_work_timer_fn() is called with _PENDING\n\t\tbit set.\n\ncancel_delayed_work() \u003d\u003d 1 with this patch adds a new possibility:\n\n\tdelayed_work-\u003ework was cancelled, but delayed_work_timer_fn\n\tis still running (this is only possible for the re-arming\n\tworks on single-threaded workqueue).\n\n\tIn this case the timer was re-started by work-\u003efunc(), nobody\n\telse can do this. This in turn means that delayed_work_timer_fn\n\thas already passed __queue_work() (and wont\u0027t touch delayed_work)\n\tbecause nobody else can queue delayed_work-\u003ework.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b04aa3a64f854244bc40a6f528176ed50b5c4f6",
      "tree": "2bdee522ce482f06a9f3adc8e66e4ff23be06860",
      "parents": [
        "60b11392f1a09433740bda3048202213daa27736"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Mar 01 11:01:55 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:02:26 2007 -0700"
      },
      "message": "[PATCH] Turn do_sync_file_range() into do_sync_mapping_range()\n\ndo_sync_file_range() accepts a file * from which it takes an address_space to\nsync.  Abstract out the bulk of the function into do_sync_mapping_range()\nwhich takes the address_space directly.  This way callers who want to sync an\naddress_space directly can take advantage of the functionality provided.\n\ndo_sync_file_range() is preserved as a small wrapper around\ndo_sync_mapping_range().\n\nOcfs2 in particular would like to use this to initiate a sync of a specific\ninode range during truncate, where a file * may not be available.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ded220bd8f0823771fc0a9bdf7f5bcbe543197b6",
      "tree": "530854859821c51cb3bcd9092140c535153627e5",
      "parents": [
        "357418e7cac16fed4ca558c6037d189d2109c9c2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Mar 29 01:18:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Apr 26 01:54:39 2007 -0700"
      },
      "message": "[STRING]: Move strcasecmp/strncasecmp to lib/string.c\n\nWe have several platforms using local copies of identical\ncode.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef2e58ea6b9931c3a4816c66593da49bb20e3b24",
      "tree": "ce7432add3becbe78de4ea06425cd2d9e91f4ada",
      "parents": [
        "06d63cc51d47f572009138a7f3ac34d95773405d",
        "de46c33745f5e2ad594c72f2cf5f490861b16ce1"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Apr 26 09:31:28 2007 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Apr 26 09:31:28 2007 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "48491e6bdb8fa73751cc95f740175ec799db5d55",
      "tree": "918ae1267a349136d44670bad9aa7326cb7ec715",
      "parents": [
        "c1a068f6b0c38665c079e8d4ca241e24020eff36"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Thu Apr 26 00:59:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 26 00:59:27 2007 -0700"
      },
      "message": "[NET]: Delete unused header file linux/if_wanpipe_common.h\n\nDelete the unreferenced header file include/linux/if_wanpipe_common.h,\nas well as the reference to it in the Doc file.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1a068f6b0c38665c079e8d4ca241e24020eff36",
      "tree": "7bd5490d3b391bed017d4f5643383f06e79550bd",
      "parents": [
        "42bad1da506cafa7041a02ab84033a724afe88ac"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Thu Apr 26 00:58:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 26 00:58:39 2007 -0700"
      },
      "message": "[NET]: Delete unused header file linux/sdla_fr.h.\n\nDelete the unreferenced header file include/linux/sdla_fr.h.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28d8909bc790d936ce33f4402adf7577533bbd4b",
      "tree": "8de479d6660aba23bc99fa555c150852548df58d",
      "parents": [
        "98486fa2f4894e2b01e325c659635596bdec1614"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Thu Apr 26 00:10:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 26 00:10:29 2007 -0700"
      },
      "message": "[XFRM]: Export SAD info.\n\nOn a system with a lot of SAs, counting SAD entries chews useful\nCPU time since you need to dump the whole SAD to user space;\ni.e something like ip xfrm state ls | grep -i src | wc -l\nI have seen taking literally minutes on a 40K SAs when the system\nis swapping.\nWith this patch, some of the SAD info (that was already being tracked)\nis exposed to user space. i.e you do:\nip xfrm state count\nAnd you get the count; you can also pass -s to the command line and\nget the hash info.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2111f8b9e58fd04b87b8b07d66485f255a57b0bb",
      "tree": "aaeb558abcc903e8d4960368e7a4650c4ef6f4e9",
      "parents": [
        "83aa0938ff59e8ef6d0b99260063ebe84fc84a16"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Wed Apr 25 22:05:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:30:01 2007 -0700"
      },
      "message": "[BRIDGE]: drop PAUSE frames\n\nPause frames should never make it out of the network device into\nthe stack. But if a device was misconfigured, it might happen.\nSo drop pause frames in bridge.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df8981dc1928f3a231d91f27c2b3dc373fb4d410",
      "tree": "b55c3e7af5a5808fbbe5b6abf990315c04ff6030",
      "parents": [
        "5056a1ef9e2597cff7b15904fbc74193f316fc40"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Apr 24 20:44:49 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:57 2007 -0700"
      },
      "message": "[IPV6]: Export in6addr_any for future use.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "84299b3bc4eaedc0734fcc9052b01291e44445fc",
      "tree": "a66254a9d648ec93334abbb058a376e7482e80d5",
      "parents": [
        "1f9eda7e2b67898fb8e79b3aa3880211b51235e6"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Apr 24 16:21:38 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:49 2007 -0700"
      },
      "message": "[TCP]: Fix linkage errors on i386.\n\nTo avoid raw division, use ktime_to_timeval() to get usec.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "164891aadf1721fca4dce473bb0e0998181537c6",
      "tree": "991393ec7306da475cb306fcc7cb084f737ebadc",
      "parents": [
        "65d1b4a7e73fe0e1f5275ad7d2d3547981480886"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Mon Apr 23 22:26:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:45 2007 -0700"
      },
      "message": "[TCP]: Congestion control API update.\n\nDo some simple changes to make congestion control API faster/cleaner.\n* use ktime_t rather than timeval\n* merge rtt sampling into existing ack callback\n  this means one indirect call versus two per ack.\n* use flags bits to store options/settings\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "704232c2718c9d4b3375ec15a14fc0397970c449",
      "tree": "6ffaa759ebaee36c4242bff6b7630f148efcaea3",
      "parents": [
        "2a5e1c0eb9efe26eed1dd072fe08de5797a7efd5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Apr 23 12:20:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:41 2007 -0700"
      },
      "message": "[WIRELESS] cfg80211: New wireless config infrastructure.\n\nThis patch creates the core cfg80211 code along with some sysfs bits.\nThis is a stripped down version to allow mac80211 to function, but\ndoesn\u0027t include any configuration yet except for creating and removing\nvirtual interfaces.\n\nThis patch includes the nl80211 header file but it only contains the\ninterface types which the cfg80211 interface for creating virtual\ninterfaces relies on.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c6fcc8a8cfcc737d05b6be8b2c3e931ef99cfc2",
      "tree": "53da0c434b22dba352d34c01b50154a4ce23e564",
      "parents": [
        "3e6cf558b0098a15d8c360c4eaad3e4d719a555a"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Apr 20 16:40:01 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:17 2007 -0700"
      },
      "message": "[NET] skbuff: skb_store_bits const is backwards\n\nGetting warnings becuase skb_store_bits has skb as constant,\nbut the function overwrites it. Looks like const was on the\nwrong side.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80feaacb8a6400a9540a961b6743c69a5896b937",
      "tree": "a4f07e635de521f5e283e0f4081923a98c0256d5",
      "parents": [
        "1370b5a59b941ac3873b5e8614d496e9f481d670"
      ],
      "author": {
        "name": "Peter P. Waskiewicz Jr",
        "email": "peter.p.waskiewicz.jr@intel.com",
        "time": "Fri Apr 20 16:05:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:14 2007 -0700"
      },
      "message": "[AF_PACKET]: Add option to return orig_dev to userspace.\n\nAdd a packet socket option to allow the orig_dev index to be returned\nto userspace when passing traffic through a decapsulated device, such\nas the bonding driver.\n\nThis is very useful for layer 2 traffic being able to report which\nphysical device actually received the traffic, instead of having the\nencapsulating device hide that information.\n\nThe new option is called PACKET_ORIGDEV.\n\nSigned-off-by: Peter P. Waskiewicz Jr. \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bf99f1bde3b3009af74874f3465f6861431fbb66",
      "tree": "ec3ee5ca8e95e090d65671d74994b7729058c845",
      "parents": [
        "628a5c561890a9a9a74dea017873530584aab06e"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Apr 20 15:56:20 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:10 2007 -0700"
      },
      "message": "[IPV6] SNMP: Netlink interface.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "628a5c561890a9a9a74dea017873530584aab06e",
      "tree": "f10edc4078c3f19487bbe3a902ecadda89273361",
      "parents": [
        "b881ef7603230550aa0150b22af94089f07ab00d"
      ],
      "author": {
        "name": "John Heffner",
        "email": "jheffner@psc.edu",
        "time": "Fri Apr 20 15:53:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:10 2007 -0700"
      },
      "message": "[INET]: Add IP(V6)_PMTUDISC_RPOBE\n\nAdd IP(V6)_PMTUDISC_PROBE value for IP(V6)_MTU_DISCOVER.  This option forces\nus not to fragment, but does not make use of the kernel path MTU discovery.\nThat is, it allows for user-mode MTU probing (or, packetization-layer path\nMTU discovery).  This is particularly useful for diagnostic utilities, like\ntraceroute/tracepath.\n\nSigned-off-by: John Heffner \u003cjheffner@psc.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af65bdfce98d7965fbe93a48b8128444a2eea024",
      "tree": "e6ac5ff82a0d5067213135cdf049b912b02e824d",
      "parents": [
        "b076deb8498e26c9aa2f44046fe5e9936ae2fb5a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Apr 20 14:14:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:03 2007 -0700"
      },
      "message": "[NETLINK]: Switch cb_lock spinlock to mutex and allow to override it\n\nSwitch cb_lock to mutex and allow netlink kernel users to override it\nwith a subsystem specific mutex for consistent locking in dump callbacks.\nAll netlink_dump_start users have been audited not to rely on any\nside-effects of the previously used spinlock.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c15bf6e699f4c366f2d1e19ac5d7add21c6b5a19",
      "tree": "2bcd680115a8b07cd6d7493b134ae2d36fe637be",
      "parents": [
        "516299d2f5b6f9703b9b388faf91898dc636a678"
      ],
      "author": {
        "name": "Bart De Schuymer",
        "email": "bdschuym@pandora.be",
        "time": "Thu Apr 12 22:15:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:58 2007 -0700"
      },
      "message": "[NETFILTER]: ebt_arp: add gratuitous arp filtering\n\nThe attached patch adds gratuitous arp filtering, more precisely: it\nallows checking that the IPv4 source address matches the IPv4\ndestination address inside the ARP header. It also adds a check for the\nhardware address type when matching MAC addresses (nothing critical,\njust for better consistency).\n\nSigned-off-by: Bart De Schuymer \u003cbdschuym@pandora.be\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "516299d2f5b6f9703b9b388faf91898dc636a678",
      "tree": "909b7003188f0f100e0782c9620515e39cba1603",
      "parents": [
        "91d73c15cb165195bc8c3d6a35e30df454b1485b"
      ],
      "author": {
        "name": "Michael Milner",
        "email": "milner@blissisland.ca",
        "time": "Thu Apr 12 22:14:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:57 2007 -0700"
      },
      "message": "[NETFILTER]: bridge-nf: filter bridged IPv4/IPv6 encapsulated in pppoe traffic\n\nThe attached patch by Michael Milner adds support for using iptables and\nip6tables on bridged traffic encapsulated in ppoe frames, similar to\nwhat\u0027s already supported for vlan.\n\nSigned-off-by: Michael Milner \u003cmilner@blissisland.ca\u003e\nSigned-off-by: Bart De Schuymer \u003cbdschuym@pandora.be\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "91d73c15cb165195bc8c3d6a35e30df454b1485b",
      "tree": "3e32716861f8784f635d482a187d4a5fda25658f",
      "parents": [
        "f73f7097c986aab159491dcded7fc918e76e9ec3"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Apr 20 13:57:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:56 2007 -0700"
      },
      "message": "[DCCP]: Complete documentation of dccp_sock\n\nThis fills in missing documentation for dccp_sock fields.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6229e362dd49b9e8387126bd4483ab0574d23e9c",
      "tree": "425c24858a6d21e58e49c05655875237d9b37a7c",
      "parents": [
        "604763722c655c7e3f31ecf6f7b4dafcd26a7a15"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Wed Mar 21 13:38:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:44 2007 -0700"
      },
      "message": "bridge: eliminate call by reference\n\nChange the bridging hook to be simple function with return value\nrather than modifying the skb argument. This could generate better\ncode and is cleaner.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\n"
    },
    {
      "commit": "604763722c655c7e3f31ecf6f7b4dafcd26a7a15",
      "tree": "a5c07f0e22ac86e7ca7a8c80bd3f111116610edd",
      "parents": [
        "628592ccdbbb5bb751217cf02e2e7abb500d7ffe"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Apr 09 11:59:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:43 2007 -0700"
      },
      "message": "[NET]: Treat CHECKSUM_PARTIAL as CHECKSUM_UNNECESSARY\n\nWhen a transmitted packet is looped back directly, CHECKSUM_PARTIAL\nmaps to the semantics of CHECKSUM_UNNECESSARY.  Therefore we should\ntreat it as such in the stack.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "663ead3bb8d5b561e70fc3bb3861c9220b5a77eb",
      "tree": "551d031fc9c904487ced4d8d3363e5ed8f369794",
      "parents": [
        "ac758e3c55c529714354fc268892ca4d23ca1e99"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Apr 09 11:59:07 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:40 2007 -0700"
      },
      "message": "[NET]: Use csum_start offset instead of skb_transport_header\n\nThe skb transport pointer is currently used to specify the start\nof the checksum region for transmit checksum offload.  Unfortunately,\nthe same pointer is also used during receive side processing.\n\nThis creates a problem when we want to retransmit a received\npacket with partial checksums since the skb transport pointer\nwould be overwritten.\n\nThis patch solves this problem by creating a new 16-bit csum_start\noffset value to replace the skb transport header for the purpose\nof checksums.  This offset is calculated from skb-\u003ehead so that\nit does not have to change when skb-\u003edata changes.\n\nNo extra space is required since csum_offset itself fits within\na 16-bit word so we can use the other 16 bits for csum_start.\n\nFor backwards compatibility, just before we push a packet with\npartial checksums off into the device driver, we set the skb\ntransport header to what it would have been under the old scheme.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "29f6af7712c40045e7886d0fa356d97a6f9aba49",
      "tree": "2b475a62ee778bd425150cd33352ca2df5c97c61",
      "parents": [
        "ea2f10a3c81724701fe6a754789eafd50b33909f"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Apr 06 11:45:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:35 2007 -0700"
      },
      "message": "[IPV6] FIB6RULE: Find source address during looking up route.\n\nWhen looking up route for destination with rules with\nsource address restrictions, we may need to find a source\naddress for the traffic if not given.\n\nBased on patch from Noriaki TAKAMIYA \u003ctakamiya@po.ntts.co.jp\u003e.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "716ea3a7aae3a2bfc44cb97b5419c1c9868c7bc9",
      "tree": "d599c7ff113e815c2052e40ec71bdab3761a45fc",
      "parents": [
        "926554c4b74e53d5da4cefdc3bbd7e92427fb1a9"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Apr 02 20:19:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:33 2007 -0700"
      },
      "message": "[NET]: Move generic skbuff stuff from XFRM code to generic code\n\nMove generic skbuff stuff from XFRM code to generic code so that\nAF_RXRPC can use it too.\n\nThe kdoc comments I\u0027ve attached to the functions needs to be checked\nby whoever wrote them as I had to make some guesses about the workings\nof these functions.\n\nSigned-off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27d7ff46a3498d3debc6ba68fb8014c702b81170",
      "tree": "b5a0c617cf8339524d3b1f1633e08eae7b94cf86",
      "parents": [
        "3dbad80ac7632f243b824d469301abb97ec634a1"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sat Mar 31 11:55:19 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:29 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_copy_to_linear_data{_offset}\n\nTo clearly state the intent of copying to linear sk_buffs, _offset being a\noverly long variant but interesting for the sake of saving some bytes.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\n"
    },
    {
      "commit": "c45d286e72dd72c0229dc9e2849743ba427fee84",
      "tree": "1fb22a5e71c89043671380087def5bc419a37886",
      "parents": [
        "f85958151900f9d30fa5ff941b0ce71eaa45a7de"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Mar 28 14:29:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:26 2007 -0700"
      },
      "message": "[NET]: Inline net_device_stats\n\nNetwork drivers which keep stats allocate their own stats structure\nthen write a get_stats() function to return them.  It would be nice if\nthis were done by default.\n\n1) Add a new \"stats\" field to \"struct net_device\".\n2) Add a new feature field to say \"this driver uses the internal one\"\n3) Have a default \"get_stats\" which returns NULL if that feature not set.\n4) Change callers to check result of get_stats call for NULL, not if\n   -\u003eget_stats is set.\n\nThis should not break backwards compatibility with older drivers, yet\nallow modern drivers to shed some boilerplate code.\n\nLightly tested: works for a modified lguest network driver.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d626f62b11e00c16e81e4308ab93d3f13551812a",
      "tree": "fac4af6ced853755e12fc709d55f0c2bec51265d",
      "parents": [
        "2a123b86e2b242a4a6db990d2851d45e192f88e5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 27 18:55:52 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:23 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_copy_from_linear_data{_offset}\n\nTo clearly state the intent of copying from linear sk_buffs, _offset being a\noverly long variant but interesting for the sake of saving some bytes.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "35fc92a9deee0da6e35fdc3150bb134e58f2fd63",
      "tree": "25ad3898a3a5aa1f439ce715eb4ab6c418d1d0e6",
      "parents": [
        "2d771cd86d4c3af26f34a7bcdc1b87696824cad9"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Mar 26 23:22:20 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:16 2007 -0700"
      },
      "message": "[NET]: Allow forwarding of ip_summed except CHECKSUM_COMPLETE\n\nRight now Xen has a horrible hack that lets it forward packets with\npartial checksums.  One of the reasons that CHECKSUM_PARTIAL and\nCHECKSUM_COMPLETE were added is so that we can get rid of this hack\n(where it creates two extra bits in the skbuff to essentially mirror\nip_summed without being destroyed by the forwarding code).\n\nI had forgotten that I\u0027ve already gone through all the deivce drivers\nlast time around to make sure that they\u0027re looking at ip_summed \u003d\u003d\nCHECKSUM_PARTIAL rather than ip_summed !\u003d 0 on transmit.  In any case,\nI\u0027ve now done that again so it should definitely be safe.\n\nUnfortunately nobody has yet added any code to update CHECKSUM_COMPLETE\nvalues on forward so we I\u0027m setting that to CHECKSUM_NONE.  This should\nbe safe to remove for bridging but I\u0027d like to check that code path\nfirst.\n\nSo here is the patch that lets us get rid of the hack by preserving\nip_summed (mostly) on forwarded packets.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fa0b2d1d2196dd46527a8d028797e2bca5930a92",
      "tree": "f11350b07f1c66fa5b4e1604c618126d500dd0ae",
      "parents": [
        "2b44368307cd06c5614d7b53801f516c0654020b"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Mon Mar 26 17:38:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:14 2007 -0700"
      },
      "message": "[NET] fib_rules: Add no-operation action\n\nThe use of nop rules simplifies the usage of goto rules\nand adds more flexibility as they allow targets to remain\nwhile the actual content of the branches can change easly.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b44368307cd06c5614d7b53801f516c0654020b",
      "tree": "a766c892dd0fc5a0266c25102eda1106b79fd14c",
      "parents": [
        "0947c9fe56d9cf7ad0bc3a03ccd30446cde698e4"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Mon Mar 26 17:37:59 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:13 2007 -0700"
      },
      "message": "[NET] fib_rules: Mark rules detached from the device\n\nRules which match against device names in their selector can\nremain while the device itself disappears, in fact the device\ndoesn\u0027t have to present when the rule is added in the first\nplace. The device name is resolved by trying when the rule is\nadded and later by listening to NETDEV_REGISTER/UNREGISTER\nnotifications.\n\nThis patch adds the flag FIB_RULE_DEV_DETACHED which is set\ntowards userspace when a rule contains a device match which\nis unresolved at the moment. This eases spotting the reason\nwhy certain rules seem not to function properly.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0947c9fe56d9cf7ad0bc3a03ccd30446cde698e4",
      "tree": "10d40d8d536d686b8226907f942b064c4bc59a4b",
      "parents": [
        "2f7826c02447480c7c1b5500b34fc783f1ed8145"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Mon Mar 26 17:14:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:12 2007 -0700"
      },
      "message": "[NET] fib_rules: goto rule action\n\nThis patch adds a new rule action FR_ACT_GOTO which allows\nto skip a set of rules by jumping to another rule. The rule\nto jump to is specified via the FRA_GOTO attribute which\ncarries a rule preference.\n\nReferring to a rule which doesn\u0027t exists is explicitely allowed.\nSuch goto rules are marked with the flag FIB_RULE_UNRESOLVED\nand will act like a rule with a non-matching selector. The rule\nwill become functional as soon as its target is present.\n\nThe goto action enables performance optimizations by reducing\nthe average number of rules that have to be passed per lookup.\n\nExample:\n0:      from all lookup local\n40:     not from all to 192.168.23.128 goto 32766\n41:     from all fwmark 0xa blackhole\n42:     from all fwmark 0xff blackhole\n32766:  from all lookup main\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de6e05c49f8b4ed63224c5d38891f531ecc4eabb",
      "tree": "2ed69a03c657a5618bc98a5f74acb905bf764ecf",
      "parents": [
        "5f79e0f916a3bdeccc910fdf466bca582a9b2cca"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Fri Mar 23 11:17:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:45 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: kill destroy() in struct nf_conntrack for diet\n\nThe destructor per conntrack is unnecessary, then this replaces it with\nsystem wide destructor.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f79e0f916a3bdeccc910fdf466bca582a9b2cca",
      "tree": "ef6cb09587609597e611ad38c313df88d8ff2e8b",
      "parents": [
        "e6f689db51a789807edede411b32eb7c9e457948"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Fri Mar 23 11:17:07 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:44 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: don\u0027t use nfct in skb if conntrack is disabled\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d00a4eb42bdade33a6ec0961cada93577a66ae6",
      "tree": "a181b141818f594eb544601386bf09e45e6193bb",
      "parents": [
        "45e7ae7f716086994e4e747226881f901c67b031"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:30:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:30 2007 -0700"
      },
      "message": "[NETLINK]: Remove error pointer from netlink message handler\n\nThe error pointer argument in netlink message handlers is used\nto signal the special case where processing has to be interrupted\nbecause a dump was started but no error happened. Instead it is\nsimpler and more clear to return -EINTR and have netlink_run_queue()\ndeal with getting the queue right.\n\nnfnetlink passed on this error pointer to its subsystem handlers\nbut only uses it to signal the start of a netlink dump. Therefore\nit can be removed there as well.\n\nThis patch also cleans up the error handling in the affected\nmessage handlers to be consistent since it had to be touched anyway.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e284986385b6420a5f30f2dcd743512bbe1a3202",
      "tree": "aee0d30b618ada57371fddfcaeb47bbd767e16e3",
      "parents": [
        "30833ffead66e1f0052150a51db0b45151189ac1"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 11:48:11 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:04 2007 -0700"
      },
      "message": "[RTNL]: Message handler registration interface\n\nThis patch adds a new interface to register rtnetlink message\nhandlers replacing the exported rtnl_links[] array which\nrequired many message handlers to be exported unnecessarly.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "89560b53b92a07c529e13a462aa7fd87a844f1f5",
      "tree": "89409bee68da1ee44b7945315efecd779d7fe60a",
      "parents": [
        "7dfee1a9c07f80a82aa5fbad340146f2b5c794b4"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 20 15:27:17 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:02 2007 -0700"
      },
      "message": "[DCCP]: Sample RTT from SYN exchange\n\nFunction:\n"
    },
    {
      "commit": "a36ca733375860b389c15ffdf6a5f92df64a33b6",
      "tree": "36801ab146f9aac5a87eb45bf3c324b3a7c8bac0",
      "parents": [
        "897933bcdf31c372e029dd4e2ecd573ebe6cfd9c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 19 22:28:08 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:36 2007 -0700"
      },
      "message": "[NETLINK]: Remove NLMSG_{NEW_ANSWER,CANCEL,END}\n\nNot used anywhere and defined inside __KERNEL__, Thomas acked this on irc.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "897933bcdf31c372e029dd4e2ecd573ebe6cfd9c",
      "tree": "f8b57b2ea0a2c4e592c55c0fae82332e6484a319",
      "parents": [
        "b529ccf2799c14346d1518e9bdf1f88f03643e99"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 19 22:27:36 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:35 2007 -0700"
      },
      "message": "[SK_BUFF]: Remove skb_add_mtu() leftovers\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "b529ccf2799c14346d1518e9bdf1f88f03643e99",
      "tree": "f899a5a5d66d2ca21724c1871ee3afeda6c4a670",
      "parents": [
        "965ffea43d4ebe8cd7b9fee78d651268dd7d23c5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 19:08:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:34 2007 -0700"
      },
      "message": "[NETLINK]: Introduce nlmsg_hdr() helper\n\nFor the common \"(struct nlmsghdr *)skb-\u003edata\" sequence, so that we reduce the\nnumber of direct accesses to skb-\u003edata and for consistency with all the other\ncast skb member helpers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4305b541357ddbd205aa145dc378926b7cb12283",
      "tree": "9b1f57ee4ee757a9324c48a7dea84bc8c279ad82",
      "parents": [
        "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:43:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:29 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003eend to sk_buff_data_t\n\nNow to convert the last one, skb-\u003edata, that will allow many simplifications\nand removal of some of the offset helpers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26",
      "tree": "5a267e40f9b94014be38dad5de0a52b6628834e0",
      "parents": [
        "be8bd86321fa7f06359d866ef61fb4d2f3e9dce9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:29:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003etail to sk_buff_data_t\n\nSo that it is also an offset from skb-\u003ehead, reduces its size from 8 to 4 bytes\non 64bit architectures, allowing us to combine the 4 bytes hole left by the\nlayer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4\n64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...\n:-)\n\nMany calculations that previously required that skb-\u003e{transport,network,\nmac}_header be first converted to a pointer now can be done directly, being\nmeaningful as offsets or pointers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e07fa9cd3bac1e28cfe3131ed86b053afb02fc9",
      "tree": "177ad0c2cbbd60c25e54b35802219634c047aa08",
      "parents": [
        "b0e380b1d8a8e0aca215df97702f99815f05c094"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:22:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:21 2007 -0700"
      },
      "message": "[SK_BUFF]: Use offsets for skb-\u003e{mac,network,transport}_header on 64bit architectures\n\nWith this we save 8 bytes per network packet, leaving a 4 bytes hole to be used\nin further shrinking work, likely with the offsetization of other pointers,\nsuch as -\u003e{data,tail,end}, at the cost of adds, that were minimized by the\nusual practice of setting skb-\u003e{mac,nh,n}.raw to a local variable that is then\naccessed multiple times in each function, it also is not more expensive than\nbefore with regards to most of the handling of such headers, like setting one\nof these headers to another (transport to network, etc), or subtracting, adding\nto/from it, comparing them, etc.\n\nNow we have this layout for sk_buff on a x86_64 machine:\n\n[acme@mica net-2.6.22]$ pahole vmlinux sk_buff\nstruct sk_buff {\n\tstruct sk_buff *       next;             /*   0   8 */\n\tstruct sk_buff *       prev;             /*   8   8 */\n\tstruct rb_node         rb;               /*  16  24 */\n\tstruct sock *          sk;               /*  40   8 */\n\tktime_t                tstamp;           /*  48   8 */\n\tstruct net_device *    dev;              /*  56   8 */\n\t/* --- cacheline 1 boundary (64 bytes) --- */\n\tstruct net_device *    input_dev;        /*  64   8 */\n\tsk_buff_data_t         transport_header; /*  72   4 */\n\tsk_buff_data_t         network_header;   /*  76   4 */\n\tsk_buff_data_t         mac_header;       /*  80   4 */\n\n\t/* XXX 4 bytes hole, try to pack */\n\n\tstruct dst_entry *     dst;              /*  88   8 */\n\tstruct sec_path *      sp;               /*  96   8 */\n\tchar                   cb[48];           /* 104  48 */\n\t/* cacheline 2 boundary (128 bytes) was 24 bytes ago*/\n\tunsigned int           len;              /* 152   4 */\n\tunsigned int           data_len;         /* 156   4 */\n\tunsigned int           mac_len;          /* 160   4 */\n\tunion {\n\t\t__wsum         csum;             /*       4 */\n\t\t__u32          csum_offset;      /*       4 */\n\t};                                       /* 164   4 */\n\t__u32                  priority;         /* 168   4 */\n\t__u8                   local_df:1;       /* 172   1 */\n\t__u8                   cloned:1;         /* 172   1 */\n\t__u8                   ip_summed:2;      /* 172   1 */\n\t__u8                   nohdr:1;          /* 172   1 */\n\t__u8                   nfctinfo:3;       /* 172   1 */\n\t__u8                   pkt_type:3;       /* 173   1 */\n\t__u8                   fclone:2;         /* 173   1 */\n\t__u8                   ipvs_property:1;  /* 173   1 */\n\n\t/* XXX 2 bits hole, try to pack */\n\n\t__be16                 protocol;         /* 174   2 */\n\tvoid    (*destructor)(struct sk_buff *); /* 176   8 */\n\tstruct nf_conntrack *  nfct;             /* 184   8 */\n\t/* --- cacheline 3 boundary (192 bytes) --- */\n\tstruct sk_buff *       nfct_reasm;       /* 192   8 */\n\tstruct nf_bridge_info *nf_bridge;        /* 200   8 */\n\t__u16                  tc_index;         /* 208   2 */\n\t__u16                  tc_verd;          /* 210   2 */\n\tdma_cookie_t           dma_cookie;       /* 212   4 */\n\t__u32                  secmark;          /* 216   4 */\n\t__u32                  mark;             /* 220   4 */\n\tunsigned int           truesize;         /* 224   4 */\n\tatomic_t               users;            /* 228   4 */\n\tunsigned char *        head;             /* 232   8 */\n\tunsigned char *        data;             /* 240   8 */\n\tunsigned char *        tail;             /* 248   8 */\n\t/* --- cacheline 4 boundary (256 bytes) --- */\n\tunsigned char *        end;              /* 256   8 */\n}; /* size: 264, cachelines: 5 */\n   /* sum members: 260, holes: 1, sum holes: 4 */\n   /* bit holes: 1, sum bit holes: 2 bits */\n   /* last cacheline: 8 bytes */\n\nOn 32 bits nothing changes, and pointers continue to be used with the compiler\nturning all this abstraction layer into dust. But there are some sk_buff\nvalidation tricks that are now possible, humm... :-)\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0e380b1d8a8e0aca215df97702f99815f05c094",
      "tree": "95f402ca155f5211150178811669ebf0a88e8e00",
      "parents": [
        "cfe1fc7759fdacb0c650b575daed1692bf3eaece"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:21:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:20 2007 -0700"
      },
      "message": "[SK_BUFF]: unions of just one member don\u0027t get anything done, kill them\n\nRenaming skb-\u003eh to skb-\u003etransport_header, skb-\u003enh to skb-\u003enetwork_header and\nskb-\u003emac to skb-\u003emac_header, to match the names of the associated helpers\n(skb[_[re]set]_{transport,network,mac}_header).\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfe1fc7759fdacb0c650b575daed1692bf3eaece",
      "tree": "b8ed6fbc6c028595f5e82be1bccdeb2727e0a0b2",
      "parents": [
        "bff9b61ce330df04c6830d823c30c04203543f01"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Mar 16 17:26:39 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:19 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_network_header_len\n\nFor the common sequence \"skb-\u003eh.raw - skb-\u003enh.raw\", similar to skb-\u003emac_len,\nthat is precalculated tho, don\u0027t think we need to bloat skb with one more\nmember, so just use this new helper, reducing the number of non-skbuff.h\nreferences to the layer headers even more.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a6114d94b6d6f82e81cb8e0d8b0d4cf50739fec",
      "tree": "5c7e4d025d13351cebbdcf6cf6e833575d4fd30b",
      "parents": [
        "d10ba34b001944a8d1c8adb5646140ef089c432b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Mar 15 21:08:55 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:02 2007 -0700"
      },
      "message": "[KBUILD]: Unifdef headers changed by the skb layer header refactorings\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8e2078cfe414a99cf6f2f2f1d78c7e75392e9d4",
      "tree": "35f283c122ef0e82f0a76f7d42591ecaf77aa3f0",
      "parents": [
        "5c8ce7c92106434d2bdc9d5dfa5f62bf4546b296"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Mar 14 16:45:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:57 2007 -0700"
      },
      "message": "[NETFILTER]: ctnetlink: add support for internal tcp connection tracking flags handling\n\nThis patch let userspace programs set the IP_CT_TCP_BE_LIBERAL flag to\nforce the pickup of established connections.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e7ac05f3407a3fb5a1b2ff5d5554899eaa0a10a3",
      "tree": "d8360ce670e1a60110ef6ddff20399129c51eefc",
      "parents": [
        "edda553c324bdc5bb5c2d553b524cab37058a855"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Wed Mar 14 16:44:01 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:55 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: add nf_copy() to safely copy members in skb\n\nThis unifies the codes to copy netfilter related datas. Before copying,\nnf_copy() puts original members in destination skb.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "edda553c324bdc5bb5c2d553b524cab37058a855",
      "tree": "04b041d20e685e2d7dab1dad41419af0360aa312",
      "parents": [
        "9b88790972498d235a2a4d2b66640c3c5b70bb7c"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Wed Mar 14 16:43:37 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:54 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: add __nf_copy() to copy members in skb\n\nThis unifies the codes to copy netfilter related datas. Note that\n__nf_copy() assumes destination skb doesn\u0027t have any netfilter\nrelated members.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e87e014ec881ce353e1f43340157f519b5d9f30",
      "tree": "694f65663570254f706ab328cf303cfd270cf74d",
      "parents": [
        "f4bc177f0ff0bf41b178452877762a9f0184d1a1"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 14 16:42:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:52 2007 -0700"
      },
      "message": "[JHASH]: Use const in jhash2\n\nUse const to avoid forcing users to cast const data.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a3c5029cf7a96da3acdf6884a21581b5bef310c3",
      "tree": "c599a8870e199562f4937193f2b3dc3d56a55145",
      "parents": [
        "c6a1e615d1ba942b9e783079d53f741e4a8e1c89"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 14 16:39:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:43 2007 -0700"
      },
      "message": "[NETFILTER]: nfnetlink: use mutex instead of semaphore\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "587aa64163bb14f70098f450abab9410787fce9d",
      "tree": "399c00a969d9a8c7af13675583c5417282d18974",
      "parents": [
        "ce18afe57bf53477f133208856dd2b7e6b5db5e3"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 14 16:37:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:34 2007 -0700"
      },
      "message": "[NETFILTER]: Remove IPv4 only connection tracking/NAT\n\nRemove the obsolete IPv4 only connection tracking/NAT as scheduled in\nfeature-removal-schedule.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c70220b73908f64792422a2c39c593c4792f2c5",
      "tree": "2090ea10aaa2714a5e095bae8cc02e743c378a3a",
      "parents": [
        "a27ef749e7be3b06fb58df53d94eb97a21f18707"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 18:04:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:31 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_transport_header(skb)\n\nFor the places where we need a pointer to the transport header, it is\nstill legal to touch skb-\u003eh.raw directly if just adding to,\nsubtracting from or setting it to another layer header.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39b89160df691045d1449cbaef43c02084c7543a",
      "tree": "bbe217599a1b84f3bf33c053e2c7d3bdf8bdd571",
      "parents": [
        "b0061ce49c83657563b64ffcf1ec137110230d93"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:06:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ipipv6_hdr(), remove skb-\u003eh.ipv6h\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0061ce49c83657563b64ffcf1ec137110230d93",
      "tree": "be6788071fdbc53261ee395f596705e1418461d1",
      "parents": [
        "aa8223c7bb0b05183e1737881ed21827aa5b9e73"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 18:02:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:27 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ipip_hdr(), remove skb-\u003eh.ipiph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "aa8223c7bb0b05183e1737881ed21827aa5b9e73"
}
