)]}'
{
  "log": [
    {
      "commit": "e225567960db50e9810a152c8621c7a6ed94de71",
      "tree": "d0129e2988f8aea56d4f00f04c4818c2e8cc07a2",
      "parents": [
        "4b030d4288a569d6bdeca884d7f102d951f097f2",
        "a24d52f390a77ce90dc8cf0cd75d27ec0a6ea3f8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 06 13:30:43 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 06 13:30:43 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "ce9e76c8450fc248d3e1fc16ef05e6eb50c02fa5",
      "tree": "bd46dd603d5e5fdc0288bc032808be6c7308112d",
      "parents": [
        "23d23e409a51a3eaad17a8045d30fd9cf8fb8a03"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Thu Aug 05 01:19:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 05 13:21:25 2010 -0700"
      },
      "message": "net: Fix napi_gro_frags vs netpoll path\n\nThe netpoll_rx_on() check in __napi_gro_receive() skips part of the\n\"common\" GRO_NORMAL path, especially \"pull:\" in dev_gro_receive(),\nwhere at least eth header should be copied for entirely paged skbs.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c0068c85897f06205d4c35cf4bf9161be90690e9",
      "tree": "ae8a186fff44a29454008a5d1f5891b10a861f2c",
      "parents": [
        "2411054ae9eb7e7ef488a39912abfc4ebadbe3ad",
        "adb08edea0119f7a5484a9f6a385fbcecdf85a63"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 05 15:54:28 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 05 15:54:28 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6\n"
    },
    {
      "commit": "d7100da026317fcf07411f765fe1cdb044053917",
      "tree": "97e9ecbde1575173684a357ad00960384ec7d1db",
      "parents": [
        "3b5bac2bdea1de832bdd8e2c904ab7c9479ff9ed"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Aug 04 07:34:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 04 21:53:17 2010 -0700"
      },
      "message": "ppp: make channel_ops const\n\nThe PPP channel ops structure should be const.\nCleanup the declarations to use standard C99 format.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b5bac2bdea1de832bdd8e2c904ab7c9479ff9ed",
      "tree": "b7e9fbdfa42e2e053c33af1b533a4e3693a352fe",
      "parents": [
        "f2f009812f1fdcaf40fa547282c1b90d3b702a7d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Aug 04 02:34:17 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 04 21:53:16 2010 -0700"
      },
      "message": "RxRPC: Fix a potential deadlock between the call resend_timer and state_lock\n\nRxRPC can potentially deadlock as rxrpc_resend_time_expired() wants to get\ncall-\u003estate_lock so that it can alter the state of an RxRPC call.  However, its\ncaller (call_timer_fn()) has an apparent lock on the timer struct.\n\nThe problem is that rxrpc_resend_time_expired() isn\u0027t permitted to lock\ncall-\u003estate_lock as this could cause a deadlock against rxrpc_send_abort() as\nthat takes state_lock and then attempts to delete the resend timer by calling\ndel_timer_sync().\n\nThe deadlock can occur because del_timer_sync() will sit there forever waiting\nfor rxrpc_resend_time_expired() to return, but the latter may then wait for\ncall-\u003estate_lock, which rxrpc_send_abort() holds around del_timer_sync()...\n\nThis leads to a warning appearing in the kernel log that looks something like\nthe attached.\n\nIt should be sufficient to simply dispense with the locks.  It doesn\u0027t matter\nif we set the resend timer expired event bit and queue the event processor\nwhilst we\u0027re changing state to one where the resend timer is irrelevant as the\nevent can just be ignored by the processor thereafter.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible circular locking dependency detected ]\n2.6.35-rc3-cachefs+ #115\n-------------------------------------------------------\nswapper/0 is trying to acquire lock:\n (\u0026call-\u003estate_lock){++--..}, at: [\u003cffffffffa00200d4\u003e] rxrpc_resend_time_expired+0x56/0x96 [af_rxrpc]\n\nbut task is already holding lock:\n (\u0026call-\u003eresend_timer){+.-...}, at: [\u003cffffffff8103b675\u003e] run_timer_softirq+0x182/0x2a5\n\nwhich lock already depends on the new lock.\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #1 (\u0026call-\u003eresend_timer){+.-...}:\n       [\u003cffffffff810560bc\u003e] __lock_acquire+0x889/0x8fa\n       [\u003cffffffff81056184\u003e] lock_acquire+0x57/0x6d\n       [\u003cffffffff8103bb9c\u003e] del_timer_sync+0x3c/0x86\n       [\u003cffffffffa002bb7a\u003e] rxrpc_send_abort+0x50/0x97 [af_rxrpc]\n       [\u003cffffffffa002bdd9\u003e] rxrpc_kernel_abort_call+0xa1/0xdd [af_rxrpc]\n       [\u003cffffffffa0061588\u003e] afs_deliver_to_call+0x129/0x368 [kafs]\n       [\u003cffffffffa006181b\u003e] afs_process_async_call+0x54/0xff [kafs]\n       [\u003cffffffff8104261d\u003e] worker_thread+0x1ef/0x2e2\n       [\u003cffffffff81045f47\u003e] kthread+0x7a/0x82\n       [\u003cffffffff81002cd4\u003e] kernel_thread_helper+0x4/0x10\n\n-\u003e #0 (\u0026call-\u003estate_lock){++--..}:\n       [\u003cffffffff81055237\u003e] validate_chain+0x727/0xd23\n       [\u003cffffffff810560bc\u003e] __lock_acquire+0x889/0x8fa\n       [\u003cffffffff81056184\u003e] lock_acquire+0x57/0x6d\n       [\u003cffffffff813e6b69\u003e] _raw_read_lock_bh+0x34/0x43\n       [\u003cffffffffa00200d4\u003e] rxrpc_resend_time_expired+0x56/0x96 [af_rxrpc]\n       [\u003cffffffff8103b6e6\u003e] run_timer_softirq+0x1f3/0x2a5\n       [\u003cffffffff81036828\u003e] __do_softirq+0xa2/0x13e\n       [\u003cffffffff81002dcc\u003e] call_softirq+0x1c/0x28\n       [\u003cffffffff810049f0\u003e] do_softirq+0x38/0x80\n       [\u003cffffffff810361a2\u003e] irq_exit+0x45/0x47\n       [\u003cffffffff81018fb3\u003e] smp_apic_timer_interrupt+0x88/0x96\n       [\u003cffffffff81002893\u003e] apic_timer_interrupt+0x13/0x20\n       [\u003cffffffff810011ac\u003e] cpu_idle+0x4d/0x83\n       [\u003cffffffff813e06f3\u003e] start_secondary+0x1bd/0x1c1\n\nother info that might help us debug this:\n\n1 lock held by swapper/0:\n #0:  (\u0026call-\u003eresend_timer){+.-...}, at: [\u003cffffffff8103b675\u003e] run_timer_softirq+0x182/0x2a5\n\nstack backtrace:\nPid: 0, comm: swapper Not tainted 2.6.35-rc3-cachefs+ #115\nCall Trace:\n \u003cIRQ\u003e  [\u003cffffffff81054414\u003e] print_circular_bug+0xae/0xbd\n [\u003cffffffff81055237\u003e] validate_chain+0x727/0xd23\n [\u003cffffffff810560bc\u003e] __lock_acquire+0x889/0x8fa\n [\u003cffffffff810539a7\u003e] ? mark_lock+0x42f/0x51f\n [\u003cffffffff81056184\u003e] lock_acquire+0x57/0x6d\n [\u003cffffffffa00200d4\u003e] ? rxrpc_resend_time_expired+0x56/0x96 [af_rxrpc]\n [\u003cffffffff813e6b69\u003e] _raw_read_lock_bh+0x34/0x43\n [\u003cffffffffa00200d4\u003e] ? rxrpc_resend_time_expired+0x56/0x96 [af_rxrpc]\n [\u003cffffffffa00200d4\u003e] rxrpc_resend_time_expired+0x56/0x96 [af_rxrpc]\n [\u003cffffffff8103b6e6\u003e] run_timer_softirq+0x1f3/0x2a5\n [\u003cffffffff8103b675\u003e] ? run_timer_softirq+0x182/0x2a5\n [\u003cffffffffa002007e\u003e] ? rxrpc_resend_time_expired+0x0/0x96 [af_rxrpc]\n [\u003cffffffff810367ef\u003e] ? __do_softirq+0x69/0x13e\n [\u003cffffffff81036828\u003e] __do_softirq+0xa2/0x13e\n [\u003cffffffff81002dcc\u003e] call_softirq+0x1c/0x28\n [\u003cffffffff810049f0\u003e] do_softirq+0x38/0x80\n [\u003cffffffff810361a2\u003e] irq_exit+0x45/0x47\n [\u003cffffffff81018fb3\u003e] smp_apic_timer_interrupt+0x88/0x96\n [\u003cffffffff81002893\u003e] apic_timer_interrupt+0x13/0x20\n \u003cEOI\u003e  [\u003cffffffff81049de1\u003e] ? __atomic_notifier_call_chain+0x0/0x86\n [\u003cffffffff8100955b\u003e] ? mwait_idle+0x6e/0x78\n [\u003cffffffff81009552\u003e] ? mwait_idle+0x65/0x78\n [\u003cffffffff810011ac\u003e] cpu_idle+0x4d/0x83\n [\u003cffffffff813e06f3\u003e] start_secondary+0x1bd/0x1c1\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2f009812f1fdcaf40fa547282c1b90d3b702a7d",
      "tree": "d6738a7481f2ee97cabfa44859a084d957d421c3",
      "parents": [
        "12dc96d1673feabef98eed1b5ff37abaa67fbe64"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Aug 04 04:58:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 04 21:53:16 2010 -0700"
      },
      "message": "sch_sfq: add sanity check for the packet length\n\nThe packet length should be checked before the packet data is dereferenced.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "12dc96d1673feabef98eed1b5ff37abaa67fbe64",
      "tree": "4f92d2b0eac8e5e2ceedfe42ae0182302d28de65",
      "parents": [
        "4b95c3d40d7d9927438ed7b7b49c84c60e27b65b"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Aug 04 04:55:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 04 21:53:15 2010 -0700"
      },
      "message": "cls_rsvp: add sanity check for the packet length\n\nThe packet length should be checked before the packet data is dereferenced.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b95c3d40d7d9927438ed7b7b49c84c60e27b65b",
      "tree": "322f6e8e9f044accae4eda032b04d1daeec00358",
      "parents": [
        "f9599ce11192f24dbb0f4fdb70121a05edc58342"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Aug 04 04:48:12 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 04 21:53:15 2010 -0700"
      },
      "message": "cls_flow: add sanity check for the packet length\n\nThe packet length should be checked before the packet data is dereferenced.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "36d12690a2e9bcacae5a2a7e0fb6345a3caad625",
      "tree": "f3e451b268d498af9ec171f6b454538091010f71",
      "parents": [
        "c33788b45f754bd5dd8adc520e37fa38ac1849c7"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Aug 03 17:39:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 04 21:53:14 2010 -0700"
      },
      "message": "act_nat: fix on the TX path\n\nOn the TX path, skb-\u003edata points to the ethernet header, not the network\nheader. So when validating the packet length for accessing we should\ntake the ethernet header into account.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cfc2c42c1cbc8e238bb9c0612c0df4565e3a8b4",
      "tree": "5adc1ff2eaf64d450bf28bb6b2ce890db2567288",
      "parents": [
        "5cf65713f87775c548e3eb48dbafa32e12f28000",
        "0ea6e61122196509af82cc4f36cbdaacbefb8227"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:31:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:31:02 2010 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (48 commits)\n  Documentation: update broken web addresses.\n  fix comment typo \"choosed\" -\u003e \"chosen\"\n  hostap:hostap_hw.c Fix typo in comment\n  Fix spelling contorller -\u003e controller in comments\n  Kconfig.debug: FAIL_IO_TIMEOUT: typo Faul -\u003e Fault\n  fs/Kconfig: Fix typo Userpace -\u003e Userspace\n  Removing dead MACH_U300_BS26\n  drivers/infiniband: Remove unnecessary casts of private_data\n  fs/ocfs2: Remove unnecessary casts of private_data\n  libfc: use ARRAY_SIZE\n  scsi: bfa: use ARRAY_SIZE\n  drm: i915: use ARRAY_SIZE\n  drm: drm_edid: use ARRAY_SIZE\n  synclink: use ARRAY_SIZE\n  block: cciss: use ARRAY_SIZE\n  comment typo fixes: charater \u003d\u003e character\n  fix comment typos concerning \"challenge\"\n  arm: plat-spear: fix typo in kerneldoc\n  reiserfs: typo comment fix\n  update email address\n  ...\n"
    },
    {
      "commit": "93c08c32914264f539baf7f04cce310a0dd30a7a",
      "tree": "c59d790b05399ff4ae247f80d00cc339550bf232",
      "parents": [
        "93c0584ca92a76bd458c7fd505b1747901315156"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Tue Aug 03 08:22:25 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 04 15:28:37 2010 -0400"
      },
      "message": "mac80211: Fix compilation warning when CONFIG_INET is not set\n\nThe warning is:\n  net/mac80211/main.c:688: warning: label ‘fail_ifa’ defined but not used\n\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1601b1e56e1093d6deb8f475fafc30cc30143357",
      "tree": "523921224fe15ad2abc647edb830c438c688644e",
      "parents": [
        "02f5ba5bac8b374bc2126920c7204c63019f28ce"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jul 30 13:30:47 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 04 15:27:36 2010 -0400"
      },
      "message": "mac80211: fix scan locking wrt. hw scan\n\nReleasing the scan mutex while starting scans\ncan lead to unexpected things happening, so\nwe shouldn\u0027t do that. Fix that and hold the\nmutex across the scan triggering.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6ba74014c1ab0e37af7de6f64b4eccbbae3cb9e7",
      "tree": "8f3892fc44f1e403675a6d7e88fda5c70e56ee4c",
      "parents": [
        "5abd9ccced7a726c817dd6b5b96bc933859138d1",
        "3ff1c25927e3af61c6bf0e4ed959504058ae4565"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 11:47:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 11:47:58 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1443 commits)\n  phy/marvell: add 88ec048 support\n  igb: Program MDICNFG register prior to PHY init\n  e1000e: correct MAC-PHY interconnect register offset for 82579\n  hso: Add new product ID\n  can: Add driver for esd CAN-USB/2 device\n  l2tp: fix export of header file for userspace\n  can-raw: Fix skb_orphan_try handling\n  Revert \"net: remove zap_completion_queue\"\n  net: cleanup inclusion\n  phy/marvell: add 88e1121 interface mode support\n  u32: negative offset fix\n  net: Fix a typo from \"dev\" to \"ndev\"\n  igb: Use irq_synchronize per vector when using MSI-X\n  ixgbevf: fix null pointer dereference due to filter being set for VLAN 0\n  e1000e: Fix irq_synchronize in MSI-X case\n  e1000e: register pm_qos request on hardware activation\n  ip_fragment: fix subtracting PPPOE_SES_HLEN from mtu twice\n  net: Add getsockopt support for TCP thin-streams\n  cxgb4: update driver version\n  cxgb4: add new PCI IDs\n  ...\n\nManually fix up conflicts in:\n - drivers/net/e1000e/netdev.c: due to pm_qos registration\n   infrastructure changes\n - drivers/net/phy/marvell.c: conflict between adding 88ec048 support\n   and cleaning up the IDs\n - drivers/net/wireless/ipw2x00/ipw2100.c: trivial ipw2100_pm_qos_req\n   conflict (registration change vs marking it static)\n"
    },
    {
      "commit": "adb08edea0119f7a5484a9f6a385fbcecdf85a63",
      "tree": "32b623c88a568b6a6539adf2196f816b9ed650df",
      "parents": [
        "6340650400525a9ca8d86b1b4501cc50670dce0d"
      ],
      "author": {
        "name": "Ville Tervo",
        "email": "ville.tervo@nokia.com",
        "time": "Wed Aug 04 09:43:33 2010 +0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Aug 04 07:25:17 2010 -0700"
      },
      "message": "Bluetooth: Check result code of L2CAP information response\n\nCheck result code of L2CAP information response. Otherwise\nit would read invalid feature mask and access invalid memory.\n\nSigned-off-by: Ville Tervo \u003cville.tervo@nokia.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "6340650400525a9ca8d86b1b4501cc50670dce0d",
      "tree": "c1b08c17d9fd9e97549ce7d723f762deba3dd768",
      "parents": [
        "28e9509b1270e5cfa8bb3c5ff51f39214aa09262"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Aug 03 23:49:29 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Aug 04 07:23:00 2010 -0700"
      },
      "message": "Bluetooth: Don\u0027t send RFC for Basic Mode if only it is supported\n\nIf the remote side doesn\u0027t support Enhanced Retransmission Mode neither\nStreaming Mode, we shall not send the RFC option.\n\nSome devices that only supports Basic Mode do not understanding the RFC\noption. This patch fixes the regression found with these devices.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "d790d4d583aeaed9fc6f8a9f4d9f8ce6b1c15c7f",
      "tree": "854ab394486288d40fa8179cbfaf66e8bdc44b0f",
      "parents": [
        "73b2c7165b76b20eb1290e7efebc33cfd21db1ca",
        "3a09b1be53d23df780a0cd0e4087a05e2ca4a00c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:14:38 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:14:38 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n"
    },
    {
      "commit": "cff0d6e6edac7672b3f915bb4fb59f279243b7f9",
      "tree": "a12b08344380a9f02c9d043b176b82e921266d6e",
      "parents": [
        "3578b0c8abc7bdb4f02152ce5db7e09d484c6866"
      ],
      "author": {
        "name": "Oliver Hartkopp",
        "email": "socketcan@hartkopp.net",
        "time": "Tue Aug 03 00:31:48 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 03 00:31:48 2010 -0700"
      },
      "message": "can-raw: Fix skb_orphan_try handling\n\nCommit fc6055a5ba31e2c14e36e8939f9bf2b6d586a7f5 (net: Introduce\nskb_orphan_try()) allows an early orphan of the skb and takes care on\ntx timestamping, which needs the sk-reference in the skb on driver level.\nSo does the can-raw socket, which has not been taken into account here.\n\nThe patch below adds a \u0027prevent_sk_orphan\u0027 bit in the skb tx shared info,\nwhich fixes the problem discovered by Matthias Fuchs here:\n\n      http://marc.info/?t\u003d128030411900003\u0026r\u003d1\u0026w\u003d2\n\nEven if it\u0027s not a primary tx timestamp topic it fits well into some skb\nshared tx context. Or should be find a different place for the information to\nprotect the sk reference until it reaches the driver level?\n\nSigned-off-by: Oliver Hartkopp \u003csocketcan@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3578b0c8abc7bdb4f02152ce5db7e09d484c6866",
      "tree": "a884f8467e5700b798d52a038d56f99ee5bd73f1",
      "parents": [
        "a427615e0420f179eab801b929111abaadea2ed3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 03 00:24:04 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 03 00:24:04 2010 -0700"
      },
      "message": "Revert \"net: remove zap_completion_queue\"\n\nThis reverts commit 15e83ed78864d0625e87a85f09b297c0919a4797.\n\nAs explained by Johannes Berg, the optimization made here is\ninvalid.  Or, at best, incomplete.\n\nNot only destructor invocation, but conntract entry releasing\nmust be executed outside of hw IRQ context.\n\nSo just checking \"skb-\u003edestructor\" is insufficient.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a427615e0420f179eab801b929111abaadea2ed3",
      "tree": "03e9c1e38222759fc439f6a340e8f2930732f687",
      "parents": [
        "00dad5e479531e379aba7358600cc768725d4f1f"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Mon Aug 02 22:45:49 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 02 22:45:49 2010 -0700"
      },
      "message": "net: cleanup inclusion\n\nCommit ab95bfe01f9872459c8678572ccadbf646badad0 replaces bridge and macvlan\nhooks in __netif_receive_skb(), so dev.c doesn\u0027t need to include their headers.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "00dad5e479531e379aba7358600cc768725d4f1f",
      "tree": "652199eacee32c2cf317f5a54da8265973d29978",
      "parents": [
        "c477d0447db08068a497e7beb892b2b2a7bff64b",
        "3a3dfb062c2e086c202d34f09ce29634515ad256"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 02 22:22:46 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 02 22:22:46 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/e1000e/hw.h\n\tnet/bridge/br_device.c\n\tnet/bridge/br_input.c\n"
    },
    {
      "commit": "66d50d25502cd9b7d6e3ebbf4e241259c1283eaf",
      "tree": "a8738a77a087122167a2d881a8d0833255bbadb4",
      "parents": [
        "eabd8ba9060444cac5b89a3306e607c15ec37418"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 02 13:44:13 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 02 22:07:45 2010 -0700"
      },
      "message": "u32: negative offset fix\n\nIt was possible to use a negative offset in a u32 match to reference\nthe ethernet header or other parts of the link layer header.\nThis fixes the regression caused by:\n\ncommit fbc2e7d9cf49e0bf89b9e91fd60a06851a855c5d\nAuthor: Changli Gao \u003cxiaosuo@gmail.com\u003e\nDate:   Wed Jun 2 07:32:42 2010 -0700\n\n    cls_u32: use skb_header_pointer() to dereference data safely\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c893b8066c7bf6156e4d760e5acaf4c148e37190",
      "tree": "8487417a6e938a1204a7e30cbc53fa2d274e6621",
      "parents": [
        "3c0fef0b7d36e5f8d3ea3731a8228102274e3c23"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sat Jul 31 13:25:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 02 17:25:07 2010 -0700"
      },
      "message": "ip_fragment: fix subtracting PPPOE_SES_HLEN from mtu twice\n\n6c79bf0f2440fd250c8fce8d9b82fcf03d4e8350 subtracts PPPOE_SES_HLEN from mtu at\nthe front of ip_fragment(). So the later subtraction should be removed. The\nMTU of 802.1q is also 1500, so MTU should not be changed.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Bart De Schuymer \u003cbdschuym@pandora.bo\u003e\n----\n net/ipv4/ip_output.c |    6 ++----\n 1 file changed, 2 insertions(+), 4 deletions(-)\nSigned-off-by: Bart De Schuymer \u003cbdschuym@pandora.bo\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3c0fef0b7d36e5f8d3ea3731a8228102274e3c23",
      "tree": "71e201a342dcd11946891da0d900e7fd81a23217",
      "parents": [
        "99e6d06521f2a522ff5aaa812552f68220507c67"
      ],
      "author": {
        "name": "Josh Hunt",
        "email": "johunt@akamai.com",
        "time": "Fri Jul 30 13:49:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 02 17:25:06 2010 -0700"
      },
      "message": "net: Add getsockopt support for TCP thin-streams\n\nInitial TCP thin-stream commit did not add getsockopt support for the new\nsocket options: TCP_THIN_LINEAR_TIMEOUTS and TCP_THIN_DUPACK. This adds support\nfor them.\n\nSigned-off-by: Josh Hunt \u003cjohunt@akamai.com\u003e\nTested-by: Andreas Petlund \u003capetlund@simula.no\u003e\nAcked-by: Andreas Petlund \u003capetlund@simula.no\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "83bf2e4089bebc2c7fd14a79de5954b26fe8d4af",
      "tree": "ab2cb1f229ba4c2d7236406c997e41a223daf74d",
      "parents": [
        "de38483010bae523f533bb6bf9f7b7353772f6eb",
        "6661481d5a8975657742c7ed40ae16bdaa7d0a6e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 02 15:07:58 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 02 15:07:58 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "0b1208b1aa7a555d5ae4246bab4cd76ba3f32b2d",
      "tree": "9149834d1e86df4d5d42abbfc10e92245946a851",
      "parents": [
        "a534c8d15b1f1d0f861fc2bb9e0529bd8486ec3f"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Jul 02 12:21:20 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:36 2010 -0500"
      },
      "message": "fs/9p: destroy fid on failed remove\n\n9P spec says:\n\"It is correct to consider remove to be a clunk with the\nside effect of removing the file if permissions allow. \"\n\nSo even if remove fails we need to destroy the fid.\n\nWithout this patch an rmdir on a directory with contents leave\nthe new cloned directory fid fid attached to fidlist. On umount\nwe dump the fids on the fidlist\n\n~# rmdir /mnt2/test4/\nrmdir: failed to remove `/mnt2/test4/\u0027: Directory not empty\n~# umount /mnt2/\n~# dmesg\n[  228.474323] Found fid 3 not clunked\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "eda25e46161527845572131b37706a458d9270ef",
      "tree": "b8a68c9185f7f53a135422a41dc68ef2c5f527ee",
      "parents": [
        "0ef63f345c48afe5896c5cffcba57f0457d409b9"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon May 31 13:22:50 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:34 2010 -0500"
      },
      "message": "net/9p: Implement TXATTRCREATE 9p call\n\nTXATTRCREATE:  Prepare a fid for setting xattr value on a file system object.\n\n size[4] TXATTRCREATE tag[2] fid[4] name[s] attr_size[8] flags[4]\n size[4] RXATTRCREATE tag[2]\n\ntxattrcreate gets a fid pointing to xattr. This fid can later be\nused to set the xattr value.\n\nflag value is derived from set Linux setxattr. The manpage says\n\"The flags parameter can be used to refine the semantics of the operation.\nXATTR_CREATE specifies a pure create, which fails if the named attribute\nexists already. XATTR_REPLACE specifies a pure replace operation, which\nfails if the named attribute does not already exist. By default (no flags),\nthe extended attribute will be created if need be, or will simply replace\nthe value if the attribute exists.\"\n\nThe actual setxattr operation happens when the fid is clunked. At that point\nthe written byte count and the attr_size specified in TXATTRCREATE should be\nsame otherwise an error will be returned.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "0ef63f345c48afe5896c5cffcba57f0457d409b9",
      "tree": "b02ca26b3d74d998a6e609a9abd9a753d0ab8075",
      "parents": [
        "ef56547efa3c88609069e2a91f46e25c31dd536e"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon May 31 13:22:45 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:33 2010 -0500"
      },
      "message": "net/9p: Implement attrwalk 9p call\n\nTXATTRWALK: Descend a ATTR namespace\n\n size[4] TXATTRWALK tag[2] fid[4] newfid[4] name[s]\n size[4] RXATTRWALK tag[2] size[8]\n\ntxattrwalk gets a fid pointing to xattr. This fid can later be\nused to read the xattr value. If name is NULL the fid returned\ncan be used to get the list of extended attribute associated to\nthe file system object.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "ef56547efa3c88609069e2a91f46e25c31dd536e",
      "tree": "802bb98048ae36e59fc0bcaa21bd54e5ebf9de99",
      "parents": [
        "5643135a28464e7c19d8d23a9e0804697a62c84b"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Tue Jun 22 19:47:50 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:32 2010 -0500"
      },
      "message": "9p: Implement LOPEN\n\nImplement 9p2000.L version of open(LOPEN) interface in 9p client.\n\nFor LOPEN, no need to convert the flags to and from 9p mode to VFS mode.\n\nSynopsis:\n\n    size[4] Tlopen tag[2] fid[4] mode[4]\n\n    size[4] Rlopen tag[2] qid[13] iounit[4]\n\n[Fix mode bit format - jvrao@linux.vnet.ibm.com]\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbegren \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "5643135a28464e7c19d8d23a9e0804697a62c84b",
      "tree": "d7141110fab0f3d71a95fe18b0b77cbaca645c80",
      "parents": [
        "01a622bd7409bb7af38e784cff814e5e723f7951"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Thu Jun 17 18:27:46 2010 -0700"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:32 2010 -0500"
      },
      "message": "fs/9p: This patch implements TLCREATE for 9p2000.L protocol.\n\nSYNOPSIS\n\n    size[4] Tlcreate tag[2] fid[4] name[s] flags[4] mode[4] gid[4]\n\n    size[4] Rlcreate tag[2] qid[13] iounit[4]\n\nDESCRIPTION\n\nThe Tlreate request asks the file server to create a new regular file with the\nname supplied, in the directory (dir) represented by fid.\nThe mode argument specifies the permissions to use. New file is created with\nthe uid if the fid and with supplied gid.\n\nThe flags argument represent Linux access mode flags with which the caller\nis requesting to open the file with. Protocol allows all the Linux access\nmodes but it is upto the server to allow/disallow any of these acess modes.\nIf the server doesn\u0027t support any of the access mode, it is expected to\nreturn error.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "01a622bd7409bb7af38e784cff814e5e723f7951",
      "tree": "1b6e0d9806e560d7f89e0efa8981cfba4c213361",
      "parents": [
        "4b43516ab19b748b48322937fd9307af17541c4d"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Wed Jun 16 14:27:22 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:31 2010 -0500"
      },
      "message": "9p: Implement TMKDIR\n\nImplement TMKDIR as part of 2000.L Work\n\nSynopsis\n\n    size[4] Tmkdir tag[2] fid[4] name[s] mode[4] gid[4]\n\n    size[4] Rmkdir tag[2] qid[13]\n\nDescription\n\n    mkdir asks the file server to create a directory with given name,\n    mode and gid. The qid for the new directory is returned with\n    the mkdir reply message.\n\nNote: 72 is selected as the opcode for TMKDIR from the reserved list.\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "4b43516ab19b748b48322937fd9307af17541c4d",
      "tree": "0ab84e8d69abce9d63e1937b1a807d2243444a01",
      "parents": [
        "50cc42ff3d7bc48a436c5a0413459ca7841b505f"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Wed Jun 16 14:27:01 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:30 2010 -0500"
      },
      "message": "9p: Implement TMKNOD\n\nSynopsis\n\n    size[4] Tmknod tag[2] fid[4] name[s] mode[4] major[4] minor[4] gid[4]\n\n    size[4] Rmknod tag[2] qid[13]\n\nDescription\n\n    mknod asks the file server to create a device node with given major and\n    minor number, mode and gid. The qid for the new device node is returned\n    with the mknod reply message.\n\n[sripathik@in.ibm.com: Fix error handling code]\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "50cc42ff3d7bc48a436c5a0413459ca7841b505f",
      "tree": "7209ab2807e3a284c1fbd36dd885e34b81809b0d",
      "parents": [
        "652df9a7fd03cb47a3f663f0c08a2bd086505e9b"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Wed Jun 09 15:59:31 2010 -0700"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:29 2010 -0500"
      },
      "message": "9p: Define and implement TSYMLINK for 9P2000.L\n\nCreate a symbolic link\n\nSYNOPSIS\n\nsize[4] Tsymlink tag[2] fid[4] name[s] symtgt[s] gid[4]\n\nsize[4] Rsymlink tag[2] qid[13]\n\nDESCRIPTION\n\nCreate a symbolic link named \u0027name\u0027 pointing to \u0027symtgt\u0027.\ngid represents the effective group id of the caller.\nThe  permissions of a symbolic link are irrelevant hence it is omitted\nfrom the protocol.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nReviewed-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "652df9a7fd03cb47a3f663f0c08a2bd086505e9b",
      "tree": "af90ae0762a8770e660b4cbb23f7e9225cd5dba7",
      "parents": [
        "09d34ee5f93b2e53b64ffba27bc18731e31154e1"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Thu Jun 03 15:16:59 2010 -0700"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:28:25 2010 -0500"
      },
      "message": "9p: Define and implement TLINK for 9P2000.L\n\nThis patch adds a helper function to get the dentry from inode and\nuses it in creating a Hardlink\n\nSYNOPSIS\n\nsize[4] Tlink tag[2] dfid[4] oldfid[4] newpath[s]\n\nsize[4] Rlink tag[2]\n\nDESCRIPTION\n\nCreate a link \u0027newpath\u0027 in directory pointed by dfid linking to oldfid path.\n\n[sripathik@in.ibm.com : p9_client_link should not free req structure\nif p9_client_rpc has returned an error.]\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "87d7845aa0b157a62448dd3e339856f28befe1f4",
      "tree": "bae5a5449f4bdb5ccfd1edcb99b285708c123e9f",
      "parents": [
        "f085312204f384a0277a66c3c48ba8f9edcd58f2"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Fri Jun 18 11:50:10 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:25:10 2010 -0500"
      },
      "message": "9p: Implement client side of setattr for 9P2000.L protocol.\n\n    SYNOPSIS\n\n      size[4] Tsetattr tag[2] attr[n]\n\n      size[4] Rsetattr tag[2]\n\n    DESCRIPTION\n\n      The setattr command changes some of the file status information.\n      attr resembles the iattr structure used in Linux kernel. It\n      specifies which status parameter is to be changed and to what\n      value. It is laid out as follows:\n\n         valid[4]\n            specifies which status information is to be changed. Possible\n            values are:\n            ATTR_MODE       (1 \u003c\u003c 0)\n            ATTR_UID        (1 \u003c\u003c 1)\n            ATTR_GID        (1 \u003c\u003c 2)\n            ATTR_SIZE       (1 \u003c\u003c 3)\n            ATTR_ATIME      (1 \u003c\u003c 4)\n            ATTR_MTIME      (1 \u003c\u003c 5)\n            ATTR_ATIME_SET  (1 \u003c\u003c 7)\n            ATTR_MTIME_SET  (1 \u003c\u003c 8)\n\n            The last two bits represent whether the time information\n            is being sent by the client\u0027s user space. In the absense\n            of these bits the server always uses server\u0027s time.\n\n         mode[4]\n            File permission bits\n\n         uid[4]\n            Owner id of file\n\n         gid[4]\n            Group id of the file\n\n         size[8]\n            File size\n\n         atime_sec[8]\n            Time of last file access, seconds\n\n         atime_nsec[8]\n            Time of last file access, nanoseconds\n\n         mtime_sec[8]\n            Time of last file modification, seconds\n\n         mtime_nsec[8]\n            Time of last file modification, nanoseconds\n\nExplanation of the patches:\n--------------------------\n\n*) The kernel just copies relevent contents of iattr structure to\n   p9_iattr_dotl structure and passes it down to the client. The\n   only check it has is calling inode_change_ok()\n*) The p9_iattr_dotl structure does not have ctime and ia_file\n   parameters because I don\u0027t think these are needed in our case.\n   The client user space can request updating just ctime by calling\n   chown(fd, -1, -1). This is handled on server side without a need\n   for putting ctime on the wire.\n*) The server currently supports changing mode, time, ownership and\n   size of the file.\n*) 9P RFC says \"Either all the changes in wstat request happen, or\n   none of them does: if the request succeeds, all changes were made;\n   if it fails, none were.\"\n   I have not done anything to implement this specifically because I\n   don\u0027t see a reason.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "f085312204f384a0277a66c3c48ba8f9edcd58f2",
      "tree": "33006860cc1cd4338de56ba1a9915ed95082814e",
      "parents": [
        "9ffaf63e34821ea60b2e1c8593f968d73728f82b"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Mon Jul 12 20:07:23 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:25:09 2010 -0500"
      },
      "message": "9p: getattr client implementation for 9P2000.L protocol.\n\n        SYNOPSIS\n\n              size[4] Tgetattr tag[2] fid[4] request_mask[8]\n\n              size[4] Rgetattr tag[2] lstat[n]\n\n           DESCRIPTION\n\n              The getattr transaction inquires about the file identified by fid.\n              request_mask is a bit mask that specifies which fields of the\n              stat structure is the client interested in.\n\n              The reply will contain a machine-independent directory entry,\n              laid out as follows:\n\n                 st_result_mask[8]\n                    Bit mask that indicates which fields in the stat structure\n                    have been populated by the server\n\n                 qid.type[1]\n                    the type of the file (directory, etc.), represented as a bit\n                    vector corresponding to the high 8 bits of the file\u0027s mode\n                    word.\n\n                 qid.vers[4]\n                    version number for given path\n\n                 qid.path[8]\n                    the file server\u0027s unique identification for the file\n\n                 st_mode[4]\n                    Permission and flags\n\n                 st_uid[4]\n                    User id of owner\n\n                 st_gid[4]\n                    Group ID of owner\n\n                 st_nlink[8]\n                    Number of hard links\n\n                 st_rdev[8]\n                    Device ID (if special file)\n\n                 st_size[8]\n                    Size, in bytes\n\n                 st_blksize[8]\n                    Block size for file system IO\n\n                 st_blocks[8]\n                    Number of file system blocks allocated\n\n                 st_atime_sec[8]\n                    Time of last access, seconds\n\n                 st_atime_nsec[8]\n                    Time of last access, nanoseconds\n\n                 st_mtime_sec[8]\n                    Time of last modification, seconds\n\n                 st_mtime_nsec[8]\n                    Time of last modification, nanoseconds\n\n                 st_ctime_sec[8]\n                    Time of last status change, seconds\n\n                 st_ctime_nsec[8]\n                    Time of last status change, nanoseconds\n\n                 st_btime_sec[8]\n                    Time of creation (birth) of file, seconds\n\n                 st_btime_nsec[8]\n                    Time of creation (birth) of file, nanoseconds\n\n                 st_gen[8]\n                    Inode generation\n\n                 st_data_version[8]\n                    Data version number\n\n              request_mask and result_mask bit masks contain the following bits\n                 #define P9_STATS_MODE          0x00000001ULL\n                 #define P9_STATS_NLINK         0x00000002ULL\n                 #define P9_STATS_UID           0x00000004ULL\n                 #define P9_STATS_GID           0x00000008ULL\n                 #define P9_STATS_RDEV          0x00000010ULL\n                 #define P9_STATS_ATIME         0x00000020ULL\n                 #define P9_STATS_MTIME         0x00000040ULL\n                 #define P9_STATS_CTIME         0x00000080ULL\n                 #define P9_STATS_INO           0x00000100ULL\n                 #define P9_STATS_SIZE          0x00000200ULL\n                 #define P9_STATS_BLOCKS        0x00000400ULL\n\n                 #define P9_STATS_BTIME         0x00000800ULL\n                 #define P9_STATS_GEN           0x00001000ULL\n                 #define P9_STATS_DATA_VERSION  0x00002000ULL\n\n                 #define P9_STATS_BASIC         0x000007ffULL\n                 #define P9_STATS_ALL           0x00003fffULL\n\n        This patch implements the client side of getattr implementation for\n        9P2000.L. It introduces a new structure p9_stat_dotl for getting\n        Linux stat information along with QID. The data layout is similar to\n        stat structure in Linux user space with the following major\n        differences:\n\n        inode (st_ino) is not part of data. Instead qid is.\n\n        device (st_dev) is not part of data because this doesn\u0027t make sense\n        on the client.\n\n        All time variables are 64 bit wide on the wire. The kernel seems to use\n        32 bit variables for these variables. However, some of the architectures\n        have used 64 bit variables and glibc exposes 64 bit variables to user\n        space on some architectures. Hence to be on the safer side we have made\n        these 64 bit in the protocol. Refer to the comments in\n        include/asm-generic/stat.h\n\n        There are some additional fields: st_btime_sec, st_btime_nsec, st_gen,\n        st_data_version apart from the bitmask, st_result_mask. The bit mask\n        is filled by the server to indicate which stat fields have been\n        populated by the server. Currently there is no clean way for the\n        server to obtain these additional fields, so it sends back just the\n        basic fields.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbegren \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "69d4b4436b54c1a850d475697fda5ca117b09a5e",
      "tree": "e7f1ad979bacad89bd359938d1211caf27dbe8cf",
      "parents": [
        "7751bdb3a095ad32dd4fcff3443cf8dd4cb1e748"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Jun 01 09:26:17 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:25:08 2010 -0500"
      },
      "message": "net/9p: Handle the server returned error properly\n\nWe need to get the negative errno value in the kernel\neven for dotl.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "7751bdb3a095ad32dd4fcff3443cf8dd4cb1e748",
      "tree": "6c7a93a546e34d86e433a1be05e3ebfcc4f77754",
      "parents": [
        "97e8442b0971ea6be9a495b3d03402985cfe5d6a"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Fri Jun 04 13:41:26 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 14:25:07 2010 -0500"
      },
      "message": "9p: readdir implementation for 9p2000.L\n\nThis patch implements the kernel part of readdir() implementation for 9p2000.L\n\n    Change from V3: Instead of inode, server now sends qids for each dirent\n\n    SYNOPSIS\n\n    size[4] Treaddir tag[2] fid[4] offset[8] count[4]\n    size[4] Rreaddir tag[2] count[4] data[count]\n\n    DESCRIPTION\n\n    The readdir request asks the server to read the directory specified by \u0027fid\u0027\n    at an offset specified by \u0027offset\u0027 and return as many dirent structures as\n    possible that fit into count bytes. Each dirent structure is laid out as\n    follows.\n\n            qid.type[1]\n              the type of the file (directory, etc.), represented as a bit\n              vector corresponding to the high 8 bits of the file\u0027s mode\n              word.\n\n            qid.vers[4]\n              version number for given path\n\n            qid.path[8]\n              the file server\u0027s unique identification for the file\n\n            offset[8]\n              offset into the next dirent.\n\n            type[1]\n              type of this directory entry.\n\n            name[256]\n              name of this directory entry.\n\n    This patch adds v9fs_dir_readdir_dotl() as the readdir() call for 9p2000.L.\n    This function sends P9_TREADDIR command to the server. In response the server\n    sends a buffer filled with dirent structures. This is different from the\n    existing v9fs_dir_readdir() call which receives stat structures from the server.\n    This results in significant speedup of readdir() on large directories.\n    For example, doing \u0027ls \u003e/dev/null\u0027 on a directory with 10000 files on my\n    laptop takes 1.088 seconds with the existing code, but only takes 0.339 seconds\n    with the new readdir.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "6661481d5a8975657742c7ed40ae16bdaa7d0a6e",
      "tree": "baa2e3cd57259be6320e506b1d664224da2313ed",
      "parents": [
        "2452a99dc0496a90abd0090c280671370c0f3e1c"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Mon Aug 02 17:56:28 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Aug 02 17:56:28 2010 +0200"
      },
      "message": "netfilter: nf_conntrack_acct: use skb-\u003elen for accounting\n\nuse skb-\u003elen for accounting as xt_quota does. Since nf_conntrack works\nat the network layer, skb_network_offset should always returns ZERO.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "cff6b8a9b81b404e8ce0257b26007c3afe625212",
      "tree": "8d8793de1843a1831f5ee38efb273a30f06c2a65",
      "parents": [
        "b126468e08d92aaeffa58ef04d70e417241dadc1"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sat Jul 10 11:51:54 2010 +0200"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Aug 02 10:37:17 2010 -0500"
      },
      "message": "9p: strlen() doesn\u0027t count the terminator\n\nThis is an off by one bug because strlen() doesn\u0027t count the NULL\nterminator.  We strcpy() addr into a fixed length array of size\nUNIX_PATH_MAX later on.\n\nThe addr variable is the name of the device being mounted.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "2452a99dc0496a90abd0090c280671370c0f3e1c",
      "tree": "695cfb4bff794c4815f8d55e89426107ad3699de",
      "parents": [
        "f43dc98b3be36551143e3bbaf1bb3067835c24f4"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Mon Aug 02 17:35:49 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Aug 02 17:35:49 2010 +0200"
      },
      "message": "netfilter: nf_nat: don\u0027t check if the tuple is unique when there isn\u0027t any other choice\n\nThe tuple got from unique_tuple() doesn\u0027t need to be really unique, so the\ncheck for the unique tuple isn\u0027t necessary, when there isn\u0027t any other\nchoice. Eliminating the unnecessary nf_nat_used_tuple() can save some CPU\ncycles too.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f43dc98b3be36551143e3bbaf1bb3067835c24f4",
      "tree": "65d157024f399f49f8798ab9f905d66dc4f11a52",
      "parents": [
        "794dbc1d712e181a9eb8d1ae799ed7c526963a7c"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Mon Aug 02 17:20:54 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Aug 02 17:20:54 2010 +0200"
      },
      "message": "netfilter: nf_nat: make unique_tuple return void\n\nThe only user of unique_tuple() get_unique_tuple() doesn\u0027t care about the\nreturn value of unique_tuple(), so make unique_tuple() return void (nothing).\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "794dbc1d712e181a9eb8d1ae799ed7c526963a7c",
      "tree": "920418736aea470df9daa80e83f4733588535b89",
      "parents": [
        "5c0d2374a16fcb52096df914ee57720987677be5"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Mon Aug 02 17:15:30 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Aug 02 17:15:30 2010 +0200"
      },
      "message": "netfilter: nf_nat: use local variable hdrlen\n\nUse local variable hdrlen instead of ip_hdrlen(skb).\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "5c0d2374a16fcb52096df914ee57720987677be5",
      "tree": "fe69482186b9a4fe208c18fffbf2c791718d0557",
      "parents": [
        "2890a1573d1ae859a4d77e2fdbecacf21f96c0db"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Aug 02 17:12:44 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Aug 02 17:12:44 2010 +0200"
      },
      "message": "ipvs: provide default ip_vs_conn_{in,out}_get_proto\n\nThis removes duplicate code by providing a default implementation\nwhich is used by 3 of the 4 modules that provide these call.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "2890a1573d1ae859a4d77e2fdbecacf21f96c0db",
      "tree": "36348ffbab8262e2c708f1fbb27b024616d64e28",
      "parents": [
        "ee92d37861a90b8f14fa621ae5abcfb29a89aaa9"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Aug 02 17:08:11 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Aug 02 17:08:11 2010 +0200"
      },
      "message": "ipvs: remove EXPERIMENTAL tag\n\nIPVS was merged into the kernel quite a long time ago and\nhas been seeing wide-spread production use for even longer.\n\nIt seems appropriate for it to be no longer tagged as EXPERIMENTAL\n\nSigned-off-as: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "ee92d37861a90b8f14fa621ae5abcfb29a89aaa9",
      "tree": "ead832fad372e9802d51914ebd6a8f3ce8edd4ce",
      "parents": [
        "24b36f0193467fa727b85b4c004016a8dae999b9"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Mon Aug 02 17:06:19 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Aug 02 17:06:19 2010 +0200"
      },
      "message": "netfilter: nf_conntrack_extend: introduce __nf_ct_ext_exist()\n\nsome users of nf_ct_ext_exist() know ct-\u003eext isn\u0027t NULL. For these users, the\ncheck for ct-\u003eext isn\u0027t necessary, the function __nf_ct_ext_exist() can be\nused instead.\n\nthe type of the return value of nf_ct_ext_exist() is changed to bool.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "24b36f0193467fa727b85b4c004016a8dae999b9",
      "tree": "d9518ed0ef2012fd14567d03b500295dfb7fe7e0",
      "parents": [
        "7df0884ce144396fc151f2af7a73d5fb305f9b03"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Aug 02 16:49:01 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Aug 02 16:49:01 2010 +0200"
      },
      "message": "netfilter: {ip,ip6,arp}_tables: dont block bottom half more than necessary\n\nWe currently disable BH for the whole duration of get_counters()\n\nOn machines with a lot of cpus and large tables, this might be too long.\n\nWe can disable preemption during the whole function, and disable BH only\nwhile fetching counters for the current cpu.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "de38483010bae523f533bb6bf9f7b7353772f6eb",
      "tree": "ee31326ffb81541496ca960a9fbfa8a92a13d26c",
      "parents": [
        "e2e0c7c9ddbe6b79fe647aca5eea3a405d38ada4"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Sun Aug 01 00:33:23 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 01 00:33:23 2010 -0700"
      },
      "message": "net: ingress filter message limit\n\nIf user misconfigures ingress and causes a redirection loop, don\u0027t\noverwhelm the log.  This is also a error case so make it unlikely.\nFound by inspection, luckily not in real system.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2e0c7c9ddbe6b79fe647aca5eea3a405d38ada4",
      "tree": "2caf75dd8e741a2df698a1491d15414e11598960",
      "parents": [
        "0fc48c37ff3969dde71a43fa7c8f176d4bd90a3e"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Fri Jul 30 23:56:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 01 00:32:12 2010 -0700"
      },
      "message": "net/rose: Use GFP_ATOMIC\n\nThe other calls to kmalloc in the same function use GFP_ATOMIC, and indeed\ntwo locks are held within the body of the function.\n\nThe semantic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@ identifier f; @@\n\n*f(...,GFP_ATOMIC,...)\n... when !\u003d spin_unlock(...)\n    when !\u003d read_unlock(...)\n    when !\u003d write_unlock(...)\n    when !\u003d read_unlock_irq(...)\n    when !\u003d write_unlock_irq(...)\n    when !\u003d read_unlock_irqrestore(...)\n    when !\u003d write_unlock_irqrestore(...)\n    when !\u003d spin_unlock_irq(...)\n    when !\u003d spin_unlock_irqrestore(...)\n*f(...,GFP_KERNEL,...)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a3dfb062c2e086c202d34f09ce29634515ad256",
      "tree": "01569a926ed206fa91736eb06def56d000e46791",
      "parents": [
        "072d79a31a3b870b49886f4347e23f81b7eca3ac"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Jul 29 14:04:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 31 22:04:55 2010 -0700"
      },
      "message": "act_nat: the checksum of ICMP doesn\u0027t have pseudo header\n\nafter updating the value of the ICMP payload, inet_proto_csum_replace4() should\nbe called with zero pseudohdr.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "072d79a31a3b870b49886f4347e23f81b7eca3ac",
      "tree": "e007177c6d42e63a610ba0a8a811c0b4b1c0841a",
      "parents": [
        "6d1d1d398cb7db7a12c5d652d50f85355345234f"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Jul 29 13:41:46 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 31 22:04:54 2010 -0700"
      },
      "message": "act_nat: fix wild pointer\n\npskb_may_pull() may change skb pointers, so adjust icmph after pskb_may_pull().\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "28e9509b1270e5cfa8bb3c5ff51f39214aa09262",
      "tree": "04d78ebd2c6f3dfcd588e6dfd5820772364213c4",
      "parents": [
        "ea4bd8ba804dedefa65303b3bd105d6d2808e621"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat Jul 31 19:57:05 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Jul 31 16:09:21 2010 -0700"
      },
      "message": "Bluetooth: Remove __exit from rfcomm_cleanup_ttys()\n\nrfcomm_cleanup_ttys() is also called from rfcomm_init(), so it can\u0027t\nhave __exit.\n\nReported-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "ea4bd8ba804dedefa65303b3bd105d6d2808e621",
      "tree": "4a189e6c27629892ce9d8b99566ca823e7502b47",
      "parents": [
        "b7753c8cd51dce67a0b152efb456a21ff1cc241b"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 30 21:54:49 2010 -0700"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Jul 31 16:06:58 2010 -0700"
      },
      "message": "Bluetooth: Use list_head for HCI blacklist head\n\nThe bdaddr in the list root is completely unused and just\ntaking up space.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nTested-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "3a7fda06ba48e97650fe44ea8e8a7cc385e1c100",
      "tree": "115a1d78f4d9c8a45f04ad35029374fe2050884a",
      "parents": [
        "de140b0d511ad86a5dd0888c9095ae030ada2e86"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jul 29 00:45:30 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 30 23:38:58 2010 -0700"
      },
      "message": "bridge: Allow multicast snooping to be disabled before ifup\n\nCurrently you cannot disable multicast snooping while a device is\ndown.  There is no good reason for this restriction and this patch\nremoves it.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d1d1d398cb7db7a12c5d652d50f85355345234f",
      "tree": "9075ad9f7889079f91b430e7cc404a7d9cee696a",
      "parents": [
        "a3bdb549e30e7a263f7a589747c40e9c50110315"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jul 29 01:12:31 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 30 23:36:57 2010 -0700"
      },
      "message": "bridge: Fix skb leak when multicast parsing fails on TX\n\nOn the bridge TX path we\u0027re leaking an skb when br_multicast_rcv\nreturns an error.\n\nReported-by: David Lamparter \u003cequinox@diac24.net\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a3bdb549e30e7a263f7a589747c40e9c50110315",
      "tree": "ac14f82ebe454fdbc00c3f1298a293e03e1f1592",
      "parents": [
        "eeaf61d8891f9c9ed12c1a667e72bf83f0857954"
      ],
      "author": {
        "name": "Dmitry Popov",
        "email": "dp@highloadlab.com",
        "time": "Thu Jul 29 01:59:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 30 23:04:07 2010 -0700"
      },
      "message": "tcp: cookie transactions setsockopt memory leak\n\nThere is a bug in do_tcp_setsockopt(net/ipv4/tcp.c),\nTCP_COOKIE_TRANSACTIONS case.\nIn some cases (when tp-\u003ecookie_values \u003d\u003d NULL) new tcp_cookie_values\nstructure can be allocated (at cvp), but not bound to\ntp-\u003ecookie_values. So a memory leak occurs.\n\nSigned-off-by: Dmitry Popov \u003cdp@highloadlab.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae3568adf42d5d3bb3cfa505b94351c5d1ce4924",
      "tree": "112865a6e6b1e4ddf70362f3efb295c495ec85b9",
      "parents": [
        "7f3e01fee41a322747db2d7574516d9fbd3785c0",
        "b7753c8cd51dce67a0b152efb456a21ff1cc241b"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jul 29 14:47:07 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jul 29 14:47:07 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "e5b900d228b76d445a4240d9aeb3cd8f79205a91",
      "tree": "dffa32e827e2d6e5388430ae5ec732f0ca023b11",
      "parents": [
        "d28232b461b8d54b09e59325dbac8b0913ce2049"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jul 29 16:08:55 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jul 29 12:55:00 2010 -0400"
      },
      "message": "mac80211: allow drivers to request DTIM period\n\nSome features require knowing the DTIM period\nbefore associating. This implements the ability\nto wait for a beacon in mac80211 before assoc\nto provide this value. It is optional since\nmost likely not all drivers will need this.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4552124543141debf40a94b67155e57aa6bb34d6",
      "tree": "c2080f8be1a08c92a40bb05464800c05d4806152",
      "parents": [
        "a0daa0e7592ada797d6835f11529097aabc27ad2"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Wed Jul 28 02:40:49 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 28 16:24:02 2010 -0400"
      },
      "message": "mac80211: inform drivers about the off-channel status on channel changes\n\nFor some drivers it can be useful to know whether the channel they\u0027re\nsupposed to switch to is going to be used for short off-channel work or\nscanning, or whether the hardware is expected to stay on it for a while\nlonger. This is important for various kinds of calibration work, which\ntakes longer to complete and should keep some persistent state, even if\nthe channel temporarily changes.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a0daa0e7592ada797d6835f11529097aabc27ad2",
      "tree": "4ac6eee98f6ae61833237699070f44e54fa5f48a",
      "parents": [
        "308883380c615b8b3d2c0eadb8680a921177c0b3"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Tue Jul 27 16:33:08 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 28 16:24:02 2010 -0400"
      },
      "message": "Revert \"mac80211: fix sw scan bracketing\"\n\nThis reverts this commit. While in theory the change is\ncorrect the patch does not address current assumptions made\nby some drivers, one which is definitley affected is ath9k.\n\nPrior to this change the scan complete callback would be\ncalled after we returned to the home channel and configured\nthe hardware RX filters. After this change we call the scan\ncomplete callback prior to both the hw config and the config\nfilter. At least for ath9k this breaks quite a few assumptions\non the callback, leading to disconnects to the AP after every scan\nmaking the driver pretty useless on STA mode. The goal behind\nthis commit was to address the now understood spurious warnings\nfrom ath9k and mac80211_hwsim on scanning on two wiphys at the\nsame time but we have now supressed these and will address this\nissue in the next kernel release.\n\nWhen fixing this for good next we must first review the other\ndriver\u0027s dependence on this logic and perhaps consider removal\nof the scan complete callback all together.\n\nCc: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c4c322941ce0d7e2b7b8794ad70683123d9cb26a",
      "tree": "05e21ce160325f8bbcec70abff35977fadd01ee2",
      "parents": [
        "d080e2755d840ede60128cc914a070868ebabc1e"
      ],
      "author": {
        "name": "Yuri Ershov",
        "email": "ext-yuri.ershov@nokia.com",
        "time": "Tue Jun 29 15:08:08 2010 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 28 16:24:01 2010 -0400"
      },
      "message": "cfg80211: Update of regulatory request initiator handling\n\nIn some cases there could be possible dereferencing freed pointer. The\nupdate is intended to avoid this issue.\n\nSigned-off-by: Yuri Ershov \u003cext-yuri.ershov@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d080e2755d840ede60128cc914a070868ebabc1e",
      "tree": "3b69f97577346301bd250af4616e6d27c49fbfd8",
      "parents": [
        "e4ab7eb0aecbe56ac280486c61cd3f0f6c42870b"
      ],
      "author": {
        "name": "Yuri Ershov",
        "email": "ext-yuri.ershov@nokia.com",
        "time": "Tue Jun 29 15:08:07 2010 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 28 16:24:01 2010 -0400"
      },
      "message": "nl80211: Fix memory leaks\n\nIn case of errors during message composing msg should be freed after canceling.\n\nSigned-off-by: Yuri Kululin \u003cext-yuri.kululin@nokia.com\u003e\nSigned-off-by: Yuri Ershov \u003cext-yuri.ershov@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e4ab7eb0aecbe56ac280486c61cd3f0f6c42870b",
      "tree": "10a03d37bc640f1c572541806e2a6541b5ea019b",
      "parents": [
        "099284bdecf6e0af78662371ed3f45b71d796aad"
      ],
      "author": {
        "name": "Yuri Ershov",
        "email": "ext-yuri.ershov@nokia.com",
        "time": "Tue Jun 29 15:08:06 2010 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 28 16:24:01 2010 -0400"
      },
      "message": "mac80211: Put some code under MESH macro\n\nIn the function ieee80211_subif_start_xmit the logic related with\nmeshdrlen is under CONFIG_MAC80211_MESH macro, but in one place it isn\u0027t.\nThis is some update for this\n\nSigned-off-by: Yuri Ershov \u003cext-yuri.ershov@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "099284bdecf6e0af78662371ed3f45b71d796aad",
      "tree": "90c336885d8dd6daf46ea4b94f71bb8f986b5ba9",
      "parents": [
        "073730d771d97bb5bbef080bd5d6d0a5af7cba7d",
        "4ebaa4edf8799cab19d5a0642dc95f04fd284e06"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 28 16:17:49 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 28 16:17:49 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6\n"
    },
    {
      "commit": "eeaf61d8891f9c9ed12c1a667e72bf83f0857954",
      "tree": "daeda447800df1349559268d8f6e79c90dcd22dd",
      "parents": [
        "ff847ac2d3e90edd94674c28bade25ae1e6a2e49"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jul 27 08:26:30 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 28 10:50:55 2010 -0700"
      },
      "message": "bridge: add rcu_read_lock on transmit\n\nLong ago, when bridge was converted to RCU, rcu lock was equivalent\nto having preempt disabled. RCU has changed a lot since then and\nbridge code was still assuming the since transmit was called with\nbottom half disabled, it was RCU safe.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nTested-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb7e95c8fd859922c6cf3ebbb3a8546007df1748",
      "tree": "58b54c6306ba168b76f25cc6dc9a2d1d2eb830a7",
      "parents": [
        "b8bc0421ab7f83712a0a8ef7eb05fa73ec53c027",
        "5447080cfa3c77154498dfbf225367ac85b4c2b5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 27 21:01:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 27 21:01:35 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x_main.c\n\nMerge bnx2x bug fixes in by hand... :-/\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f8362afcd2da8b313ec3cc04a50af19d3592972",
      "tree": "c4fe061e063d399c73a08e3fef7864fb4fe36a72",
      "parents": [
        "f2b94bb9e0b8bd048331a6e9d616e918f4bcbd97"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat Jul 24 02:04:45 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Jul 27 12:37:27 2010 -0700"
      },
      "message": "Bluetooth: Add __init and __exit marks to RFCOMM\n\nThose annotation save memory and space on the binary. __init code is\ndiscarded just after execute and __exit code is discarded if the module\nis built into the kernel image or unload of modules is not allowed.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "da5f6c37eee040775997191d1a1bc91c0c1e51eb",
      "tree": "91c50ab042076832cba9542e594b7f3a730c7892",
      "parents": [
        "0bbdf6cba0fb730ae2f2cfd5ead3d1e2e5498ddc"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat Jul 24 01:34:54 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Jul 27 12:33:49 2010 -0700"
      },
      "message": "Bluetooth: Test \u0027count\u0027 value before enter the loop\n\nTesting first we avoid enter the loop when count \u003d 0.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "e73439d8c0e4c522c843b8bb98c0eb5700da6b05",
      "tree": "0ca070acc02700061380bd40315e39684b3e59fa",
      "parents": [
        "800f65bba8d2030b3fef62850e203f9f176625a8"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 26 10:06:00 2010 -0400"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Jul 27 12:29:04 2010 -0700"
      },
      "message": "Bluetooth: Defer SCO setup if mode change is pending\n\nCertain headsets such as the Motorola H350 will reject SCO and eSCO\nconnection requests while the ACL is transitioning from sniff mode\nto active mode. Add synchronization so that SCO and eSCO connection\nrequests will wait until the ACL has fully transitioned to active mode.\n\n\u003c HCI Command: Exit Sniff Mode (0x02|0x0004) plen 2\n    handle 12\n\u003e HCI Event: Command Status (0x0f) plen 4\n    Exit Sniff Mode (0x02|0x0004) status 0x00 ncmd 1\n\u003c HCI Command:  Setup Synchronous Connection (0x01|0x0028) plen 17\n    handle 12 voice setting 0x0040\n\u003e HCI Event: Command Status (0x0f) plen 4\n    Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1\n\u003e HCI Event: Number of Completed Packets (0x13) plen 5\n    handle 12 packets 1\n\u003e HCI Event: Mode Change (0x14) plen 6\n    status 0x00 handle 12 mode 0x00 interval 0\n    Mode: Active\n\u003e HCI Event: Synchronous Connect Complete (0x2c) plen 17\n    status 0x10 handle 14 bdaddr 00:1A:0E:50:28:A4 type SCO\n    Error: Connection Accept Timeout Exceeded\n\nSigned-off-by: Ron Shaffer \u003crshaffer@codeaurora.org\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "073730d771d97bb5bbef080bd5d6d0a5af7cba7d",
      "tree": "711dc85fa6253408de4fe0766ea1b8219fd6c034",
      "parents": [
        "903c99d8d6d055c56e7fdfba4602c05e357fa186"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Jul 26 14:40:00 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 27 15:14:13 2010 -0400"
      },
      "message": "wireless: Convert wiphy_debug macro to function\n\nSave a few bytes of text\n\n(allyesconfig)\n$ size drivers/net/wireless/built-in.o*\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n3924568\t 100548\t 871056\t4896172\t 4ab5ac\tdrivers/net/wireless/built-in.o.new\n3926520\t 100548\t 871464\t4898532\t 4abee4\tdrivers/net/wireless/built-in.o.old\n\n$ size net/wireless/core.o*\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  12843\t    216\t   3768\t  16827\t   41bb\tnet/wireless/core.o.new\n  12328\t    216\t   3656\t  16200\t   3f48\tnet/wireless/core.o\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "32162a4dab0e6a4ca7f886a01173b5f9b80843be",
      "tree": "a8337e9b9788b787c13241ec9a9642527d5aad6a",
      "parents": [
        "1b2fb7dc71c1f8f97663c2da84fa1c8183588474"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Mon Jul 26 15:52:03 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 27 14:59:58 2010 -0400"
      },
      "message": "mac80211: Fix key freeing to handle unlinked keys\n\nKey locking simplification removed key-\u003esdata !\u003d NULL verification from\nieee80211_key_free(). While that is fine for most use cases, there is one\npath where this function can be called with an unlinked key (i.e.,\nkey-\u003esdata \u003d\u003d NULL \u0026\u0026 key-\u003elocal \u003d\u003d NULL). This results in a NULL pointer\ndereference with the current implementation. This is known to happen at\nleast with FT protocol when wpa_supplicant tries to configure the key\nbefore association.\n\nAvoid the issue by passing in the local pointer to\nieee80211_key_free(). In addition, do not clear the key from hw_accel\nor debugfs if it has not yet been added. At least the hw_accel one could\ntrigger another NULL pointer dereference.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a376bca61096c7a79393e8125b7ad4757ccff19c",
      "tree": "87bb6aeff773e334a620b3a9aed6b2771cfb9bca",
      "parents": [
        "1a041a23da7c77b53c71fe11b4f940388bee37b1",
        "5447080cfa3c77154498dfbf225367ac85b4c2b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 27 09:21:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 27 09:21:00 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  s2io: fixing DBG_PRINT() macro\n  ath9k: fix dma direction for map/unmap in ath_rx_tasklet\n  net: dev_forward_skb should call nf_reset\n  net sched: fix race in mirred device removal\n  tun: avoid BUG, dump packet on GSO errors\n  bonding: set device in RLB ARP packet handler\n  wimax/i2400m: Add PID \u0026 VID for Intel WiMAX 6250\n  ipv6: Don\u0027t add routes to ipv6 disabled interfaces.\n  net: Fix skb_copy_expand() handling of -\u003ecsum_start\n  net: Fix corruption of skb csum field in pskb_expand_head() of net/core/skbuff.c\n  macvtap: Limit packet queue length\n  ixgbe/igb: catch invalid VF settings\n  bnx2x: Advance a module version\n  bnx2x: Protect statistics ramrod and sequence number\n  bnx2x: Protect a SM state change\n  wireless: use netif_rx_ni in ieee80211_send_layer2_update\n"
    },
    {
      "commit": "800f65bba8d2030b3fef62850e203f9f176625a8",
      "tree": "6507c4fe7a0826c253b4afb29375ab306a0fd9c8",
      "parents": [
        "06b3cda0c12986f5bba578b918b188d731c4e191",
        "b3190df628617c7a4f188a9465aeabe1f5761933"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 27 11:59:19 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 27 11:59:19 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-commands.h\n"
    },
    {
      "commit": "652c6717465dbd0091dbe04ed9be2f7e59c03c7d",
      "tree": "4c79c61dbab1c01a0e3096e2c25001c10af7ee99",
      "parents": [
        "a256be70c57d6f8c827d09d645a1f6fe9330af72"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sun Jul 25 23:21:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 26 21:00:10 2010 -0700"
      },
      "message": "genetlink: use genl_register_family_with_ops()\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a256be70c57d6f8c827d09d645a1f6fe9330af72",
      "tree": "8557ccb681ea452f00057343e628f0d88b8d5cd3",
      "parents": [
        "416c2f9cf5524cb53392cbcf99fef7aa687192ce"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Mon Jul 26 20:59:42 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 26 20:59:42 2010 -0700"
      },
      "message": "drop_monitor: use genl_register_family_with_ops()\n\n[ Fix unused local variable build warnings. -DaveM ]\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "416c2f9cf5524cb53392cbcf99fef7aa687192ce",
      "tree": "13ea7c8ddc0ea37f8017849eea859736f2e14233",
      "parents": [
        "f78f09f76540c9a986bc321a186a291f4bb40925"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sun Jul 25 20:46:01 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 26 20:53:49 2010 -0700"
      },
      "message": "genetlink: cleanup code according to CodingStyle\n\nIf the function is exported, the EXPORT* macro for it should follow immediately\nafter the closing function brace line.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\n----\n net/netlink/genetlink.c |    9 ++++-----\n 1 file changed, 4 insertions(+), 5 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a9ad99a612763803b995ce551ca43b20beb1f888",
      "tree": "daff243cc83116bdcffc5f675d0f33c0f777cc69",
      "parents": [
        "c736eefadb71a01a5e61e0de700f28f6952b4444",
        "f792af250de54309e4bc9f238db3623ead0a4507"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 26 13:26:09 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 26 13:26:09 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "40b53d8a4edca018b8edb2fa99c5326642d450fa",
      "tree": "e73ed4cc7b3f933634e0f2ebdc9c7f78903a3f09",
      "parents": [
        "1235f504aaba2ebeabc863fdb3ceac764a317d47"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 26 13:13:49 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 26 13:13:49 2010 -0700"
      },
      "message": "wireless: Make COMPAT_NETLINK_MESSAGES depend upon WEXT_CORE\n\nWIRELESS_EXT is not the correct dependency.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1235f504aaba2ebeabc863fdb3ceac764a317d47",
      "tree": "58969a45226b9d35bbfc7ecc3dab2823c117db39",
      "parents": [
        "7b5e078cf04ea5b8b7ccffaf9a3607097f5c2359"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jul 26 13:09:16 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 26 13:09:16 2010 -0700"
      },
      "message": "netlink: netlink_recvmsg() fix\n\ncommit 1dacc76d0014\n(net/compat/wext: send different messages to compat tasks)\nintroduced a race condition on netlink, in case MSG_PEEK is used.\n\nAn skb given by skb_recv_datagram() might be shared, we must copy it\nbefore any modification, or risk fatal corruption.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d97349797fa76753c747ed8b888414fe78795439",
      "tree": "3130e31755c0a76e991f7ca8700ebe2a16e00aa2",
      "parents": [
        "487f0e010cf5b6ba504150dfb20c21fd93e3b9e6"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Fri Jul 23 10:47:11 2010 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 26 15:32:42 2010 -0400"
      },
      "message": "mac80211: Don\u0027t set per-BSS QoS for monitor interfaces\n\nIn AP mode, there is no need to notify the driver about QoS\nchanges for the monitor interface that is created. The warning\nin ieee80211_bss_info_change_notify() would be hit otherwise.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ec25acc46a62db98baaa9b221f33b66af09a1964",
      "tree": "78e577f444850b70415120bf9a68a642ee8960fa",
      "parents": [
        "bd75eb854300c7e09eaf067572498abdeb9d3424"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jul 22 17:11:28 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 26 15:32:42 2010 -0400"
      },
      "message": "mac80211: fix sta assignment\n\nI just had the following:\nWARNING: at drivers/net/wireless/iwlwifi/iwl-agn-tx.c:574 iwlagn_tx_skb+0x1576/0x15f0 [iwlagn]()\nCall Trace:\n \u003cIRQ\u003e  [\u003cffffffff8105c5df\u003e] warn_slowpath_common+0x7f/0xc0\n [\u003cffffffff8105c63a\u003e] warn_slowpath_null+0x1a/0x20\n [\u003cffffffffa0290b46\u003e] iwlagn_tx_skb+0x1576/0x15f0 [iwlagn]\n [\u003cffffffffa027076c\u003e] iwl_mac_tx+0x5c/0x260 [iwlagn]\n [\u003cffffffffa01bdf5b\u003e] __ieee80211_tx+0x10b/0x1a0 [mac80211]\n [\u003cffffffffa01bfb86\u003e] ieee80211_tx_pending+0x186/0x2d0 [mac80211]\n [\u003cffffffff81062ea5\u003e] tasklet_action+0x125/0x130\n [\u003cffffffff810634a6\u003e] __do_softirq+0x106/0x270\n [\u003cffffffff8100c09c\u003e] call_softirq+0x1c/0x30\niwlagn 0000:02:00.0: Attempting to modify non-existing station 107\n\nNote that 107 \u003d\u003d 0x6b which is slab poison.\n\nThe reason is that mac80211 passed a freed station\npointer to mac80211, because as it happened iwlwifi\nreset itself while mac80211 was disconnecting from\nthe network.\n\nIt turns out that we do take care to look up the\nstation pointer in ieee80211_tx_pending_skb, but\nthen don\u0027t use it, which obviously is a bug. Fix\nthis by removing the ieee80211_tx_h_sta handler\nand assigning the station pointer directly.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3be61a3851c458fb4ce394645e26e8e9670c796a",
      "tree": "3cd39f153d416a4c2080acb6394e76ab72d43320",
      "parents": [
        "66c524210ab9217528b01b63c43903545e03a58c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jul 22 13:59:15 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 26 15:32:41 2010 -0400"
      },
      "message": "cfg80211: fix IBSS default management key\n\nWhen wireless extensions are used to control\nan encrypted IBSS, we erroneously can try to\nset the default management key. Fix this.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "66c524210ab9217528b01b63c43903545e03a58c",
      "tree": "3d3f519fc5f0230618fca12012b851bfd76947fb",
      "parents": [
        "f9f9b6e3e3128e2b4d01a6e5ed0bb73cbb9a0a37"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jul 22 13:58:51 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 26 15:32:41 2010 -0400"
      },
      "message": "mac80211: remove bogus rcu_read_lock()\n\nAnother remnant of the previous key locking scheme\nneeds to be removed -- this causes a warning\notherwise as ieee80211_set_default_mgmt_key will\nacquire a mutex.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f9f9b6e3e3128e2b4d01a6e5ed0bb73cbb9a0a37",
      "tree": "8fdd35bd43152eeccc77915e0f9452f50eb0e479",
      "parents": [
        "7e988014cd6dec991f095305256f57168b5610e8"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Jul 22 13:26:50 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 26 15:32:41 2010 -0400"
      },
      "message": "wireless: remove unneeded variable from regulatory_hint_11d()\n\nThe \"rd\" variable isn\u0027t needed any more since 4f366c5dabcb\n\"wireless: only use alpha2 regulatory information from country IE\"\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7e988014cd6dec991f095305256f57168b5610e8",
      "tree": "f51c57070b9998636a0a4c5e277a1a57a7c1f07a",
      "parents": [
        "68e8f2fae03cde0ba841325e2660b55fe49bf4b9"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Jul 22 13:14:19 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 26 15:32:41 2010 -0400"
      },
      "message": "mac80211: freeing the wrong variable\n\nThe intent was to free \"msp-\u003eratelist\" here.  \"msp-\u003esample_table\" is\nalways NULL at this point.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3289a8368c294726659588d044e354dd3bcf44b3",
      "tree": "e7e534dbbeb1f4c8e73c329cbd0956d65f3147d4",
      "parents": [
        "ea65145da88e9fa04cb15c7a2a550ad1d3fde02a"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jul 22 16:31:48 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 26 15:09:04 2010 -0400"
      },
      "message": "lib80211: remove unused host_build_iv option\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ea65145da88e9fa04cb15c7a2a550ad1d3fde02a",
      "tree": "41f105d7e8e1d5b997fe706cc1355ea053b41b84",
      "parents": [
        "00fc90c886220efe8b634d3f2a04713fcebbe2c0"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jul 22 15:43:13 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 26 15:09:04 2010 -0400"
      },
      "message": "minstrel: don\u0027t complain about feedback for unrequested rates\n\n\"It\u0027s not problematic if minstrel gets feedback for rates that it\ndoesn\u0027t have in its list, it should just ignore it. - Felix\"\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nCc: Felix Fietkau \u003cnbd@openwrt.org\u003e\n"
    },
    {
      "commit": "00fc90c886220efe8b634d3f2a04713fcebbe2c0",
      "tree": "66e36e0b338564b60be182333c6bdba6b13f0d77",
      "parents": [
        "a6e492b9b5d323ca391312b981a5017e450132c0"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jul 22 15:36:02 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 26 15:09:04 2010 -0400"
      },
      "message": "minstrel_ht: remove unnecessary NULL check in minstrel_ht_update_caps\n\nIf sta is NULL, we will have problems long before we get here...\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nCc: Felix Fietkau \u003cnbd@openwrt.org\u003e\n"
    },
    {
      "commit": "c736eefadb71a01a5e61e0de700f28f6952b4444",
      "tree": "d6a7cb06755e24bb5a1a44b68802577c1ca303d8",
      "parents": [
        "3b87956ea645fb4de7e59c7d0aa94de04be72615"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Thu Jul 22 09:54:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 25 21:58:46 2010 -0700"
      },
      "message": "net: dev_forward_skb should call nf_reset\n\nWith conn-track zones and probably with different network\nnamespaces, the netfilter logic needs to be re-calculated\non packet receive.  If the netfilter logic is not reset,\nit will not be recalculated properly.  This patch adds\nthe nf_reset logic to dev_forward_skb.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fed66381d65a35198639f564365e61a7f256bf79",
      "tree": "e4d4c83f135f58c32a85454e28e33407711f7718",
      "parents": [
        "c1f79426e2df5ef96fe3e76de6c7606d15bf390b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 22 19:09:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 24 21:05:57 2010 -0700"
      },
      "message": "net: pskb_expand_head() optimization\n\nMove frags[] at the end of struct skb_shared_info, and make\npskb_expand_head() copy only the used part of it instead of whole array.\n\nThis should avoid kmemcheck warnings and speedup pskb_expand_head() as\nwell, avoiding a lot of cache misses.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b87956ea645fb4de7e59c7d0aa94de04be72615",
      "tree": "0dde04e6dfad7cd76afbb31eff72a8f08a574a9c",
      "parents": [
        "76ac21f5ef30e46397e405695eb1240ff0955209"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Jul 22 18:45:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 24 21:04:20 2010 -0700"
      },
      "message": "net sched: fix race in mirred device removal\n\nThis fixes hang when target device of mirred packet classifier\naction is removed.\n\nIf a mirror or redirection action is configured to cause packets\nto go to another device, the classifier holds a ref count, but was assuming\nthe adminstrator cleaned up all redirections before removing. The fix\nis to add a notifier and cleanup during unregister.\n\nThe new list is implicitly protected by RTNL mutex because\nit is held during filter add/delete as well as notifier.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1f79426e2df5ef96fe3e76de6c7606d15bf390b",
      "tree": "645ca8ec803a110ce07dc873b7e99392efbf25eb",
      "parents": [
        "55bad82385f036a844429ff8989732f0ea3bfff9"
      ],
      "author": {
        "name": "Stefan Assmann",
        "email": "sassmann@redhat.com",
        "time": "Thu Jul 22 02:50:21 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 24 20:49:29 2010 -0700"
      },
      "message": "sysfs: add attribute to indicate hw address assignment type\n\nAdd addr_assign_type to struct net_device and expose it via sysfs.\nThis new attribute has the purpose of giving user-space the ability to\ndistinguish between different assignment types of MAC addresses.\n\nFor example user-space can treat NICs with randomly generated MAC\naddresses differently than NICs that have permanent (locally assigned)\nMAC addresses.\nFor the former udev could write a persistent net rule by matching the\ndevice path instead of the MAC address.\nThere\u0027s also the case of devices that \u0027steal\u0027 MAC addresses from slave\ndevices. In which it is also be beneficial for user-space to be aware\nof the fact.\n\nThis patch also introduces a helper function to assist adoption of\ndrivers that generate MAC addresses randomly.\n\nSigned-off-by: Stefan Assmann \u003csassmann@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a88e7e559f2358f4e1422d0b0c0278a74136581",
      "tree": "b4e9e56dbde79fe7185cba511a1ffd85f5d2018e",
      "parents": [
        "344e0f623cec5eba273db06fe57db080988d6b26",
        "7a17a33c0da37f8d24222c967550d19dabf13617"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 23 14:03:38 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 23 14:03:38 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-commands.h\n"
    },
    {
      "commit": "451e07a26483f3234f1df6b1f60b949dab4e7719",
      "tree": "138bdbbb8db9363f46e7ebfc6b472120d67fd1cb",
      "parents": [
        "882d829a23756dd827d8ed30000f73f1b035ad29"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andy.shevchenko@gmail.com",
        "time": "Fri Jul 23 03:18:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 23 12:50:51 2010 -0700"
      },
      "message": "net: core: don\u0027t use own hex_to_bin() method\n\nSigned-off-by: Andy Shevchenko \u003candy.shevchenko@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7df0884ce144396fc151f2af7a73d5fb305f9b03",
      "tree": "e7557990c5e96ffe8b81d8107c98a9a134786fcf",
      "parents": [
        "261abc8c964e018256c1bcbd99b8a208c624d7cc"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Jul 23 16:25:11 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jul 23 16:25:11 2010 +0200"
      },
      "message": "netfilter: iptables: use skb-\u003elen for accounting\n\nUse skb-\u003elen for accounting as xt_quota does.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "261abc8c964e018256c1bcbd99b8a208c624d7cc",
      "tree": "c98dd4640e000fe0fa0f4bbc57d8db92d88c492a",
      "parents": [
        "49daf6a22622d4e1619aeaad5f9f0472bf89daff"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Jul 23 16:24:34 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jul 23 16:24:34 2010 +0200"
      },
      "message": "netfilter: ip6tables: use skb-\u003elen for accounting\n\nipv6_hdr(skb)-\u003epayload_len is ZERO and can\u0027t be used for accounting, if\nthe payload is a Jumbo Payload specified in RFC2675.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "49daf6a22622d4e1619aeaad5f9f0472bf89daff",
      "tree": "a86af0b0f846fc187eaa45ffdad96976bfd38331",
      "parents": [
        "b0c81aa566cccbe26bd99237873fb8428827d82f"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Jul 23 14:07:47 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jul 23 14:07:47 2010 +0200"
      },
      "message": "xt_quota: report initial quota value instead of current value to userspace\n\nWe should copy the initial value to userspace for iptables-save and\nto allow removal of specific quota rules.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "b0c81aa566cccbe26bd99237873fb8428827d82f",
      "tree": "bd0c7f6528f1f7283dcc3163929b627e6bb1c756",
      "parents": [
        "f667009ecc3304248727236ff88f9070f918355f"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Jul 23 14:04:03 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jul 23 14:04:03 2010 +0200"
      },
      "message": "netfilter: xt_quota: use per-rule spin lock\n\nUse per-rule spin lock to improve the scalability.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f667009ecc3304248727236ff88f9070f918355f",
      "tree": "4d7cfcd8fa565dfccc2fdf8c2f008f0fc3dfb937",
      "parents": [
        "c36952e524b2b898a3c9e9b137f64d72d43cd393"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Jul 23 13:40:53 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jul 23 13:40:53 2010 +0200"
      },
      "message": "netfilter: arptables: use arp_hdr_len()\n\nuse arp_hdr_len().\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "c36952e524b2b898a3c9e9b137f64d72d43cd393",
      "tree": "6fdc6d67bd40c0cff79e49e8a3e6423354503180",
      "parents": [
        "e8648a1fdb54da1f683784b36a17aa65ea56e931"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Jul 23 13:27:08 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jul 23 13:27:08 2010 +0200"
      },
      "message": "netfilter: nf_nat_core: merge the same lines\n\nproto-\u003eunique_tuple() will be called finally, if the previous calls fail. This\npatch checks the false condition of (range-\u003eflags \u0026IP_NAT_RANGE_PROTO_RANDOM)\ninstead to avoid duplicate line of code: proto-\u003eunique_tuple().\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "e8648a1fdb54da1f683784b36a17aa65ea56e931",
      "tree": "66fd69f1987e4aba0025429b581d394e6db28af0",
      "parents": [
        "7f1c407579519e71a0dcadc05614fd98acec585e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jul 23 12:59:36 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jul 23 12:59:36 2010 +0200"
      },
      "message": "netfilter: add xt_cpu match\n\nIn some situations a CPU match permits a better spreading of\nconnections, or select targets only for a given cpu.\n\nWith Remote Packet Steering or multiqueue NIC and appropriate IRQ\naffinities, we can distribute trafic on available cpus, per session.\n(all RX packets for a given flow is handled by a given cpu)\n\nSome legacy applications being not SMP friendly, one way to scale a\nserver is to run multiple copies of them.\n\nInstead of randomly choosing an instance, we can use the cpu number as a\nkey so that softirq handler for a whole instance is running on a single\ncpu, maximizing cache effects in TCP/UDP stacks.\n\nUsing NAT for example, a four ways machine might run four copies of\nserver application, using a separate listening port for each instance,\nbut still presenting an unique external port :\n\niptables -t nat -A PREROUTING -p tcp --dport 80 -m cpu --cpu 0 \\\n        -j REDIRECT --to-port 8080\n\niptables -t nat -A PREROUTING -p tcp --dport 80 -m cpu --cpu 1 \\\n        -j REDIRECT --to-port 8081\n\niptables -t nat -A PREROUTING -p tcp --dport 80 -m cpu --cpu 2 \\\n        -j REDIRECT --to-port 8082\n\niptables -t nat -A PREROUTING -p tcp --dport 80 -m cpu --cpu 3 \\\n        -j REDIRECT --to-port 8083\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    }
  ],
  "next": "7f1c407579519e71a0dcadc05614fd98acec585e"
}
