)]}'
{
  "log": [
    {
      "commit": "a76e99abc558aed633ba28ff61c5328116292bf3",
      "tree": "60f7677f0baafa00825accc1214839246b3e78dd",
      "parents": [
        "a54734678ff9cb97938b9f7648547174f3b118e4",
        "1d05f993784973189395051cc711fdd6dd5eb389"
      ],
      "author": {
        "name": "Rohit Vaswani",
        "email": "rvaswani@codeaurora.org",
        "time": "Fri Mar 30 00:09:34 2012 -0700"
      },
      "committer": {
        "name": "Rohit Vaswani",
        "email": "rvaswani@codeaurora.org",
        "time": "Fri Mar 30 00:09:34 2012 -0700"
      },
      "message": "Merge branch \u0027Linux 3.0.21\u0027 into msm-3.0\n\nMerge Upstream\u0027s stable 3.0.21 branch into msm-3.0\nThis consists 814 commits and some merge conflicts.\n\nThe merge conflicts are because of some local changes to\nmsm-3.0 as well as some conflicts between google\u0027s tree and\nthe upstream tree.\n\nConflicts:\n\tarch/arm/kernel/head.S\n\tdrivers/bluetooth/ath3k.c\n\tdrivers/bluetooth/btusb.c\n\tdrivers/mmc/core/core.c\n\tdrivers/tty/serial/serial_core.c\n\tdrivers/usb/host/ehci-hub.c\n\tdrivers/usb/serial/qcserial.c\n\tfs/namespace.c\n\tfs/proc/base.c\n\nChange-Id: I62e2edbe213f84915e27f8cd6e4f6ce23db22a21\nSigned-off-by: Rohit Vaswani \u003crvaswani@codeaurora.org\u003e\n"
    },
    {
      "commit": "d4e3d523925a6b0b31d96b78a052702c70c68135",
      "tree": "57a24f74de3a76fed38a56f66c48748c8e3c0199",
      "parents": [
        "1942f21b1d31ef46ecaad76f963f2b889537ab12",
        "5ded52c2167dd3664cda89ebcd4e9aaaa37dd03a"
      ],
      "author": {
        "name": "Rohit Vaswani",
        "email": "rvaswani@codeaurora.org",
        "time": "Wed Mar 28 16:03:47 2012 -0700"
      },
      "committer": {
        "name": "Rohit Vaswani",
        "email": "rvaswani@codeaurora.org",
        "time": "Wed Mar 28 16:03:47 2012 -0700"
      },
      "message": "Merge branch \u0027google-android\u0027 into msm-3.0\n\nMerge Google\u0027s Android tree into msm-3.0\nThis consists of the following conflicts and 42 commits:\n\nConflicts:\n\tdrivers/mmc/core/bus.c\n\tdrivers/rtc/class.c\n\tdrivers/usb/gadget/android.c\n\nMost of the conflicts stem from the changes made to the\nlocal msm-3.0 branch.\n\ncommit 1f8c5cecfe44994cd617ba2803f41fb56d53e91c\nAuthor: Heiko Stuebner \u003cheiko@sntech.de\u003e\nDate:   Wed Feb 1 10:33:01 2012 -0800\n\n    Input: evdev - fix variable initialisation\n\n    Commit 509f87c5f564 (evdev - do not block waiting for an event if\n    fd\n    is nonblock) created a code path were it was possible to use retval\n    uninitialized.\n\n    This could lead to the xorg evdev input driver getting corrupt data\n    and refusing to work with log messages like\n    \tAUO-Pixcir touchscreen: Read error: Success\n    \tsg060_keys: Read error: Success\n    \tAUO-Pixcir touchscreen: Read error: Success\n    \tsg060_keys: Read error: Success\n    (for drivers auo-pixcir-ts and gpio-keys).\n\n    Signed-off-by: Heiko Stuebner \u003cheiko@sntech.de\u003e\n\n drivers/input/evdev.c |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ncommit 4dc43d7079bdae572212368e1d29abea0177c932\nAuthor: Arve Hjønnevåg \u003carve@android.com\u003e\nDate:   Fri Oct 17 15:20:55 2008 -0700\n\n    Input: evdev - Add ioctl to block suspend while event queue is not empty.\n\n    Add an ioctl, EVIOCSSUSPENDBLOCK, to enable a wakelock that will block\n    suspend while the event queue is not empty. This allows userspace code to\n    process input events while the device appears to be asleep.\n\n    The current code holds the wakelock for up 5 seconds for every input\n    device and client. This can prevent suspend if sensor with a high data\n    rate is active, even when that sensor is not capable of waking the\n    device once it is suspended.\n\n    Change-Id: I624d66ef30a0b3abb543685c343382b8419b42b9\n    Signed-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\n\n drivers/input/evdev.c |   53 +++++++++++++++++++++++++++++++++++++++++++-----\n include/linux/input.h |    3 ++\n 2 files changed, 50 insertions(+), 6 deletions(-)\n\ncommit 7cc846069a8a9116d8c81526c459070eed0e3477\nAuthor: Arve Hjønnevåg \u003carve@android.com\u003e\nDate:   Mon Jan 23 17:15:45 2012 -0800\n\n    Input: evdev - Don\u0027t hold wakelock when no data is available to user-space\n\n    If there is no SYN_REPORT event in the buffer the buffer data is invisible\n    to user-space. The wakelock should not be held in this case.\n\n    Change-Id: Idae890ff0da8eb46a2cfce61a95b3a97252551ad\n    Signed-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\n\n drivers/input/evdev.c |    5 +++--\n 1 files changed, 3 insertions(+), 2 deletions(-)\n\ncommit 0e80804a2e8134e31d4d32679bdfff070fc64bca\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Tue Jan 31 11:06:23 2012 -0800\n\n    net: wireless: bcmdhd: Increase pm_notify callback priority\n\n    Make pm_notify callback to be called the first on suspend/resume path to\n    ensure it will always be called.\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/dhd_linux.c |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ncommit dfc896e1c833916ef5062294e2d675d66294ac68\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Mon Jan 30 15:43:31 2012 -0800\n\n    net: wireless: bcmdhd: Fix crash on dhdsdio_probe_attach() failure\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/dhd_linux.c |   17 ++++++++++++++---\n drivers/net/wireless/bcmdhd/dhd_sdio.c  |    8 +++++++-\n 2 files changed, 21 insertions(+), 4 deletions(-)\n\ncommit 256a6b23be368f708672eb5929e961afc872f610\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Mon Jan 30 13:03:19 2012 -0800\n\n    net: wireless: bcmdhd: Daemonize wl_event_handler\n\n    Daemonizing makes thread (besides other things) NON-FREEZABLE, and it will not\n    get fake signal on suspend to quicl down_interruptible()\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/dhd_linux.c        |   13 -------------\n drivers/net/wireless/bcmdhd/include/linuxver.h |   12 ++++++++++++\n drivers/net/wireless/bcmdhd/wl_cfg80211.c      |    3 +++\n 3 files changed, 15 insertions(+), 13 deletions(-)\n\ncommit ff93146589f6f28ba8a46f85e9b319bbd2cc8cfd\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Tue Jan 24 13:59:40 2012 -0800\n\n    net: wireless: bcmdhd: Update to Version 5.90.195.23\n\n    - WFD fixes\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/dhd_cfg80211.c    |  269 -------------------------\n drivers/net/wireless/bcmdhd/dhd_linux.c       |    2 +-\n drivers/net/wireless/bcmdhd/dhd_sdio.c        |    8 +-\n drivers/net/wireless/bcmdhd/include/epivers.h |    8 +-\n drivers/net/wireless/bcmdhd/siutils.c         |    5 +\n drivers/net/wireless/bcmdhd/wl_cfg80211.c     |  223 +++++++++++++++------\n drivers/net/wireless/bcmdhd/wl_cfgp2p.c       |  175 ++++++++++++++++-\n drivers/net/wireless/bcmdhd/wl_cfgp2p.h       |   37 ++--\n 8 files changed, 368 insertions(+), 359 deletions(-)\n\ncommit 96034c20069fe841f4be741755f94671a328702e\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Tue Jan 24 13:55:00 2012 -0800\n\n    net: wireless: bcmdhd: Update to Version 5.90.195.22\n\n    - Disable Ad-hoc support for cfg80211\n    - dhd_linux.c: Fix incorrect pid check\n    - Merge Android changes from Android tree\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/bcmsdh_linux.c       |   24 ++------------------\n drivers/net/wireless/bcmdhd/bcmsdh_sdmmc_linux.c |   25 +++++++++++++++------\n drivers/net/wireless/bcmdhd/dhd_linux.c          |   10 ++++----\n drivers/net/wireless/bcmdhd/dhd_sdio.c           |   11 +++++++--\n drivers/net/wireless/bcmdhd/hndpmu.c             |   16 ++++++++++++++\n drivers/net/wireless/bcmdhd/include/bcmdevs.h    |    2 +\n drivers/net/wireless/bcmdhd/include/epivers.h    |    8 +++---\n drivers/net/wireless/bcmdhd/siutils.c            |    3 ++\n drivers/net/wireless/bcmdhd/wl_cfg80211.c        |   11 ++++++++-\n 9 files changed, 68 insertions(+), 42 deletions(-)\n\ncommit 494661a1acbd4767e4d7daaff8d7ce55328913d9\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Tue Jan 24 13:47:47 2012 -0800\n\n    net: wireless: bcmdhd: Update to Version 5.90.195.19\n\n    - Add WFD changes\n    - Add extra locking for internal ioctl operations\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/Makefile               |    4 +-\n drivers/net/wireless/bcmdhd/bcmsdh_linux.c         |   25 +-\n drivers/net/wireless/bcmdhd/bcmsdh_sdmmc.c         |    4 +-\n drivers/net/wireless/bcmdhd/dhd.h                  |   10 +-\n drivers/net/wireless/bcmdhd/dhd_cdc.c              |    7 +-\n drivers/net/wireless/bcmdhd/dhd_cfg80211.c         |  862 ++++++++\n drivers/net/wireless/bcmdhd/dhd_cfg80211.h         |   42 +\n drivers/net/wireless/bcmdhd/dhd_common.c           |    7 +-\n drivers/net/wireless/bcmdhd/dhd_linux.c            |  103 +-\n drivers/net/wireless/bcmdhd/dhd_linux_mon.c        |  409 ----\n drivers/net/wireless/bcmdhd/dhd_sdio.c             |    4 +-\n drivers/net/wireless/bcmdhd/include/dhdioctl.h     |    3 +-\n drivers/net/wireless/bcmdhd/include/epivers.h      |    8 +-\n drivers/net/wireless/bcmdhd/include/proto/802.11.h |   12 +-\n drivers/net/wireless/bcmdhd/include/wlioctl.h      |   19 +-\n drivers/net/wireless/bcmdhd/wl_android.c           |   22 +-\n drivers/net/wireless/bcmdhd/wl_android.h           |    2 +-\n drivers/net/wireless/bcmdhd/wl_cfg80211.c          | 2142 ++++++--------------\n drivers/net/wireless/bcmdhd/wl_cfg80211.h          |  125 +-\n drivers/net/wireless/bcmdhd/wl_cfgp2p.c            |  245 ++-\n drivers/net/wireless/bcmdhd/wl_cfgp2p.h            |   27 +-\n drivers/net/wireless/bcmdhd/wl_linux_mon.c         |  409 ++++\n drivers/net/wireless/bcmdhd/wldev_common.c         |   69 +-\n drivers/net/wireless/bcmdhd/wldev_common.h         |   20 +-\n 24 files changed, 2485 insertions(+), 2095 deletions(-)\n\ncommit 1dddb0cc0de2840a2fe43a02fcb0196bb5cb86c8\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Tue Jan 24 13:37:34 2012 -0800\n\n    net: wireless: bcmdhd: Update to Version 5.90.195.15\n\n    - Add WFD concurrent mode support\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/bcmevent.c             |    8 +-\n drivers/net/wireless/bcmdhd/bcmsdh_sdmmc_linux.c   |   12 +-\n drivers/net/wireless/bcmdhd/bcmutils.c             |    4 +-\n drivers/net/wireless/bcmdhd/dhd.h                  |   25 +-\n drivers/net/wireless/bcmdhd/dhd_cdc.c              |    9 +-\n drivers/net/wireless/bcmdhd/dhd_common.c           |    4 +-\n drivers/net/wireless/bcmdhd/dhd_linux.c            |  148 +++--\n drivers/net/wireless/bcmdhd/dhd_linux_mon.c        |   28 +-\n drivers/net/wireless/bcmdhd/dhd_sdio.c             |   27 +-\n drivers/net/wireless/bcmdhd/dhd_wlfc.h             |   12 +-\n drivers/net/wireless/bcmdhd/hndpmu.c               |   44 +-\n drivers/net/wireless/bcmdhd/include/Makefile       |    2 +-\n drivers/net/wireless/bcmdhd/include/aidmp.h        |    2 +-\n drivers/net/wireless/bcmdhd/include/bcmcdc.h       |    2 +-\n drivers/net/wireless/bcmdhd/include/bcmdefs.h      |   37 +-\n drivers/net/wireless/bcmdhd/include/bcmdevs.h      |  573 +++++++++++++-\n drivers/net/wireless/bcmdhd/include/bcmendian.h    |    2 +-\n drivers/net/wireless/bcmdhd/include/bcmpcispi.h    |    2 +-\n drivers/net/wireless/bcmdhd/include/bcmperf.h      |    2 +-\n drivers/net/wireless/bcmdhd/include/bcmsdbus.h     |   10 +-\n drivers/net/wireless/bcmdhd/include/bcmsdh.h       |   10 +-\n drivers/net/wireless/bcmdhd/include/bcmsdh_sdmmc.h |    2 +-\n drivers/net/wireless/bcmdhd/include/bcmsdpcm.h     |    2 +-\n drivers/net/wireless/bcmdhd/include/bcmsdspi.h     |    2 +-\n drivers/net/wireless/bcmdhd/include/bcmsdstd.h     |   34 +-\n drivers/net/wireless/bcmdhd/include/bcmspi.h       |    2 +-\n drivers/net/wireless/bcmdhd/include/bcmutils.h     |   14 +-\n drivers/net/wireless/bcmdhd/include/bcmwifi.h      |    2 +-\n drivers/net/wireless/bcmdhd/include/dhdioctl.h     |    2 +-\n drivers/net/wireless/bcmdhd/include/epivers.h      |   14 +-\n drivers/net/wireless/bcmdhd/include/hndpmu.h       |    2 +-\n .../net/wireless/bcmdhd/include/hndrte_armtrap.h   |    2 +-\n drivers/net/wireless/bcmdhd/include/hndrte_cons.h  |    2 +-\n drivers/net/wireless/bcmdhd/include/hndsoc.h       |    2 +-\n drivers/net/wireless/bcmdhd/include/htsf.h         |    2 +-\n drivers/net/wireless/bcmdhd/include/linux_osl.h    |    2 +-\n drivers/net/wireless/bcmdhd/include/linuxver.h     |    6 +-\n drivers/net/wireless/bcmdhd/include/miniopt.h      |    2 +-\n drivers/net/wireless/bcmdhd/include/msgtrace.h     |    2 +-\n drivers/net/wireless/bcmdhd/include/osl.h          |    2 +-\n .../wireless/bcmdhd/include/packed_section_end.h   |    2 +-\n .../wireless/bcmdhd/include/packed_section_start.h |    2 +-\n drivers/net/wireless/bcmdhd/include/pcicfg.h       |   28 +-\n drivers/net/wireless/bcmdhd/include/proto/802.11.h |  317 +++++++-\n .../net/wireless/bcmdhd/include/proto/802.11_bta.h |    2 +-\n .../net/wireless/bcmdhd/include/proto/802.11e.h    |    2 +-\n drivers/net/wireless/bcmdhd/include/proto/802.1d.h |    2 +-\n drivers/net/wireless/bcmdhd/include/proto/bcmeth.h |    2 +-\n .../net/wireless/bcmdhd/include/proto/bcmevent.h   |    9 +-\n drivers/net/wireless/bcmdhd/include/proto/bcmip.h  |    2 +-\n .../net/wireless/bcmdhd/include/proto/bt_amp_hci.h |    2 +-\n drivers/net/wireless/bcmdhd/include/proto/eapol.h  |    2 +-\n .../net/wireless/bcmdhd/include/proto/ethernet.h   |    3 +-\n drivers/net/wireless/bcmdhd/include/proto/p2p.h    |    2 +-\n drivers/net/wireless/bcmdhd/include/proto/sdspi.h  |    2 +-\n drivers/net/wireless/bcmdhd/include/proto/vlan.h   |    2 +-\n drivers/net/wireless/bcmdhd/include/proto/wpa.h    |   12 +-\n drivers/net/wireless/bcmdhd/include/sbchipc.h      |  168 ++++-\n drivers/net/wireless/bcmdhd/include/sbconfig.h     |    2 +-\n drivers/net/wireless/bcmdhd/include/sbhnddma.h     |    6 +-\n drivers/net/wireless/bcmdhd/include/sbpcmcia.h     |    2 +-\n drivers/net/wireless/bcmdhd/include/sbsdio.h       |    2 +-\n drivers/net/wireless/bcmdhd/include/sbsdpcmdev.h   |    2 +-\n drivers/net/wireless/bcmdhd/include/sbsocram.h     |    2 +-\n drivers/net/wireless/bcmdhd/include/sdio.h         |    5 +-\n drivers/net/wireless/bcmdhd/include/sdioh.h        |   32 +-\n drivers/net/wireless/bcmdhd/include/sdiovar.h      |    2 +-\n drivers/net/wireless/bcmdhd/include/siutils.h      |   30 +-\n drivers/net/wireless/bcmdhd/include/trxhdr.h       |    3 +-\n drivers/net/wireless/bcmdhd/include/typedefs.h     |    5 +-\n drivers/net/wireless/bcmdhd/include/wlfc_proto.h   |    2 +-\n drivers/net/wireless/bcmdhd/include/wlioctl.h      |   87 ++-\n drivers/net/wireless/bcmdhd/linux_osl.c            |   23 +-\n drivers/net/wireless/bcmdhd/siutils.c              |  195 +++++-\n drivers/net/wireless/bcmdhd/wl_android.c           |    6 +-\n drivers/net/wireless/bcmdhd/wl_cfg80211.c          |  875 ++++++++++++--------\n drivers/net/wireless/bcmdhd/wl_cfg80211.h          |  282 +++++---\n drivers/net/wireless/bcmdhd/wl_cfgp2p.c            |  165 ++++-\n drivers/net/wireless/bcmdhd/wl_cfgp2p.h            |   12 +-\n drivers/net/wireless/bcmdhd/wl_iw.c                |  110 +++-\n drivers/net/wireless/bcmdhd/wl_iw.h                |   17 +-\n 81 files changed, 2737 insertions(+), 752 deletions(-)\n\ncommit 52bdb6f54335bce7861d756ce1eb03ea9b7adb8f\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Mon Jan 23 12:47:21 2012 -0800\n\n    net: wireless: bcmdhd: Add WIPHY_FLAG_SUPPORTS_FW_ROAM flag\n\n    Adding this flag will allow NL80211_ATTR_ROAM_SUPPORT, and will set\n      WPA_DRIVER_FLAGS_BSS_SELECTION flag in wpa_supplicant\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/wl_cfg80211.c |    4 +++-\n 1 files changed, 3 insertions(+), 1 deletions(-)\n\ncommit b1a94205e9ab943d4c18f8e0a081b32bc8bd1f50\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Fri Jan 20 14:15:05 2012 -0800\n\n    net: wireless: bcmdhd: Fake PNO event to wake up the wpa_supplicant\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/dhd_linux.c   |    4 +++-\n drivers/net/wireless/bcmdhd/wl_cfg80211.c |   20 ++++++++++++++++----\n 2 files changed, 19 insertions(+), 5 deletions(-)\n\ncommit 09701e3edf03f92f4215aad83b32cd8cec7fb689\nAuthor: Scott Anderson \u003csaa@google.com\u003e\nDate:   Wed Jan 18 15:56:51 2012 -0800\n\n    usb: gadget: android: Honor CONFIG_USB_GADGET_VBUS_DRAW\n\n    The maximum current draw was hard coded to 500 mA.  composite.c\n    has code that uses CONFIG_USB_GADGET_VBUS_DRAW to set the\n    bMaxPower and to set whether or not the device is self-powered if\n    they haven\u0027t been set.  This change removes the code in android.c\n    to allow composite.c to set them.\n\n    Change-Id: I9db37922e91ee86e9e5c0e14519e119e5c41ca48\n    Signed-off-by: Scott Anderson \u003csaa@google.com\u003e\n\n drivers/usb/gadget/android.c |    3 ---\n 1 files changed, 0 insertions(+), 3 deletions(-)\n\ncommit a6ccb73389f3df11e788bf84254a7b27c430f949\nAuthor: Benoit Goby \u003cbenoit@android.com\u003e\nDate:   Fri Jan 20 14:42:41 2012 -0800\n\n    usb: gadget: Fix usb string id allocation\n\n    Don\u0027t reset next_string_id every time the gadget is enabled, this makes\n    the next strings allocated overwrite strings allocated at probe time.\n    Instead, fix rndis not to allocate new string ids on every config bind.\n\n    Change-Id: Ied28ee416bb6f00c434c34176fe5b7f0dcb2b2d4\n    Signed-off-by: Benoit Goby \u003cbenoit@android.com\u003e\n\n drivers/usb/gadget/android.c |    1 -\n drivers/usb/gadget/f_rndis.c |   12 +++++-------\n drivers/usb/gadget/rndis.c   |   11 +++++++++++\n 3 files changed, 16 insertions(+), 8 deletions(-)\n\ncommit 87159de9c30dab02b84cbaffa7498140d4ebc1a1\nAuthor: Jouni Malinen \u003cjouni@qca.qualcomm.com\u003e\nDate:   Thu Aug 11 11:46:22 2011 +0300\n\n    nl80211/cfg80211: Make addition of new sinfo fields safer\n\n    Add a comment pointing out the use of enum station_info_flags for\n    all new struct station_info fields. In addition, memset the sinfo\n    buffer to zero before use on all paths in the current tree to avoid\n    leaving uninitialized pointers in the data.\n\n    Signed-off-by: Jouni Malinen \u003cjouni@qca.qualcomm.com\u003e\n    Signed-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n include/net/cfg80211.h  |    5 +++++\n net/mac80211/sta_info.c |    1 +\n net/wireless/nl80211.c  |    1 +\n 3 files changed, 7 insertions(+), 0 deletions(-)\n\ncommit d692df224b8605095cb7f770c1c99d3150834daf\nAuthor: Jouni Malinen \u003cjouni@qca.qualcomm.com\u003e\nDate:   Mon Aug 8 12:11:52 2011 +0300\n\n    cfg80211/nl80211: Send AssocReq IEs to user space in AP mode\n\n    When user space SME/MLME (e.g., hostapd) is not used in AP mode, the\n    IEs from the (Re)Association Request frame that was processed in\n    firmware need to be made available for user space (e.g., RSN IE for\n    hostapd). Allow this to be done with cfg80211_new_sta().\n\n    Signed-off-by: Jouni Malinen \u003cjouni@qca.qualcomm.com\u003e\n    Acked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\n    Signed-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n include/net/cfg80211.h |    8 ++++++++\n net/wireless/nl80211.c |    4 ++++\n 2 files changed, 12 insertions(+), 0 deletions(-)\n\ncommit d1e94136fc4fe8ea608f4e9d21befa00c86e1e29\nAuthor: Dima Zavin \u003cdima@android.com\u003e\nDate:   Mon Jan 23 10:39:02 2012 -0800\n\n    misc: remove android pmem driver, it\u0027s obsolete.\n\n    Change-Id: I48d9778007e1e9eed2bb34e33ceee818c23afaa5\n    Signed-off-by: Dima Zavin \u003cdima@android.com\u003e\n\n drivers/misc/Kconfig         |    4 -\n drivers/misc/Makefile        |    1 -\n drivers/misc/pmem.c          | 1345 ------------------------------------------\n include/linux/android_pmem.h |   93 ---\n 4 files changed, 0 insertions(+), 1443 deletions(-)\n\ncommit dac306d896642f3dfcd878ab6a0a5b8c123722f3\nAuthor: Dima Zavin \u003cdima@android.com\u003e\nDate:   Thu Jan 19 09:51:07 2012 -0800\n\n    Revert \"proc: enable writing to /proc/pid/mem\"\n\n    This reverts commit 198214a7ee50375fa71a65e518341980cfd4b2f0.\n\n fs/proc/base.c |    5 +++++\n 1 files changed, 5 insertions(+), 0 deletions(-)\n\ncommit a65e28a0149261776678977962cfa0f90973e1d4\nAuthor: Dima Zavin \u003cdima@android.com\u003e\nDate:   Thu Jan 12 15:55:25 2012 -0800\n\n    ram_console: set CON_ANYTIME console flag\n\n    We want to ensure that we get all the console messages, even ones\n    that occur while the printing CPU is not yet online.\n\n    Change-Id: I1d2694d05ac9415669a92f38efdd8e71c927705b\n    Signed-off-by: Dima Zavin \u003cdima@android.com\u003e\n\n drivers/staging/android/ram_console.c |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ncommit f16e6fb3e3bbbc279579b3c3def7951787c88a0a\nAuthor: Benoit Goby \u003cbenoit@android.com\u003e\nDate:   Thu Dec 15 18:40:37 2011 -0800\n\n    Revert \"usb: gadget: rndis: don\u0027t use dev_get_stats\"\n\n    This reverts commit ffdab0c0c40bab6de78b1952bb07aed221994b73.\n\n    Not needed anymore in 2.6.39 and 3.0, dev_get_stats has been fixed\n    and may be called from atomic context. See:\n    1ac9ad1 net: remove dev_txq_stats_fold()\n\n drivers/usb/gadget/rndis.c |   23 ++---------------------\n 1 files changed, 2 insertions(+), 21 deletions(-)\n\ncommit e1493f1544e804f228efd4a48a843bb1d81d2d2c\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Mon Dec 19 10:24:09 2011 -0800\n\n    net: wireless: bcmdhd: Enable wlan access on resume for all sdio functions\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/bcmsdh_sdmmc_linux.c |    4 +---\n 1 files changed, 1 insertions(+), 3 deletions(-)\n\ncommit bbd08c6e95880dfc3bf1fe9b07486beb33a9cdd1\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Fri Dec 16 12:54:51 2011 -0800\n\n    net: wireless: bcmdhd: Fix P2P interface removal\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/dhd_linux.c   |    3 ++\n drivers/net/wireless/bcmdhd/wl_cfg80211.c |   43 ++++++++++++++++++++++-------\n drivers/net/wireless/bcmdhd/wl_cfg80211.h |    9 ++++--\n 3 files changed, 42 insertions(+), 13 deletions(-)\n\ncommit 37ff4411a5f5ce21feb3825296308f2a767e3662\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Thu Dec 15 12:12:20 2011 -0800\n\n    net: wireless: bcm4329: Fix pno_enable if disassociated\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcm4329/dhd_common.c |   43 ++++++++++++++++++++++++-----\n 1 files changed, 36 insertions(+), 7 deletions(-)\n\ncommit 599c8566fa1f34f297df6c683c23a213ff748d02\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Tue Dec 13 17:39:48 2011 -0800\n\n    net: wireless: bcmdhd: Fix proper scan command even if request is NULL\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/wl_cfg80211.c |   16 ++++++++++------\n 1 files changed, 10 insertions(+), 6 deletions(-)\n\ncommit f227b88c89e84371e3897207ddab3877f6af6113\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Tue Dec 13 12:27:49 2011 -0800\n\n    net: wireless: bcmdhd: Decrease event wake_lock timeout to 1500 ms\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/dhd.h       |    4 ++--\n drivers/net/wireless/bcmdhd/dhd_linux.c |    8 ++++----\n drivers/net/wireless/bcmdhd/wl_iw.c     |    2 +-\n 3 files changed, 7 insertions(+), 7 deletions(-)\n\ncommit ed3f35608786481035165a3b0321ab0b04768b5d\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Mon Dec 12 15:40:33 2011 -0800\n\n    net: wireless: bcmdhd: Fix getting arp_hostip table\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/dhd_common.c |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ncommit c561cedf2b6c9d6e7c26ee69dd17c97c0a852a17\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Tue Dec 6 16:27:37 2011 -0800\n\n    net: wireless: bcmdhd: Allow to push more packets to FW for Tx\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/dhd_sdio.c |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ncommit 4f36cb88d6e7e5afcdef42f6d2d70cbffbd2c541\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Fri Dec 2 13:24:01 2011 -0800\n\n    net: wireless: bcmdhd: Fix scan crash in ibss mode\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/wl_cfg80211.c |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ncommit af16732d4c98078988755337fb5e197fc31ca77e\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Fri Dec 2 13:10:47 2011 -0800\n\n    net: wireless: bcmdhd: Add FW reloading in case of FW hang\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/dhd_linux.c |    5 ++++-\n 1 files changed, 4 insertions(+), 1 deletions(-)\n\ncommit 7caeacd6ed135e2ee4fbbc26aa0fc0aea4cb166d\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Wed Nov 30 12:49:02 2011 -0800\n\n    net: wireless: bcmdhd: Update to Version 5.90.125.94.1\n\n    - Return zeroed private command buffer\n    - Fix memory leak in wl_inform_single_bss()\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/dhd_common.c      |    5 +++--\n drivers/net/wireless/bcmdhd/dhd_linux_mon.c   |   10 ++++++----\n drivers/net/wireless/bcmdhd/include/epivers.h |    2 +-\n drivers/net/wireless/bcmdhd/wl_android.c      |    9 ++++++---\n drivers/net/wireless/bcmdhd/wl_cfg80211.c     |    9 ++++++---\n 5 files changed, 22 insertions(+), 13 deletions(-)\n\ncommit 8d71d882e7062dfbcdb2f790470f803cc536b8ae\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Fri Nov 11 16:04:12 2011 -0800\n\n    net: wireless: bcmdhd: Use CONFIG_DHD_USE_STATIC_BUF for preallocated memory\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/net/wireless/bcmdhd/Kconfig             |    7 +++\n drivers/net/wireless/bcmdhd/bcmsdh_sdmmc.c      |   16 ++++----\n drivers/net/wireless/bcmdhd/dhd.h               |    4 +-\n drivers/net/wireless/bcmdhd/dhd_cdc.c           |    4 +-\n drivers/net/wireless/bcmdhd/dhd_linux.c         |    4 +-\n drivers/net/wireless/bcmdhd/dhd_sdio.c          |    4 +-\n drivers/net/wireless/bcmdhd/include/linux_osl.h |    2 +-\n drivers/net/wireless/bcmdhd/linux_osl.c         |   52 +++++++++++++----------\n drivers/net/wireless/bcmdhd/wl_android.c        |    7 ++-\n 9 files changed, 57 insertions(+), 43 deletions(-)\n\ncommit 35047200c401cdd1bb43b5574270d1ac86a47937\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Mon Dec 19 12:32:21 2011 -0800\n\n    wireless: Protect regdomain change by mutex\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n net/wireless/reg.c |    5 ++++-\n 1 files changed, 4 insertions(+), 1 deletions(-)\n\ncommit ea693bf7f87603b072f4ceea6684221fa0b8e863\nAuthor: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\nDate:   Fri Dec 16 17:52:18 2011 -0800\n\n    mmc: Set suspend/resume bus operations if CONFIG_PM_RUNTIME is used\n\n    Signed-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n\n drivers/mmc/core/bus.c |   24 +++++++-----------------\n 1 files changed, 7 insertions(+), 17 deletions(-)\n\ncommit dc1b6340394ef744e210247ab786df66639f5a33\nAuthor: Benoit Goby \u003cbenoit@android.com\u003e\nDate:   Fri Dec 9 18:05:00 2011 -0800\n\n    usb: gadget: android: Don\u0027t allow changing the functions list if enabled\n\n    Change-Id: I3ad39b420ce79a8602a7eca1daac1f56b30bad5c\n    Signed-off-by: Benoit Goby \u003cbenoit@android.com\u003e\n\n drivers/usb/gadget/android.c |   28 ++++++++++++++++++++++++----\n 1 files changed, 24 insertions(+), 4 deletions(-)\n\ncommit e0de0a507d83e84c833d01de9e46a44b12419431\nAuthor: Benoit Goby \u003cbenoit@android.com\u003e\nDate:   Tue Nov 29 13:49:27 2011 -0800\n\n    usb: gadget: android: Cancel pending ctrlrequest before disabling\n\n    Make sure there is no pending ctrlrequest before removing the config.\n    Otherwise the ctrlrequest complete callback could access structures\n    after they have been freed. Unbind cancels pending transfers but not\n    ep0 requests.\n\n    Bug: 5513065 5440193\n\n    Change-Id: I063c22bf5d104a3d2df71cf622409459fac5f27a\n    Signed-off-by: Benoit Goby \u003cbenoit@android.com\u003e\n\n drivers/usb/gadget/android.c |    2 ++\n 1 files changed, 2 insertions(+), 0 deletions(-)\n\ncommit b86fd0b62252fbba6a5d6acda09fd325fb8e201b\nAuthor: Colin Cross \u003cccross@android.com\u003e\nDate:   Tue Nov 29 16:37:07 2011 -0800\n\n    ARM: idle: call idle notifiers before stopping nohz tick\n\n    If an idle notifier modifies a timer, calling the notifier after\n    the sched tick has been stopped may leave the sched tick set too\n    early.  Move teh idle notifier call before the call to\n    tick_nohz_stop_sched_tick.\n\n    Change-Id: I0db3284bec6d0193bc5e2a57650ab06bd8342319\n    Signed-off-by: Colin Cross \u003cccross@android.com\u003e\n\n arch/arm/kernel/process.c |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ncommit 6a4a38525d60db7e915d559273d8c89db5a98edf\nAuthor: Benoit Goby \u003cbenoit@android.com\u003e\nDate:   Mon Nov 28 18:01:03 2011 -0800\n\n    usb: gadget: android: Reset next_string_id before enable\n\n    Reset next_string_id to 0 before enabling the gadget driver. Otherwise,\n    after a large number of enable/disable cycles, bind will fail\n    because we cannot allocate new string ids. String ids cannot be larger\n    than 254 per USB spec.\n\n    Change-Id: I44f5fece45008b7a0a18c025d4eb5ce842585c28\n    Signed-off-by: Benoit Goby \u003cbenoit@android.com\u003e\n\n drivers/usb/gadget/android.c |    1 +\n 1 files changed, 1 insertions(+), 0 deletions(-)\n\ncommit dbb18fb2c1519b7810018580ee5123f9be73f213\nAuthor: hyungseoung.yoo \u003chyungseoung.yoo@samsung.com\u003e\nDate:   Fri Nov 18 13:57:01 2011 +0900\n\n    Bluetooth: Keep master role when SCO or eSCO is active\n\n    This improves compatbility with a lot of headset / chipset\n    combinations. Ideally this should not be needed.\n\n    Change-Id: I8b676701e12e416aa7d60801b9d353b15d102709\n    Signed-off-by: hyungseoung.yoo \u003chyungseoung.yoo@samsung.com\u003e\n    Signed-off-by: Jaikumar Ganesh \u003cjaikumarg@android.com\u003e\n\n net/bluetooth/hci_event.c |   12 +++++++++++-\n 1 files changed, 11 insertions(+), 1 deletions(-)\n\ncommit 9d187300dfeb825b3c851458427a7046d9302c06\nAuthor: Arve Hjønnevåg \u003carve@android.com\u003e\nDate:   Tue Nov 22 14:56:50 2011 -0800\n\n    rtc: Fix some bugs that allowed accumulating time drift in suspend/resume\n\n    The current code checks if abs(delta_delta.tv_sec) is greater or\n    equal to two before it discards the old delta value, but this can\n    trigger at close to -1 seconds since -1.000000001 seconds is stored\n    as tv_sec -2 and tv_nsec 999999999 in a normalized timespec.\n\n    rtc_resume had an early return check if the rtc value had not changed\n    since rtc_suspend. This effectivly stops time for the duration of the\n    short sleep. Check if sleep_time is positive after all the adjustments\n    have been applied instead since this allows the old_system adjustment\n    in rtc_suspend to have an effect even for short sleep cycles.\n\n    Change-Id: I00b45c0349ec91a4bab9b41a126b377515427898\n    Signed-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\n\n drivers/rtc/class.c |   10 +++++-----\n 1 files changed, 5 insertions(+), 5 deletions(-)\n\ncommit 452d440ab295475afb04dee90879f5fb70254659\nAuthor: Arve Hjønnevåg \u003carve@android.com\u003e\nDate:   Tue Nov 22 15:28:27 2011 -0800\n\n    Fix \"time: Catch invalid timespec sleep values in __timekeeping_inject_sleeptime\" to compile on 3.0\n\n    Change-Id: I1225f279cda04dedbfb7f853f6b58f1032bd6d2b\n\n kernel/time/timekeeping.c |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ncommit cf70c6a40073530c9e23fb373a541c09996429c7\nAuthor: John Stultz \u003cjohn.stultz@linaro.org\u003e\nDate:   Wed Jun 1 18:18:09 2011 -0700\n\n    time: Catch invalid timespec sleep values in __timekeeping_inject_sleeptime\n\n    Arve suggested making sure we catch possible negative sleep time\n    intervals that could be passed into timekeeping_inject_sleeptime.\n\n    CC: Arve Hjønnevåg \u003carve@android.com\u003e\n    CC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n    Signed-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n\n kernel/time/timekeeping.c |    6 ++++++\n 1 files changed, 6 insertions(+), 0 deletions(-)\n\ncommit 340ede367101d47c8fd69e83e5e6db9077f4caad\nAuthor: John Stultz \u003cjohn.stultz@linaro.org\u003e\nDate:   Fri May 27 11:33:18 2011 -0700\n\n    rtc: Avoid accumulating time drift in suspend/resume\n\n    Because the RTC interface is only a second granular interface,\n    each time we read from the RTC for suspend/resume, we introduce a\n    half second (on average) of error.\n\n    In order to avoid this error accumulating as the system is suspended\n    over and over, this patch measures the time delta between the RTC\n    and the system CLOCK_REALTIME.\n\n    If the delta is less then 2 seconds from the last suspend, we compensate\n    by using the previous time delta (keeping it close). If it is larger\n    then 2 seconds, we assume the clock was set or has been changed, so we\n    do no correction and update the delta.\n\n    Note: If NTP is running, ths could seem to \"fight\" with the NTP corrected\n    time, where as if the system time was off by 1 second, and NTP slewed the\n    value in, a suspend/resume cycle could undo this correction, by trying to\n    restore the previous offset from the RTC. However, without this patch,\n    since each read could cause almost a full second worth of error, its\n    possible to get almost 2 seconds of error just from the suspend/resume\n    cycle alone, so this about equal to any offset added by the compensation.\n\n    Further on systems that suspend/resume frequently, this should keep time\n    closer then NTP could compensate for if the errors were allowed to\n    accumulate.\n\n    Credits to Arve Hjønnevåg for suggesting this solution.\n\n    This patch also improves some of the variable names and adds more clear\n    comments.\n\n    CC: Arve Hjønnevåg \u003carve@android.com\u003e\n    CC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n    Signed-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n\n drivers/rtc/class.c |   65 +++++++++++++++++++++++++++++++++++++-------------\n 1 files changed, 48 insertions(+), 17 deletions(-)\n\nChange-Id: I16f522e7ee2b301cbdaea62d52d50d7249f565c2\nSigned-off-by: Rohit Vaswani \u003crvaswani@codeaurora.org\u003e\n"
    },
    {
      "commit": "7a415a8da853b0724413680a769d89affc8b5be5",
      "tree": "2c4ff5823a4af39705ee6552e3439400df92376c",
      "parents": [
        "1a11d5d7fb7988a92e798dfbed7cdd350c0701cc"
      ],
      "author": {
        "name": "Shirish Pargaonkar",
        "email": "shirishpargaonkar@gmail.com",
        "time": "Thu Feb 02 15:28:28 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Feb 13 11:06:09 2012 -0800"
      },
      "message": "cifs: Fix oops in session setup code for null user mounts\n\ncommit de47a4176c532ef5961b8a46a2d541a3517412d3 upstream.\n\nFor null user mounts, do not invoke string length function\nduring session setup.\n\nReported-and-Tested-by: Chris Clayton \u003cchris2553@googlemail.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "1a11d5d7fb7988a92e798dfbed7cdd350c0701cc",
      "tree": "252c858c9b52ba6a819d8d27ce36af0dbbc861b2",
      "parents": [
        "dade9ad146b19c22141032d84190d2220623d2ca"
      ],
      "author": {
        "name": "Li Wang",
        "email": "liwang@nudt.edu.cn",
        "time": "Thu Jan 19 09:44:36 2012 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Feb 13 11:06:09 2012 -0800"
      },
      "message": "eCryptfs: Infinite loop due to overflow in ecryptfs_write()\n\ncommit 684a3ff7e69acc7c678d1a1394fe9e757993fd34 upstream.\n\necryptfs_write() can enter an infinite loop when truncating a file to a\nsize larger than 4G. This only happens on architectures where size_t is\nrepresented by 32 bits.\n\nThis was caused by a size_t overflow due to it incorrectly being used to\nstore the result of a calculation which uses potentially large values of\ntype loff_t.\n\n[tyhicks@canonical.com: rewrite subject and commit message]\nSigned-off-by: Li Wang \u003cliwang@nudt.edu.cn\u003e\nSigned-off-by: Yunchuan Wen \u003cwenyunchuan@kylinos.com.cn\u003e\nReviewed-by: Cong Wang \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "1357ed0b4b9db30846377febb40a847d6103c991",
      "tree": "a66b70a6e261699d3fe08a6998a3a1514fd375c0",
      "parents": [
        "10f672f1a199240bc2a77d6f81e1d37f33ba743e"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Dec 23 11:53:07 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Feb 13 11:06:08 2012 -0800"
      },
      "message": "udf: Mark LVID buffer as uptodate before marking it dirty\n\ncommit 853a0c25baf96b028de1654bea1e0c8857eadf3d upstream.\n\nWhen we hit EIO while writing LVID, the buffer uptodate bit is cleared.\nThis then results in an anoying warning from mark_buffer_dirty() when we\nwrite the buffer again. So just set uptodate flag unconditionally.\n\nReviewed-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "0053779e04bbfabe31287245d89ad10bb66e758a",
      "tree": "ae6f94741a12acee80124e25beb0cd62d3990cfb",
      "parents": [
        "b49767a65a6454f7d546068a785e25dbb0eabbcd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Jan 31 17:15:11 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Feb 13 11:06:06 2012 -0800"
      },
      "message": "proc: make sure mem_open() doesn\u0027t pin the target\u0027s memory\n\ncommit 6d08f2c7139790c268820a2e590795cb8333181a upstream.\n\nOnce /proc/pid/mem is opened, the memory can\u0027t be released until\nmem_release() even if its owner exits.\n\nChange mem_open() to do atomic_inc(mm_count) + mmput(), this only\npins mm_struct. Change mem_rw() to do atomic_inc_not_zero(mm_count)\nbefore access_remote_vm(), this verifies that this mm is still alive.\n\nI am not sure what should mem_rw() return if atomic_inc_not_zero()\nfails. With this patch it returns zero to match the \"mm \u003d\u003d NULL\" case,\nmay be it should return -EINVAL like it did before e268337d.\n\nPerhaps it makes sense to add the additional fatal_signal_pending()\ncheck into the main loop, to ensure we do not hold this memory if\nthe target task was oom-killed.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "b49767a65a6454f7d546068a785e25dbb0eabbcd",
      "tree": "609b2aa8fbb525f644bf524837e3bb458c566ae1",
      "parents": [
        "401f63716ca0bca1728e55ccf2132fb3785cf5da"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Jan 31 17:14:54 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Feb 13 11:06:06 2012 -0800"
      },
      "message": "proc: unify mem_read() and mem_write()\n\ncommit 572d34b946bae070debd42db1143034d9687e13f upstream.\n\nNo functional changes, cleanup and preparation.\n\nmem_read() and mem_write() are very similar. Move this code into the\nnew common helper, mem_rw(), which takes the additional \"int write\"\nargument.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "401f63716ca0bca1728e55ccf2132fb3785cf5da",
      "tree": "96fc7f31c483fe96a2c6d283c6602dcd75212ecb",
      "parents": [
        "344d390bcb4c796b4b7797395cfc07e2c43d935d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Jan 31 17:14:38 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Feb 13 11:06:05 2012 -0800"
      },
      "message": "proc: mem_release() should check mm !\u003d NULL\n\ncommit 71879d3cb3dd8f2dfdefb252775c1b3ea04a3dd4 upstream.\n\nmem_release() can hit mm \u003d\u003d NULL, add the necessary check.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "810b80a70cd24a682239d82370725cc3b847bab8",
      "tree": "8da351be5f1552e595dcd0180dc11bc2ac4d985c",
      "parents": [
        "ffee9a18f29a0645c2d117083e025f557c738018"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Thu Jan 26 13:47:42 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 03 09:18:55 2012 -0800"
      },
      "message": "xfs: fix endian conversion issue in discard code\n\ncommit b1c770c273a4787069306fc82aab245e9ac72e9d upstream\n\nWhen finding the longest extent in an AG, we read the value directly\nout of the AGF buffer without endian conversion. This will give an\nincorrect length, resulting in FITRIM operations potentially not\ntrimming everything that it should.\n\nNote, for 3.0-stable this has been modified to apply to\nfs/xfs/linux-2.6/xfs_discard.c instead of fs/xfs/xfs_discard.c.  -bpm\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "2fbe11fed22ed2751aaf4b4926f27730aaac5470",
      "tree": "23a80ce32f738643168226950d5cb7a02212513a",
      "parents": [
        "90af660bec3b2d47e17cb3caae742810656e2d4f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jan 11 18:52:10 2012 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 03 09:18:52 2012 -0800"
      },
      "message": "xfs: Fix missing xfs_iunlock() on error recovery path in xfs_readlink()\n\ncommit 9b025eb3a89e041bab6698e3858706be2385d692 upstream.\n\nCommit b52a360b forgot to call xfs_iunlock() when it detected corrupted\nsymplink and bailed out. Fix it by jumping to \u0027out\u0027 instead of doing return.\n\nCC: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nReviewed-by: Alex Elder \u003celder@kernel.org\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "df29ca6c2b93813c987b35972b215d9b2a0a9159",
      "tree": "21ce785b8fae037cbb359eb85092059851fff018",
      "parents": [
        "714ca4ef28276f142b00ff2e1893f472cc30b07b"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Tue Jan 24 10:02:22 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 03 09:18:51 2012 -0800"
      },
      "message": "eCryptfs: Fix oops when printing debug info in extent crypto functions\n\ncommit 58ded24f0fcb85bddb665baba75892f6ad0f4b8a upstream.\n\nIf pages passed to the eCryptfs extent-based crypto functions are not\nmapped and the module parameter ecryptfs_verbosity\u003d1 was specified at\nloading time, a NULL pointer dereference will occur.\n\nNote that this wouldn\u0027t happen on a production system, as you wouldn\u0027t\npass ecryptfs_verbosity\u003d1 on a production system. It leaks private\ninformation to the system logs and is for debugging only.\n\nThe debugging info printed in these messages is no longer very useful\nand rather than doing a kmap() in these debugging paths, it will be\nbetter to simply remove the debugging paths completely.\n\nhttps://launchpad.net/bugs/913651\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "714ca4ef28276f142b00ff2e1893f472cc30b07b",
      "tree": "1a8a60d68f89f4e9df44cdb7f33c30c6a172f379",
      "parents": [
        "a8d66a0b58b353d47b05891fd20b3bdc4c8a8015"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Thu Jan 19 20:33:44 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 03 09:18:50 2012 -0800"
      },
      "message": "eCryptfs: Check inode changes in setattr\n\ncommit a261a03904849c3df50bd0300efb7fb3f865137d upstream.\n\nMost filesystems call inode_change_ok() very early in -\u003esetattr(), but\neCryptfs didn\u0027t call it at all. It allowed the lower filesystem to make\nthe call in its -\u003esetattr() function. Then, eCryptfs would copy the\nappropriate inode attributes from the lower inode to the eCryptfs inode.\n\nThis patch changes that and actually calls inode_change_ok() on the\neCryptfs inode, fairly early in ecryptfs_setattr(). Ideally, the call\nwould happen earlier in ecryptfs_setattr(), but there are some possible\ninode initialization steps that must happen first.\n\nSince the call was already being made on the lower inode, the change in\nfunctionality should be minimal, except for the case of a file extending\ntruncate call. In that case, inode_newsize_ok() was never being\ncalled on the eCryptfs inode. Rather than inode_newsize_ok() catching\nmaximum file size errors early on, eCryptfs would encrypt zeroed pages\nand write them to the lower filesystem until the lower filesystem\u0027s\nwrite path caught the error in generic_write_checks(). This patch\nintroduces a new function, called ecryptfs_inode_newsize_ok(), which\nchecks if the new lower file size is within the appropriate limits when\nthe truncate operation will be growing the lower file.\n\nIn summary this change prevents eCryptfs truncate operations (and the\nresulting page encryptions), which would exceed the lower filesystem\nlimits or FSIZE rlimits, from ever starting.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nReviewed-by: Li Wang \u003cliwang@nudt.edu.cn\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "a8d66a0b58b353d47b05891fd20b3bdc4c8a8015",
      "tree": "3edad990cea1e70a57775ca6f82557d7dcf7b6f9",
      "parents": [
        "9b9f40e785724a265fb6027216fb2bd1e97894f7"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Jan 18 18:30:04 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 03 09:18:50 2012 -0800"
      },
      "message": "eCryptfs: Make truncate path killable\n\ncommit 5e6f0d769017cc49207ef56996e42363ec26c1f0 upstream.\n\necryptfs_write() handles the truncation of eCryptfs inodes. It grabs a\npage, zeroes out the appropriate portions, and then encrypts the page\nbefore writing it to the lower filesystem. It was unkillable and due to\nthe lack of sparse file support could result in tying up a large portion\nof system resources, while encrypting pages of zeros, with no way for\nthe truncate operation to be stopped from userspace.\n\nThis patch adds the ability for ecryptfs_write() to detect a pending\nfatal signal and return as gracefully as possible. The intent is to\nleave the lower file in a useable state, while still allowing a user to\nbreak out of the encryption loop. If a pending fatal signal is detected,\nthe eCryptfs inode size is updated to reflect the modified inode size\nand then -EINTR is returned.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "9b9f40e785724a265fb6027216fb2bd1e97894f7",
      "tree": "2744ada6cba7b709425bd2a6fba2b702fa43504a",
      "parents": [
        "cdce30003c234575bbcfddb0980adc04b82408c7"
      ],
      "author": {
        "name": "Tim Gardner",
        "email": "tim.gardner@canonical.com",
        "time": "Thu Jan 12 16:31:55 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 03 09:18:50 2012 -0800"
      },
      "message": "ecryptfs: Improve metadata read failure logging\n\ncommit 30373dc0c87ffef68d5628e77d56ffb1fa22e1ee upstream.\n\nPrint inode on metadata read failure. The only real\nway of dealing with metadata read failures is to delete\nthe underlying file system file. Having the inode\nallows one to \u0027find . -inum INODE`.\n\n[tyhicks@canonical.com: Removed some minor not-for-stable parts]\nSigned-off-by: Tim Gardner \u003ctim.gardner@canonical.com\u003e\nReviewed-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "cdce30003c234575bbcfddb0980adc04b82408c7",
      "tree": "2ee44e04d22b978baba5bac720ba48f0162ff70a",
      "parents": [
        "a3c9ccb3e13812e13be045a97ab309a4e23d9ac4"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Thu Jan 12 11:30:44 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 03 09:18:50 2012 -0800"
      },
      "message": "eCryptfs: Sanitize write counts of /dev/ecryptfs\n\ncommit db10e556518eb9d21ee92ff944530d84349684f4 upstream.\n\nA malicious count value specified when writing to /dev/ecryptfs may\nresult in a a very large kernel memory allocation.\n\nThis patch peeks at the specified packet payload size, adds that to the\nsize of the packet headers and compares the result with the write count\nvalue. The resulting maximum memory allocation size is approximately 532\nbytes.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "eb93161d9746b2aa0ac534d1da88a33480d21905",
      "tree": "37a1a71a8d6e0c4be60de6c43ea83eebca569b13",
      "parents": [
        "4ff0cf3ef5a213705aa17e7bb95429dd8dffc2ed"
      ],
      "author": {
        "name": "Larry Bassel",
        "email": "lbassel@codeaurora.org",
        "time": "Thu Feb 02 10:24:58 2012 -0800"
      },
      "committer": {
        "name": "Larry Bassel",
        "email": "lbassel@codeaurora.org",
        "time": "Thu Feb 02 10:24:58 2012 -0800"
      },
      "message": "yaffs: add interface to cleancache\n\nCleancache requires a small amount of code to be added\nto a filesystem\u0027s implementation so that clean page\ncache pages from a filesystem of that type may be\nrecognized and stored in/retrieved from cleancache.\n\nChange-Id: I94c3fc8817ab66e2c54f7b2c6c474dd2321d9806\nSigned-off-by: Larry Bassel \u003clbassel@codeaurora.org\u003e\n"
    },
    {
      "commit": "20ef6312522d42407e8030bb17f25c4fde724a37",
      "tree": "9c77a97eec1bd5080e39f2d9acd82a75d3211abf",
      "parents": [
        "e4ae34bbc7386489a0c8253f246e7a5d316f249a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Jan 11 15:13:27 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 25 17:25:06 2012 -0800"
      },
      "message": "UBIFS: make debugging messages light again\n\ncommit 1f5d78dc4823a85f112aaa2d0f17624f8c2a6c52 upstream.\n\nWe switch to dynamic debugging in commit\n56e46742e846e4de167dde0e1e1071ace1c882a5 but did not take into account that\nnow we do not control anymore whether a specific message is enabled or not.\nSo now we lock the \"dbg_lock\" and release it in every debugging macro, which\nmake them not so light-weight.\n\nThis commit removes the \"dbg_lock\" protection from the debugging macros to\nfix the issue.\n\nThe downside is that now our DBGKEY() stuff is broken, but this is not\ncritical at all and will be fixed later.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "c2c9f543718e15227a4aa0135e793480b94c4d97",
      "tree": "54abbd14151f4fd7900237125f92f21571a4a4c5",
      "parents": [
        "b8f256956a063ebc60a674ec5795c7ca5aaa79c6"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Fri Jan 20 14:34:09 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 25 17:25:05 2012 -0800"
      },
      "message": "proc: clear_refs: do not clear reserved pages\n\ncommit 85e72aa5384b1a614563ad63257ded0e91d1a620 upstream.\n\n/proc/pid/clear_refs is used to clear the Referenced and YOUNG bits for\npages and corresponding page table entries of the task with PID pid, which\nincludes any special mappings inserted into the page tables in order to\nprovide things like vDSOs and user helper functions.\n\nOn ARM this causes a problem because the vectors page is mapped as a\nglobal mapping and since ec706dab (\"ARM: add a vma entry for the user\naccessible vector page\"), a VMA is also inserted into each task for this\npage to aid unwinding through signals and syscall restarts.  Since the\nvectors page is required for handling faults, clearing the YOUNG bit (and\nsubsequently writing a faulting pte) means that we lose the vectors page\n*globally* and cannot fault it back in.  This results in a system deadlock\non the next exception.\n\nTo see this problem in action, just run:\n\n\t$ echo 1 \u003e /proc/self/clear_refs\n\non an ARM platform (as any user) and watch your system hang.  I think this\nhas been the case since 2.6.37\n\nThis patch avoids clearing the aforementioned bits for reserved pages,\ntherefore leaving the vectors page intact on ARM.  Since reserved pages\nare not candidates for swap, this change should not have any impact on the\nusefulness of clear_refs.\n\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nReported-by: Moussa Ba \u003cmoussaba@micron.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nAcked-by: Nicolas Pitre \u003cnico@linaro.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5e383255dab2f12e7e111e23c057a30955de8cf3",
      "tree": "48cc4a4df86c0572435f50c120c5cbb1eebf7b43",
      "parents": [
        "8edf7c13515fa2dee528ab348919058b14454457"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Jan 06 09:31:20 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 25 17:25:03 2012 -0800"
      },
      "message": "pnfs-obj: Must return layout on IO error\n\ncommit fe0fe83585f88346557868a803a479dfaaa0688a upstream.\n\nAs mandated by the standard. In case of an IO error, a pNFS\nobjects layout driver must return it\u0027s layout. This is because\nall device errors are reported to the server as part of the\nlayout return buffer.\n\nThis is implemented the same way PNFS_LAYOUTRET_ON_SETATTR\nis done, through a bit flag on the pnfs_layoutdriver_type-\u003eflags\nmember. The flag is set by the layout driver that wants a\nlayout_return preformed at pnfs_ld_{write,read}_done in case\nof an error.\n(Though I have not defined a wrapper like pnfs_ld_layoutret_on_setattr\n because this code is never called outside of pnfs.c and pnfs IO\n paths)\n\nWithout this patch 3.[0-2] Kernels leak memory and have an annoying\nWARN_ON after every IO error utilizing the pnfs-obj driver.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8edf7c13515fa2dee528ab348919058b14454457",
      "tree": "1563ae001b581b44e6f2dc6c2d2dfc3e2587e6cd",
      "parents": [
        "ac631973a9ad6bba3d666f687288ebeb819c0df0"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Jan 06 09:28:12 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 25 17:25:02 2012 -0800"
      },
      "message": "pnfs-obj: pNFS errors are communicated on iodata-\u003epnfs_error\n\ncommit 5c0b4129c07b902b27d3f3ebc087757f534a3abd upstream.\n\nSome time along the way pNFS IO errors were switched to\ncommunicate with a special iodata-\u003epnfs_error member instead\nof the regular RPC members. But objlayout was not switched\nover.\n\nFix that!\nWithout this fix any IO error is hanged, because IO is not\nswitched to MDS and pages are never cleared or read.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "c8fec258e5d1c35712795641350cc78da4334629",
      "tree": "154afe98ce6f5c11cccb6de96dfe0a7cb620ab94",
      "parents": [
        "12c3b3ac1e8004616b30aec6acee1bb91badeb99"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 15:21:19 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 25 17:24:55 2012 -0800"
      },
      "message": "proc: clean up and fix /proc/\u003cpid\u003e/mem handling\n\ncommit e268337dfe26dfc7efd422a804dbb27977a3cccc upstream.\n\nJüri Aedla reported that the /proc/\u003cpid\u003e/mem handling really isn\u0027t very\nrobust, and it also doesn\u0027t match the permission checking of any of the\nother related files.\n\nThis changes it to do the permission checks at open time, and instead of\ntracking the process, it tracks the VM at the time of the open.  That\nsimplifies the code a lot, but does mean that if you hold the file\ndescriptor open over an execve(), you\u0027ll continue to read from the _old_\nVM.\n\nThat is different from our previous behavior, but much simpler.  If\nsomebody actually finds a load where this matters, we\u0027ll need to revert\nthis commit.\n\nI suspect that nobody will ever notice - because the process mapping\naddresses will also have changed as part of the execve.  So you cannot\nactually usefully access the fd across a VM change simply because all\nthe offsets for IO would have changed too.\n\nReported-by: Jüri Aedla \u003casd@ut.ee\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3ec3f83aee534f732fd7012ff6c04776952e47fd",
      "tree": "5de4f91d61a4d454eefa352ff18716a5dd0a055c",
      "parents": [
        "277a05f83af8c82291cf5f2ad0c2dd1aa6f29de7"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Dec 15 14:56:10 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 25 17:24:53 2012 -0800"
      },
      "message": "fix cputime overflow in uptime_proc_show\n\ncommit c3e0ef9a298e028a82ada28101ccd5cf64d209ee upstream.\n\nFor 32-bit architectures using standard jiffies the idletime calculation\nin uptime_proc_show will quickly overflow. It takes (2^32 / HZ) seconds\nof idle-time, or e.g. 12.45 days with no load on a quad-core with HZ\u003d1000.\nSwitch to 64-bit calculations.\n\nCc: Michael Abbott \u003cmichael.abbott@diamond.ac.uk\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8039a47e67451b8efd6100c4a7f27829fc2d8edd",
      "tree": "d852e7ea0f4b7387e6f1033bff7bca6ff2cfec74",
      "parents": [
        "087bc746ef05511c3e416846a8eae4588756462c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Jan 10 18:22:25 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 25 17:24:51 2012 -0800"
      },
      "message": "fix shrink_dcache_parent() livelock\n\ncommit eaf5f9073533cde21c7121c136f1c3f072d9cf59 upstream.\n\nTwo (or more) concurrent calls of shrink_dcache_parent() on the same dentry may\ncause shrink_dcache_parent() to loop forever.\n\nHere\u0027s what appears to happen:\n\n1 - CPU0: select_parent(P) finds C and puts it on dispose list, returns 1\n\n2 - CPU1: select_parent(P) locks P-\u003ed_lock\n\n3 - CPU0: shrink_dentry_list() locks C-\u003ed_lock\n   dentry_kill(C) tries to lock P-\u003ed_lock but fails, unlocks C-\u003ed_lock\n\n4 - CPU1: select_parent(P) locks C-\u003ed_lock,\n         moves C from dispose list being processed on CPU0 to the new\ndispose list, returns 1\n\n5 - CPU0: shrink_dentry_list() finds dispose list empty, returns\n\n6 - Goto 2 with CPU0 and CPU1 switched\n\nBasically select_parent() steals the dentry from shrink_dentry_list() and thinks\nit found a new one, causing shrink_dentry_list() to think it\u0027s making progress\nand loop over and over.\n\nOne way to trigger this is to make udev calls stat() on the sysfs file while it\nis going away.\n\nHaving a file in /lib/udev/rules.d/ with only this one rule seems to the trick:\n\nATTR{vendor}\u003d\u003d\"0x8086\", ATTR{device}\u003d\u003d\"0x10ca\", ENV{PCI_SLOT_NAME}\u003d\"%k\", ENV{MATCHADDR}\u003d\"$attr{address}\", RUN+\u003d\"/bin/true\"\n\nThen execute the following loop:\n\nwhile true; do\n        echo -bond0 \u003e /sys/class/net/bonding_masters\n        echo +bond0 \u003e /sys/class/net/bonding_masters\n        echo -bond1 \u003e /sys/class/net/bonding_masters\n        echo +bond1 \u003e /sys/class/net/bonding_masters\ndone\n\nOne fix would be to check all callers and prevent concurrent calls to\nshrink_dcache_parent().  But I think a better solution is to stop the\nstealing behavior.\n\nThis patch adds a new dentry flag that is set when the dentry is added to the\ndispose list.  The flag is cleared in dentry_lru_del() in case the dentry gets a\nnew reference just before being pruned.\n\nIf the dentry has this flag, select_parent() will skip it and let\nshrink_dentry_list() retry pruning it.  With select_parent() skipping those\ndentries there will not be the appearance of progress (new dentries found) when\nthere is none, hence shrink_dcache_parent() will not loop forever.\n\nSet the flag is also set in prune_dcache_sb() for consistency as suggested by\nLinus.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a9680ece8e3874382fb2db1b8e247452c306b735",
      "tree": "b3aaa55fa5ff97ed253d71d184c25a40e81c9192",
      "parents": [
        "46a5392ffcb492b8042776ce44b5cc1c07be1b23"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Jan 12 17:59:46 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 25 17:24:49 2012 -0800"
      },
      "message": "fsnotify: don\u0027t BUG in fsnotify_destroy_mark()\n\ncommit fed474857efbed79cd390d0aee224231ca718f63 upstream.\n\nRemoving the parent of a watched file results in \"kernel BUG at\nfs/notify/mark.c:139\".\n\nTo reproduce\n\n  add \"-w /tmp/audit/dir/watched_file\" to audit.rules\n  rm -rf /tmp/audit/dir\n\nThis is caused by fsnotify_destroy_mark() being called without an\nextra reference taken by the caller.\n\nReported by Francesco Cosoleto here:\n\n  https://bugzilla.novell.com/show_bug.cgi?id\u003d689860\n\nFix by removing the BUG_ON and adding a comment about not accessing mark after\nthe iput.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "46a5392ffcb492b8042776ce44b5cc1c07be1b23",
      "tree": "76f3fb60336e93928f4707e19c56906aac8e10c1",
      "parents": [
        "a141a5eb3ab45131cb168e7a561d662722b43ec3"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Fri Nov 18 12:14:49 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 25 17:24:49 2012 -0800"
      },
      "message": "nfsd: Fix oops when parsing a 0 length export\n\ncommit b2ea70afade7080360ac55c4e64ff7a5fafdb67b upstream.\n\nexpkey_parse() oopses when handling a 0 length export. This is easily\ntriggerable from usermode by writing 0 bytes into\n\u0027/proc/[proc id]/net/rpc/nfsd.fh/channel\u0027.\n\nBelow is the log:\n\n[ 1402.286893] BUG: unable to handle kernel paging request at ffff880077c49fff\n[ 1402.287632] IP: [\u003cffffffff812b4b99\u003e] expkey_parse+0x28/0x2e1\n[ 1402.287632] PGD 2206063 PUD 1fdfd067 PMD 1ffbc067 PTE 8000000077c49160\n[ 1402.287632] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC\n[ 1402.287632] CPU 1\n[ 1402.287632] Pid: 20198, comm: trinity Not tainted 3.2.0-rc2-sasha-00058-gc65cd37 #6\n[ 1402.287632] RIP: 0010:[\u003cffffffff812b4b99\u003e]  [\u003cffffffff812b4b99\u003e] expkey_parse+0x28/0x2e1\n[ 1402.287632] RSP: 0018:ffff880077f0fd68  EFLAGS: 00010292\n[ 1402.287632] RAX: ffff880077c49fff RBX: 00000000ffffffea RCX: 0000000001043400\n[ 1402.287632] RDX: 0000000000000000 RSI: ffff880077c4a000 RDI: ffffffff82283de0\n[ 1402.287632] RBP: ffff880077f0fe18 R08: 0000000000000001 R09: ffff880000000000\n[ 1402.287632] R10: 0000000000000000 R11: 0000000000000001 R12: ffff880077c4a000\n[ 1402.287632] R13: ffffffff82283de0 R14: 0000000001043400 R15: ffffffff82283de0\n[ 1402.287632] FS:  00007f25fec3f700(0000) GS:ffff88007d400000(0000) knlGS:0000000000000000\n[ 1402.287632] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n[ 1402.287632] CR2: ffff880077c49fff CR3: 0000000077e1d000 CR4: 00000000000406e0\n[ 1402.287632] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[ 1402.287632] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[ 1402.287632] Process trinity (pid: 20198, threadinfo ffff880077f0e000, task ffff880077db17b0)\n[ 1402.287632] Stack:\n[ 1402.287632]  ffff880077db17b0 ffff880077c4a000 ffff880077f0fdb8 ffffffff810b411e\n[ 1402.287632]  ffff880000000000 ffff880077db17b0 ffff880077c4a000 ffffffff82283de0\n[ 1402.287632]  0000000001043400 ffffffff82283de0 ffff880077f0fde8 ffffffff81111f63\n[ 1402.287632] Call Trace:\n[ 1402.287632]  [\u003cffffffff810b411e\u003e] ? lock_release+0x1af/0x1bc\n[ 1402.287632]  [\u003cffffffff81111f63\u003e] ? might_fault+0x97/0x9e\n[ 1402.287632]  [\u003cffffffff81111f1a\u003e] ? might_fault+0x4e/0x9e\n[ 1402.287632]  [\u003cffffffff81a8bcf2\u003e] cache_do_downcall+0x3e/0x4f\n[ 1402.287632]  [\u003cffffffff81a8c950\u003e] cache_write.clone.16+0xbb/0x130\n[ 1402.287632]  [\u003cffffffff81a8c9df\u003e] ? cache_write_pipefs+0x1a/0x1a\n[ 1402.287632]  [\u003cffffffff81a8c9f8\u003e] cache_write_procfs+0x19/0x1b\n[ 1402.287632]  [\u003cffffffff8118dc54\u003e] proc_reg_write+0x8e/0xad\n[ 1402.287632]  [\u003cffffffff8113fe81\u003e] vfs_write+0xaa/0xfd\n[ 1402.287632]  [\u003cffffffff8114142d\u003e] ? fget_light+0x35/0x9e\n[ 1402.287632]  [\u003cffffffff8113ff8b\u003e] sys_write+0x48/0x6f\n[ 1402.287632]  [\u003cffffffff81bbdb92\u003e] system_call_fastpath+0x16/0x1b\n[ 1402.287632] Code: c0 c9 c3 55 48 63 d2 48 89 e5 48 8d 44 32 ff 41 57 41 56 41 55 41 54 53 bb ea ff ff ff 48 81 ec 88 00 00 00 48 89 b5 58 ff ff ff\n[ 1402.287632]  38 0a 0f 85 89 02 00 00 c6 00 00 48 8b 3d 44 4a e5 01 48 85\n[ 1402.287632] RIP  [\u003cffffffff812b4b99\u003e] expkey_parse+0x28/0x2e1\n[ 1402.287632]  RSP \u003cffff880077f0fd68\u003e\n[ 1402.287632] CR2: ffff880077c49fff\n[ 1402.287632] ---[ end trace 368ef53ff773a5e3 ]---\n\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: linux-nfs@vger.kernel.org\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8aee2e296d19910d8ad4c676970f0055abc5b5e5",
      "tree": "510dba144c10df9277aa32df171a08f08f0a657a",
      "parents": [
        "d8ece1b43acdec47c0823aa306910239754ef9e9"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Tue Jan 10 19:32:30 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 25 17:24:45 2012 -0800"
      },
      "message": "UBIFS: fix debugging messages\n\ncommit d34315da9146253351146140ea4b277193ee5e5f upstream.\n\nPatch 56e46742e846e4de167dde0e1e1071ace1c882a5 broke UBIFS debugging messages:\nbefore that commit when UBIFS debugging was enabled, users saw few useful\ndebugging messages after mount. However, that patch turned \u0027dbg_msg()\u0027 into\n\u0027pr_debug()\u0027, so to enable the debugging messages users have to enable them\nfirst via /sys/kernel/debug/dynamic_debug/control, which is very impractical.\n\nThis commit makes \u0027dbg_msg()\u0027 to use \u0027printk()\u0027 instead of \u0027pr_debug()\u0027, just\nas it was before the breakage.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dbbef3cbdef5e2363caeb343efa68650f20d7bfc",
      "tree": "1bfe1b45cc725adec9ba7c10565ff43dc1880032",
      "parents": [
        "58a902db8896b6bb4c779a223f6e8e7b289cdcc9"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Dec 20 06:57:45 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 25 17:24:36 2012 -0800"
      },
      "message": "nfs: fix regression in handling of context\u003d option in NFSv4\n\ncommit 8a0d551a59ac92d8ff048d6cb29d3a02073e81e8 upstream.\n\nSetting the security context of a NFSv4 mount via the context\u003d mount\noption is currently broken. The NFSv4 codepath allocates a parsed\noptions struct, and then parses the mount options to fill it. It\neventually calls nfs4_remote_mount which calls security_init_mnt_opts.\nThat clobbers the lsm_opts struct that was populated earlier. This bug\nalso looks like it causes a small memory leak on each v4 mount where\ncontext\u003d is used.\n\nFix this by moving the initialization of the lsm_opts into\nnfs_alloc_parsed_mount_data. Also, add a destructor for\nnfs_parsed_mount_data to make it easier to free all of the allocations\nhanging off of it, and to ensure that the security_free_mnt_opts is\ncalled whenever security_init_mnt_opts is.\n\nI believe this regression was introduced quite some time ago, probably\nby commit c02d7adf.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "58a902db8896b6bb4c779a223f6e8e7b289cdcc9",
      "tree": "14e057509b4274d0d1975cf9400c509877a29125",
      "parents": [
        "2dda99b3d5f3f6be05f0c9cc7cf0b05740e6e9f5"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Nov 09 13:58:20 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 25 17:24:36 2012 -0800"
      },
      "message": "NFSv4.1: fix backchannel slotid off-by-one bug\n\ncommit 61f2e5106582d02f30b6807e3f9c07463c572ccb upstream.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0146b288f47cc3ef3f0791b3023643ccdeeeb339",
      "tree": "5e1890f8ededa9b2e1e52c83302b9679d47ae3b2",
      "parents": [
        "922d41ed4740408d2719a8c99d9f80138e562c03"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Tue Jan 10 11:51:10 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 25 17:24:33 2012 -0800"
      },
      "message": "ext4: fix undefined behavior in ext4_fill_flex_info()\n\ncommit d50f2ab6f050311dbf7b8f5501b25f0bf64a439b upstream.\n\nCommit 503358ae01b70ce6909d19dd01287093f6b6271c (\"ext4: avoid divide by\nzero when trying to mount a corrupted file system\") fixes CVE-2009-4307\nby performing a sanity check on s_log_groups_per_flex, since it can be\nset to a bogus value by an attacker.\n\n\tsbi-\u003es_log_groups_per_flex \u003d sbi-\u003es_es-\u003es_log_groups_per_flex;\n\tgroups_per_flex \u003d 1 \u003c\u003c sbi-\u003es_log_groups_per_flex;\n\n\tif (groups_per_flex \u003c 2) { ... }\n\nThis patch fixes two potential issues in the previous commit.\n\n1) The sanity check might only work on architectures like PowerPC.\nOn x86, 5 bits are used for the shifting amount.  That means, given a\nlarge s_log_groups_per_flex value like 36, groups_per_flex \u003d 1 \u003c\u003c 36\nis essentially 1 \u003c\u003c 4 \u003d 16, rather than 0.  This will bypass the check,\nleaving s_log_groups_per_flex and groups_per_flex inconsistent.\n\n2) The sanity check relies on undefined behavior, i.e., oversized shift.\nA standard-confirming C compiler could rewrite the check in unexpected\nways.  Consider the following equivalent form, assuming groups_per_flex\nis unsigned for simplicity.\n\n\tgroups_per_flex \u003d 1 \u003c\u003c sbi-\u003es_log_groups_per_flex;\n\tif (groups_per_flex \u003d\u003d 0 || groups_per_flex \u003d\u003d 1) {\n\nWe compile the code snippet using Clang 3.0 and GCC 4.6.  Clang will\ncompletely optimize away the check groups_per_flex \u003d\u003d 0, leaving the\npatched code as vulnerable as the original.  GCC keeps the check, but\nthere is no guarantee that future versions will do the same.\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dac306d896642f3dfcd878ab6a0a5b8c123722f3",
      "tree": "d2d0cb3b7752fd9b0ca811d1430b85c1396515e4",
      "parents": [
        "a65e28a0149261776678977962cfa0f90973e1d4"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu Jan 19 09:51:07 2012 -0800"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu Jan 19 10:52:03 2012 -0800"
      },
      "message": "Revert \"proc: enable writing to /proc/pid/mem\"\n\nThis reverts commit 198214a7ee50375fa71a65e518341980cfd4b2f0.\n"
    },
    {
      "commit": "6e474bc4d5c0d94c070a18901e00ff33de0c1be1",
      "tree": "88bd52502d438e5046c10d7f4c99a1454d06324a",
      "parents": [
        "68f760945cb704f4a9d0ae7c4abc9e41ca30aa91"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Mon Dec 12 21:55:52 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 12 11:35:55 2012 -0800"
      },
      "message": "xfs: fix acl count validation in xfs_acl_from_disk()\n\ncommit 093019cf1b18dd31b2c3b77acce4e000e2cbc9ce upstream.\n\nCommit fa8b18ed didn\u0027t prevent the integer overflow and possible\nmemory corruption.  \"count\" can go negative and bypass the check.\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "608620c3e7c26618bbef00ce070e7d0bbfb9cc37",
      "tree": "db558a6aefb1967b3e4f7fa9d9d2a456d91f00c2",
      "parents": [
        "2481cbcad1ba76a928c74c2e8cab67d8c77823ab"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sat Dec 10 02:30:48 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 12 11:35:09 2012 -0800"
      },
      "message": "udf: Fix deadlock when converting file from in-ICB one to normal one\n\ncommit d2eb8c359309ec45d6bf5b147303ab8e13be86ea upstream.\n\nDuring BKL removal in 2.6.38, conversion of files from in-ICB format to normal\nformat got broken. We call -\u003ewritepage with i_data_sem held but udf_get_block()\nalso acquires i_data_sem thus creating A-A deadlock.\n\nWe fix the problem by dropping i_data_sem before calling -\u003ewritepage() which is\nsafe since i_mutex still protects us against any changes in the file. Also fix\npagelock - i_data_sem lock inversion in udf_expand_file_adinicb() by dropping\ni_data_sem before calling find_or_create_page().\n\nReported-by: Matthias Matiak \u003cnetzpython@mail-on.us\u003e\nTested-by: Matthias Matiak \u003cnetzpython@mail-on.us\u003e\nReviewed-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "42e857c955b65b25062e5af605c4164e5e32b144",
      "tree": "98a0c0e4688546641203589717a5748cb695e101",
      "parents": [
        "d8bbed420a3f1a3c7290a7bb9f3b424fd24c0b04"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 22 16:49:05 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 12 11:35:06 2012 -0800"
      },
      "message": "ext3: Don\u0027t warn from writepage when readonly inode is spotted after error\n\ncommit 33c104d415e92a51aaf638dc3d93920cfa601e5c upstream.\n\nWARN_ON_ONCE(IS_RDONLY(inode)) tends to trip when filesystem hits error and is\nremounted read-only. This unnecessarily scares users (well, they should be\nscared because of filesystem error, but the stack trace distracts them from the\nright source of their fear ;-). We could as well just remove the WARN_ON but\nit\u0027s not hard to fix it to not trip on filesystem with errors and not use more\ncycles in the common case so that\u0027s what we do.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d8bbed420a3f1a3c7290a7bb9f3b424fd24c0b04",
      "tree": "77f2278b7899f48d357438b7583e053bdc570b74",
      "parents": [
        "dcc4f0ce22c88840b2c490e962dfbd84cb003941"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Wed Dec 21 21:18:43 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 12 11:35:05 2012 -0800"
      },
      "message": "reiserfs: Force inode evictions before umount to avoid crash\n\ncommit a9e36da655e54545c3289b2a0700b5c443de0edd upstream.\n\nThis patch fixes a crash in reiserfs_delete_xattrs during umount.\n\nWhen shrink_dcache_for_umount clears the dcache from\ngeneric_shutdown_super, delayed evictions are forced to disk. If an\nevicted inode has extended attributes associated with it, it will\nneed to walk the xattr tree to locate and remove them.\n\nBut since shrink_dcache_for_umount will BUG if it encounters active\ndentries, the xattr tree must be released before it\u0027s called or it will\ncrash during every umount.\n\nThis patch forces the evictions to occur before generic_shutdown_super\nby calling shrink_dcache_sb first. The additional evictions caused\nby the removal of each associated xattr file and dir will be automatically\nhandled as they\u0027re added to the LRU list.\n\nCC: reiserfs-devel@vger.kernel.org\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dcc4f0ce22c88840b2c490e962dfbd84cb003941",
      "tree": "93b762499df8e284936d93b6628933aa6418d70d",
      "parents": [
        "2431496fbdd142ccc83138d94f3f510a36ce9270"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 21 17:35:34 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 12 11:35:05 2012 -0800"
      },
      "message": "reiserfs: Fix quota mount option parsing\n\ncommit a06d789b424190e9f59da391681f908486db2554 upstream.\n\nWhen jqfmt mount option is not specified on remount, we mistakenly clear\ns_jquota_fmt value stored in superblock. Fix the problem.\n\nCC: reiserfs-devel@vger.kernel.org\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6826d3e80d143ca7411fd2dca05bc57c7ed3e620",
      "tree": "b0cddba0874ca2f9e49739c70a11de2d06435242",
      "parents": [
        "b32a7304bea14c51fe279281db1ff02eefad2e3a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Jan 04 09:48:36 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 06 14:14:12 2012 -0800"
      },
      "message": "xfs: log all dirty inodes in xfs_fs_sync_fs\n\nCommit be4f1ac828776bbc7868a68b465cd8eedb733cfd upstream.\n\nSince Linux 2.6.36 the writeback code has introduces various measures for\nlive lock prevention during sync().  Unfortunately some of these are\nactively harmful for the XFS model, where the inode gets marked dirty for\nmetadata from the data I/O handler.\n\nThe older_than_this checks that are now more strictly enforced since\n\n    writeback: avoid livelocking WB_SYNC_ALL writeback\n\nby only calling into __writeback_inodes_sb and thus only sampling the\ncurrent cut off time once.  But on a slow enough devices the previous\nasynchronous sync pass might not have fully completed yet, and thus XFS\nmight mark metadata dirty only after that sampling of the cut off time for\nthe blocking pass already happened.  I have not myself reproduced this\nmyself on a real system, but by introducing artificial delay into the\nXFS I/O completion workqueues it can be reproduced easily.\n\nFix this by iterating over all XFS inodes in -\u003esync_fs and log all that\nare dirty.  This might log inode that only got redirtied after the\nprevious pass, but given how cheap delayed logging of inodes is it\nisn\u0027t a major concern for performance.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nTested-by: Mark Tinguely \u003ctinguely@sgi.com\u003e\nReviewed-by: Mark Tinguely \u003ctinguely@sgi.com\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b32a7304bea14c51fe279281db1ff02eefad2e3a",
      "tree": "2e615cb52dd906367eafd873f82c6e1b0df3d85e",
      "parents": [
        "3b26fd897af35e9d48cfbadef1e7f24287d6f1ba"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Jan 04 09:48:35 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 06 14:14:12 2012 -0800"
      },
      "message": "xfs: log the inode in -\u003ewrite_inode calls for kupdate\n\nCommit 0b8fd3033c308e4088760aa1d38ce77197b4e074 upstream.\n\nIf the writeback code writes back an inode because it has expired we currently\nuse the non-blockin -\u003ewrite_inode path.  This means any inode that is pinned\nis skipped.  With delayed logging and a workload that has very little log\ntraffic otherwise it is very likely that an inode that gets constantly\nwritten to is always pinned, and thus we keep refusing to write it.  The VM\nwriteback code at that point redirties it and doesn\u0027t try to write it again\nfor another 30 seconds.  This means under certain scenarious time based\nmetadata writeback never happens.\n\nFix this by calling into xfs_log_inode for kupdate in addition to data\nintegrity syncs, and thus transfer the inode to the log ASAP.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nTested-by: Mark Tinguely \u003ctinguely@sgi.com\u003e\nReviewed-by: Mark Tinguely \u003ctinguely@sgi.com\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2e23cd501a9c6a0bfbe2b44781b4a35b0f0d4f29",
      "tree": "81f0a1bc0f2dff81c9a74477b58c2312f16023dd",
      "parents": [
        "52367e4731f577370011910c06cb428df55d054b"
      ],
      "author": {
        "name": "Thomas Meyer",
        "email": "thomas@m3y3r.de",
        "time": "Mon Dec 19 17:11:55 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 06 14:13:52 2012 -0800"
      },
      "message": "nilfs2: unbreak compat ioctl\n\ncommit 695c60f21c69e525a89279a5f35bae4ff237afbc upstream.\n\ncommit 828b1c50ae (\"nilfs2: add compat ioctl\") incidentally broke all\nother NILFS compat ioctls.  Make them work again.\n\nSigned-off-by: Thomas Meyer \u003cthomas@m3y3r.de\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nTested-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "746b9ba6177ef65cd2e5b674b9b8b61b09c74421",
      "tree": "88dc6bdd865064676b37d93167b23bfc61869e3f",
      "parents": [
        "3c681ec96dcc0acd6d5386773b44e6c129919394"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 01 16:37:42 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 06 14:13:52 2012 -0800"
      },
      "message": "NFSv4.1: Ensure that we handle _all_ SEQUENCE status bits.\n\ncommit 111d489f0fb431f4ae85d96851fbf8d3248c09d8 upstream.\n\nCurrently, the code assumes that the SEQUENCE status bits are mutually\nexclusive. They are not...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "60923f67e3a0ed74d3f0c6c25a0a3e5e41795644",
      "tree": "25b05ddae5b49888f6ca3cfc9c7b129b8021cff7",
      "parents": [
        "5da4b53abb4424f4b502a37425ffe4e46a7df5b5"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Dec 13 10:36:59 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 21 12:57:44 2011 -0800"
      },
      "message": "fuse: fix fuse_retrieve\n\ncommit 48706d0a91583d08c56e7ef2a7602d99c8d4133f upstream.\n\nFix two bugs in fuse_retrieve():\n\n - retrieving more than one page would yield repeated instances of the\n   first page\n\n - if more than FUSE_MAX_PAGES_PER_REQ pages were requested than the\n   request page array would overflow\n\nfuse_retrieve() was added in 2.6.36 and these bugs had been there since the\nbeginning.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5da4b53abb4424f4b502a37425ffe4e46a7df5b5",
      "tree": "ecf73db8f5d03b80b8c01fe02df468f990543372",
      "parents": [
        "8fe5e8ff93473129957c6d4a7df80046186b9c7b"
      ],
      "author": {
        "name": "Yongqiang Yang",
        "email": "xiaoqiangnk@gmail.com",
        "time": "Tue Dec 13 22:29:12 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 21 12:57:44 2011 -0800"
      },
      "message": "ext4: handle EOF correctly in ext4_bio_write_page()\n\ncommit 5a0dc7365c240795bf190766eba7a27600be3b3e upstream.\n\nWe need to zero out part of a page which beyond EOF before setting uptodate,\notherwise, mapread or write will see non-zero data beyond EOF.\n\nSigned-off-by: Yongqiang Yang \u003cxiaoqiangnk@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8fe5e8ff93473129957c6d4a7df80046186b9c7b",
      "tree": "9561105270aeec6e9c28fc3cbb430040a5be6ca7",
      "parents": [
        "dda54df863232231ce851045834f475f02a7e565"
      ],
      "author": {
        "name": "Yongqiang Yang",
        "email": "xiaoqiangnk@gmail.com",
        "time": "Tue Dec 13 21:51:55 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 21 12:57:44 2011 -0800"
      },
      "message": "ext4: avoid potential hang in mpage_submit_io() when blocksize \u003c pagesize\n\ncommit 13a79a4741d37fda2fbafb953f0f301dc007928f upstream.\n\nIf there is an unwritten but clean buffer in a page and there is a\ndirty buffer after the buffer, then mpage_submit_io does not write the\ndirty buffer out.  As a result, da_writepages loops forever.\n\nThis patch fixes the problem by checking dirty flag.\n\nSigned-off-by: Yongqiang Yang \u003cxiaoqiangnk@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dda54df863232231ce851045834f475f02a7e565",
      "tree": "09a39b4ccffdc1b61ca135d92da76b69b4b5dcb2",
      "parents": [
        "ef91e16945125c199f1e126091bc25a5835dd2bf"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Tue Dec 13 21:41:15 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 21 12:57:44 2011 -0800"
      },
      "message": "ext4: avoid hangs in ext4_da_should_update_i_disksize()\n\ncommit ea51d132dbf9b00063169c1159bee253d9649224 upstream.\n\nIf the pte mapping in generic_perform_write() is unmapped between\niov_iter_fault_in_readable() and iov_iter_copy_from_user_atomic(), the\n\"copied\" parameter to -\u003eend_write can be zero. ext4 couldn\u0027t cope with\nit with delayed allocations enabled. This skips the i_disksize\nenlargement logic if copied is zero and no new data was appeneded to\nthe inode.\n\n gdb\u003e bt\n #0  0xffffffff811afe80 in ext4_da_should_update_i_disksize (file\u003d0xffff88003f606a80, mapping\u003d0xffff88001d3824e0, pos\u003d0x1\\\n 08000, len\u003d0x1000, copied\u003d0x0, page\u003d0xffffea0000d792e8, fsdata\u003d0x0) at fs/ext4/inode.c:2467\n #1  ext4_da_write_end (file\u003d0xffff88003f606a80, mapping\u003d0xffff88001d3824e0, pos\u003d0x108000, len\u003d0x1000, copied\u003d0x0, page\u003d0\\\n xffffea0000d792e8, fsdata\u003d0x0) at fs/ext4/inode.c:2512\n #2  0xffffffff810d97f1 in generic_perform_write (iocb\u003d\u003cvalue optimized out\u003e, iov\u003d\u003cvalue optimized out\u003e, nr_segs\u003d\u003cvalue o\\\n ptimized out\u003e, pos\u003d0x108000, ppos\u003d0xffff88001e26be40, count\u003d\u003cvalue optimized out\u003e, written\u003d0x0) at mm/filemap.c:2440\n #3  generic_file_buffered_write (iocb\u003d\u003cvalue optimized out\u003e, iov\u003d\u003cvalue optimized out\u003e, nr_segs\u003d\u003cvalue optimized out\u003e, p\\\n os\u003d0x108000, ppos\u003d0xffff88001e26be40, count\u003d\u003cvalue optimized out\u003e, written\u003d0x0) at mm/filemap.c:2482\n #4  0xffffffff810db5d1 in __generic_file_aio_write (iocb\u003d0xffff88001e26bde8, iov\u003d0xffff88001e26bec8, nr_segs\u003d0x1, ppos\u003d0\\\n xffff88001e26be40) at mm/filemap.c:2600\n #5  0xffffffff810db853 in generic_file_aio_write (iocb\u003d0xffff88001e26bde8, iov\u003d0xffff88001e26bec8, nr_segs\u003d\u003cvalue optimi\\\n zed out\u003e, pos\u003d\u003cvalue optimized out\u003e) at mm/filemap.c:2632\n #6  0xffffffff811a71aa in ext4_file_write (iocb\u003d0xffff88001e26bde8, iov\u003d0xffff88001e26bec8, nr_segs\u003d0x1, pos\u003d0x108000) a\\\n t fs/ext4/file.c:136\n #7  0xffffffff811375aa in do_sync_write (filp\u003d0xffff88003f606a80, buf\u003d\u003cvalue optimized out\u003e, len\u003d\u003cvalue optimized out\u003e, \\\n ppos\u003d0xffff88001e26bf48) at fs/read_write.c:406\n #8  0xffffffff81137e56 in vfs_write (file\u003d0xffff88003f606a80, buf\u003d0x1ec2960 \u003cAddress 0x1ec2960 out of bounds\u003e, count\u003d0x4\\\n 000, pos\u003d0xffff88001e26bf48) at fs/read_write.c:435\n #9  0xffffffff8113816c in sys_write (fd\u003d\u003cvalue optimized out\u003e, buf\u003d0x1ec2960 \u003cAddress 0x1ec2960 out of bounds\u003e, count\u003d0x\\\n 4000) at fs/read_write.c:487\n #10 \u003csignal handler called\u003e\n #11 0x00007f120077a390 in __brk_reservation_fn_dmi_alloc__ ()\n #12 0x0000000000000000 in ?? ()\n gdb\u003e print offset\n $22 \u003d 0xffffffffffffffff\n gdb\u003e print idx\n $23 \u003d 0xffffffff\n gdb\u003e print inode-\u003ei_blkbits\n $24 \u003d 0xc\n gdb\u003e up\n #1  ext4_da_write_end (file\u003d0xffff88003f606a80, mapping\u003d0xffff88001d3824e0, pos\u003d0x108000, len\u003d0x1000, copied\u003d0x0, page\u003d0\\\n xffffea0000d792e8, fsdata\u003d0x0) at fs/ext4/inode.c:2512\n 2512                    if (ext4_da_should_update_i_disksize(page, end)) {\n gdb\u003e print start\n $25 \u003d 0x0\n gdb\u003e print end\n $26 \u003d 0xffffffffffffffff\n gdb\u003e print pos\n $27 \u003d 0x108000\n gdb\u003e print new_i_size\n $28 \u003d 0x108000\n gdb\u003e print ((struct ext4_inode_info *)((char *)inode-((int)(\u0026((struct ext4_inode_info *)0)-\u003evfs_inode))))-\u003ei_disksize\n $29 \u003d 0xd9000\n gdb\u003e down\n 2467            for (i \u003d 0; i \u003c idx; i++)\n gdb\u003e print i\n $30 \u003d 0xd44acbee\n\nThis is 100% reproducible with some autonuma development code tuned in\na very aggressive manner (not normal way even for knumad) which does\n\"exotic\" changes to the ptes. It wouldn\u0027t normally trigger but I don\u0027t\nsee why it can\u0027t happen normally if the page is added to swap cache in\nbetween the two faults leading to \"copied\" being zero (which then\nhangs in ext4). So it should be fixed. Especially possible with lumpy\nreclaim (albeit disabled if compaction is enabled) as that would\nignore the young bits in the ptes.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ef91e16945125c199f1e126091bc25a5835dd2bf",
      "tree": "a02c29dc6454c0b76a75d9a9a26a21f0ade401a5",
      "parents": [
        "37e8c2c97ab911f99cb75c0b5596150a34e06023"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Dec 12 22:06:18 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 21 12:57:43 2011 -0800"
      },
      "message": "ext4: display the correct mount option in /proc/mounts for [no]init_itable\n\ncommit fc6cb1cda5db7b2d24bf32890826214b857c728e upstream.\n\n/proc/mounts was showing the mount option [no]init_inode_table when\nthe correct mount option that will be accepted by parse_options() is\n[no]init_itable.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "bf3673c5e33ba214af62e1cd9d4a333eb61e650f",
      "tree": "bb39ad4b3eb7200e581e2c4e75005ffc4513084d",
      "parents": [
        "898726cbefbc1726a759874345b44f046e198d03"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Dec 12 17:22:46 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 21 12:57:42 2011 -0800"
      },
      "message": "xfs: avoid synchronous transactions when deleting attr blocks\n\ncommit 859f57ca00805e6c482eef1a7ab073097d02c8ca upstream.\n\n[slightly different from the upstream version because of a previous cleanup]\n\nCurrently xfs_attr_inactive causes a synchronous transactions if we are\nremoving a file that has any extents allocated to the attribute fork, and\nthus makes XFS extremely slow at removing files with out of line extended\nattributes. The code looks a like a relict from the days before the busy\nextent list, but with the busy extent list we avoid reusing data and attr\nextents that have been freed but not commited yet, so this code is just\nas superflous as the synchronous transactions for data blocks.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReported-by: Bernd Schubert \u003cbernd.schubert@itwm.fraunhofer.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "898726cbefbc1726a759874345b44f046e198d03",
      "tree": "4afc0091a53884f3ae5b6798c143797addb6ddaa",
      "parents": [
        "ccd5790e5f7fdc113f50a3d10c97446243d7e2fb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Dec 12 17:22:29 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 21 12:57:41 2011 -0800"
      },
      "message": "xfs: fix nfs export of 64-bit inodes numbers on 32-bit kernels\n\ncommit c29f7d457ac63311feb11928a866efd2fe153d74 upstream.\n\nThe i_ino field in the VFS inode is of type unsigned long and thus can\u0027t\nhold the full 64-bit inode number on 32-bit kernels.  We have the full\ninode number in the XFS inode, so use that one for nfs exports.  Note\nthat I\u0027ve also switched the 32-bit file handles types to it, just to make\nthe code more consistent and copy \u0026 paste errors less likely to happen.\n\nReported-by: Guoquan Yang \u003cygq51@hotmail.com\u003e\nReported-by: Hank Peng \u003cpengxihan@gmail.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "70f2545d9e75f9d8ed4bfe0a6efa232abd88806e",
      "tree": "ef557dde5accae0f7ab116d2398b3abce8b2f6a7",
      "parents": [
        "b2c51348a4e6b08bb493b2b33d06df89d1a9a0bc"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "plougher@redhat.com",
        "time": "Wed Nov 02 13:38:01 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 21 12:57:41 2011 -0800"
      },
      "message": "hfs: fix hfs_find_init() sb-\u003eext_tree NULL ptr oops\n\ncommit 434a964daa14b9db083ce20404a4a2add54d037a upstream.\n\nClement Lecigne reports a filesystem which causes a kernel oops in\nhfs_find_init() trying to dereference sb-\u003eext_tree which is NULL.\n\nThis proves to be because the filesystem has a corrupted MDB extent\nrecord, where the extents file does not fit into the first three extents\nin the file record (the first blocks).\n\nIn hfs_get_block() when looking up the blocks for the extent file\n(HFS_EXT_CNID), it fails the first blocks special case, and falls\nthrough to the extent code (which ultimately calls hfs_find_init())\nwhich is in the process of being initialised.\n\nHfs avoids this scenario by always having the extents b-tree fitting\ninto the first blocks (the extents B-tree can\u0027t have overflow extents).\n\nThe fix is to check at mount time that the B-tree fits into first\nblocks, i.e.  fail if HFS_I(inode)-\u003ealloc_blocks \u003e\u003d\nHFS_I(inode)-\u003efirst_blocks\n\nNote, the existing commit 47f365eb57573 (\"hfs: fix oops on mount with\ncorrupted btree extent records\") becomes subsumed into this as a special\ncase, but only for the extents B-tree (HFS_EXT_CNID), it is perfectly\nacceptable for the catalog B-Tree file to grow beyond three extents,\nwith the remaining extent descriptors in the extents overfow.\n\nThis fixes CVE-2011-2203\n\nReported-by: Clement LECIGNE \u003cclement.lecigne@netasq.com\u003e\nSigned-off-by: Phillip Lougher \u003cplougher@redhat.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Moritz Mühlenhoff \u003cjmm@inutil.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b98eb43012d8679aa6c9e5527a7cc5706ee192f6",
      "tree": "8bda82a1966d0765095a78f0d87c948469f281b6",
      "parents": [
        "f4347eb6d2aae437d9552a26704bcb07f4626d6c"
      ],
      "author": {
        "name": "Eryu Guan",
        "email": "guaneryu@gmail.com",
        "time": "Tue Nov 01 19:04:59 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 21 12:57:40 2011 -0800"
      },
      "message": "jbd/jbd2: validate sb-\u003es_first in journal_get_superblock()\n\ncommit 8762202dd0d6e46854f786bdb6fb3780a1625efe upstream.\n\nI hit a J_ASSERT(blocknr !\u003d 0) failure in cleanup_journal_tail() when\nmounting a fsfuzzed ext3 image. It turns out that the corrupted ext3\nimage has s_first \u003d 0 in journal superblock, and the 0 is passed to\njournal-\u003ej_head in journal_reset(), then to blocknr in\ncleanup_journal_tail(), in the end the J_ASSERT failed.\n\nSo validate s_first after reading journal superblock from disk in\njournal_get_superblock() to ensure s_first is valid.\n\nThe following script could reproduce it:\n\nfstype\u003dext3\nblocksize\u003d1024\nimg\u003d$fstype.img\noffset\u003d0\nfound\u003d0\nmagic\u003d\"c0 3b 39 98\"\n\ndd if\u003d/dev/zero of\u003d$img bs\u003d1M count\u003d8\nmkfs -t $fstype -b $blocksize -F $img\nfilesize\u003d`stat -c %s $img`\nwhile [ $offset -lt $filesize ]\ndo\n        if od -j $offset -N 4 -t x1 $img | grep -i \"$magic\";then\n                echo \"Found journal: $offset\"\n                found\u003d1\n                break\n        fi\n        offset\u003d`echo \"$offset+$blocksize\" | bc`\ndone\n\nif [ $found -ne 1 ];then\n        echo \"Magic \\\"$magic\\\" not found\"\n        exit 1\nfi\n\ndd if\u003d/dev/zero of\u003d$img seek\u003d$(($offset+23)) conv\u003dnotrunc bs\u003d1 count\u003d1\n\nmkdir -p ./mnt\nmount -o loop $img ./mnt\n\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Eryu Guan \u003cguaneryu@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Moritz Mühlenhoff \u003cjmm@inutil.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "58a48c4b50249df1bebcedca479f6faa7091bd0e",
      "tree": "672a16e3580207b7ada626032f218d1ce247cabc",
      "parents": [
        "3a15d7377faf8b10d04febc6c265ecf5f52c2558"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 05 08:43:34 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 21 12:57:36 2011 -0800"
      },
      "message": "fix apparmor dereferencing potentially freed dentry, sanitize __d_path() API\n\ncommit 02125a826459a6ad142f8d91c5b6357562f96615 upstream.\n\n__d_path() API is asking for trouble and in case of apparmor d_namespace_path()\ngetting just that.  The root cause is that when __d_path() misses the root\nit had been told to look for, it stores the location of the most remote ancestor\nin *root.  Without grabbing references.  Sure, at the moment of call it had\nbeen pinned down by what we have in *path.  And if we raced with umount -l, we\ncould have very well stopped at vfsmount/dentry that got freed as soon as\nprepend_path() dropped vfsmount_lock.\n\nIt is safe to compare these pointers with pre-existing (and known to be still\nalive) vfsmount and dentry, as long as all we are asking is \"is it the same\naddress?\".  Dereferencing is not safe and apparmor ended up stepping into\nthat.  d_namespace_path() really wants to examine the place where we stopped,\neven if it\u0027s not connected to our namespace.  As the result, it looked\nat -\u003ed_sb-\u003es_magic of a dentry that might\u0027ve been already freed by that point.\nAll other callers had been careful enough to avoid that, but it\u0027s really\na bad interface - it invites that kind of trouble.\n\nThe fix is fairly straightforward, even though it\u0027s bigger than I\u0027d like:\n\t* prepend_path() root argument becomes const.\n\t* __d_path() is never called with NULL/NULL root.  It was a kludge\nto start with.  Instead, we have an explicit function - d_absolute_root().\nSame as __d_path(), except that it doesn\u0027t get root passed and stops where\nit stops.  apparmor and tomoyo are using it.\n\t* __d_path() returns NULL on path outside of root.  The main\ncaller is show_mountinfo() and that\u0027s precisely what we pass root for - to\nskip those outside chroot jail.  Those who don\u0027t want that can (and do)\nuse d_path().\n\t* __d_path() root argument becomes const.  Everyone agrees, I hope.\n\t* apparmor does *NOT* try to use __d_path() or any of its variants\nwhen it sees that path-\u003emnt is an internal vfsmount.  In that case it\u0027s\ndefinitely not mounted anywhere and dentry_path() is exactly what we want\nthere.  Handling of sysctl()-triggered weirdness is moved to that place.\n\t* if apparmor is asked to do pathname relative to chroot jail\nand __d_path() tells it we it\u0027s not in that jail, the sucker just calls\nd_absolute_path() instead.  That\u0027s the other remaining caller of __d_path(),\nBTW.\n        * seq_path_root() does _NOT_ return -ENAMETOOLONG (it\u0027s stupid anyway -\nthe normal seq_file logics will take care of growing the buffer and redoing\nthe call of -\u003eshow() just fine).  However, if it gets path not reachable\nfrom root, it returns SEQ_SKIP.  The only caller adjusted (i.e. stopped\nignoring the return value as it used to do).\n\nReviewed-by: John Johansen \u003cjohn.johansen@canonical.com\u003e\nACKed-by: John Johansen \u003cjohn.johansen@canonical.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0c5a975756c0c111294d728c683d083a9649b541",
      "tree": "a6db93b1788fd5e2f2acbb5bf47122c9d41a33c8",
      "parents": [
        "4957ef02313c54e372b54fbc9ec6478f791a87cb"
      ],
      "author": {
        "name": "Claudio Scordino",
        "email": "claudio@evidence.eu.com",
        "time": "Thu Dec 08 14:33:56 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 21 12:57:35 2011 -0800"
      },
      "message": "fs/proc/meminfo.c: fix compilation error\n\ncommit b53fc7c2974a50913f49e1d800fe904a28c338e3 upstream.\n\nFix the error message \"directives may not be used inside a macro argument\"\nwhich appears when the kernel is compiled for the cris architecture.\n\nSigned-off-by: Claudio Scordino \u003cclaudio@evidence.eu.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "88b3f3dc89834601b75be84bfae4c882afcbe65b",
      "tree": "63463b8d407c0731063671f2fb04ed05d44d7746",
      "parents": [
        "6bc6375e10b58ecc34bfa1fa8fc1112a5750e3be"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jul 26 11:36:34 2011 +0200"
      },
      "committer": {
        "name": "Pankaj Kumar",
        "email": "pakuma@codeaurora.org",
        "time": "Thu Dec 15 15:57:08 2011 +0530"
      },
      "message": "vfs: dont chain pipe/anon/socket on superblock s_inodes list\n\nWorkloads using pipes and sockets hit inode_sb_list_lock contention.\n\nsuperblock s_inodes list is needed for quota, dirty, pagecache and\nfsnotify management. pipe/anon/socket fs are clearly not candidates for\nthese.\n\nChange-Id: I8ed74115fb164a96e5a726d2cb7f476f140c384d\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Pankaj Kumar \u003cpakuma@codeaurora.org\u003e\n"
    },
    {
      "commit": "6bc6375e10b58ecc34bfa1fa8fc1112a5750e3be",
      "tree": "5bd4718d1b48ef3f3edf168c369dbff4b8d931b4",
      "parents": [
        "a1d36c34cf184779330924c85dec99639733c1eb"
      ],
      "author": {
        "name": "Tim Chen",
        "email": "tim.c.chen@linux.intel.com",
        "time": "Tue Jul 19 09:32:38 2011 -0700"
      },
      "committer": {
        "name": "Pankaj Kumar",
        "email": "pakuma@codeaurora.org",
        "time": "Thu Dec 15 15:53:32 2011 +0530"
      },
      "message": "VFS : mount lock scalability for internal mounts\n\nFor a number of file systems that don\u0027t have a mount point (e.g. sockfs\nand pipefs), they are not marked as long term. Therefore in\nmntput_no_expire, all locks in vfs_mount lock are taken instead of just\nlocal cpu\u0027s lock to aggregate reference counts when we release\nreference to file objects.  In fact, only local lock need to have been\ntaken to update ref counts as these file systems are in no danger of\ngoing away until we are ready to unregister them.\n\nThe attached patch marks file systems using kern_mount without\nmount point as long term.  The contentions of vfs_mount lock\nis now eliminated.  Before un-registering such file system,\nkern_unmount should be called to remove the long term flag and\nmake the mount point ready to be freed.\n\nChange-Id: Ifbb211d08f25e4c2ec3b22126b8e745ee1cee0ea\nSigned-off-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Pankaj Kumar \u003cpakuma@codeaurora.org\u003e\n"
    },
    {
      "commit": "e006de470fa793b770cb098b39b46212a35b1b2b",
      "tree": "bad621880251cd5687e75c95044f5a4ccc720cdd",
      "parents": [
        "edb9a31845c5ba0ff325daa58f17f881d60d1559"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Dec 06 16:21:30 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 09 08:52:47 2011 -0800"
      },
      "message": "xfs: fix attr2 vs large data fork assert\n\ncommit 4c393a6059f8442a70512a48ce4639b882b6f6ad upstream.\n\nWith Dmitry fsstress updates I\u0027ve seen very reproducible crashes in\nxfs_attr_shortform_remove because xfs_attr_shortform_bytesfit claims that\nthe attributes would not fit inline into the inode after removing an\nattribute.  It turns out that we were operating on an inode with lots\nof delalloc extents, and thus an if_bytes values for the data fork that\nis larger than biggest possible on-disk storage for it which utterly\nconfuses the code near the end of xfs_attr_shortform_bytesfit.\n\nFix this by always allowing the current attribute fork, like we already\ndo for the attr1 format, given that delalloc conversion will take care\nfor moving either the data or attribute area out of line if it doesn\u0027t\nfit at that point - or making the point moot by merging extents at this\npoint.\n\nAlso document the function better, and clean up some loose bits.\n\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\nAcked-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "edb9a31845c5ba0ff325daa58f17f881d60d1559",
      "tree": "0ffeb6668a822dd80aa96f2cfeb116bb4fba68e8",
      "parents": [
        "a980e5dccb3ff8cb8f77ff27264b13837958119d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Dec 06 16:21:15 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 09 08:52:46 2011 -0800"
      },
      "message": "xfs: force buffer writeback before blocking on the ilock in inode reclaim\n\ncommit 4dd2cb4a28b7ab1f37163a4eba280926a13a8749 upstream.\n\nIf we are doing synchronous inode reclaim we block the VM from making\nprogress in memory reclaim.  So if we encouter a flush locked inode\npromote it in the delwri list and wake up xfsbufd to write it out now.\nWithout this we can get hangs of up to 30 seconds during workloads hitting\nsynchronous inode reclaim.\n\nThe scheme is copied from what we do for dquot reclaims.\n\nReported-by: Simon Kirby \u003csim@hostway.ca\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nTested-by: Simon Kirby \u003csim@hostway.ca\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\nAcked-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a980e5dccb3ff8cb8f77ff27264b13837958119d",
      "tree": "2facb9fe2c6fb8f05031f50aa2abea10aeab61bd",
      "parents": [
        "ee6dfa64be0c1e8976f20246278121bc9fcf1a24"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Dec 06 16:21:05 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 09 08:52:46 2011 -0800"
      },
      "message": "xfs: validate acl count\n\ncommit fa8b18edd752a8b4e9d1ee2cd615b82c93cf8bba upstream.\n\nThis prevents in-memory corruption and possible panics if the on-disk\nACL is badly corrupted.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\nAcked-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ee6dfa64be0c1e8976f20246278121bc9fcf1a24",
      "tree": "601602d7d7ea56cb952a3401ca69fd97639ac111",
      "parents": [
        "0198f84095f61e3ae0643eddb76df9ac684dae43"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 10:11:07 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 09 08:52:46 2011 -0800"
      },
      "message": "NFS: Prevent 3.0 from crashing if it receives a partial layout\n\nThis is a backport of critical parts of\ncommit 7c24d9489f \"NFSv4.1: File layout only supports whole file layouts\"\n\nIt prevents the file layout driver from (incorrectly) using\npartial layouts, but ignores the part of the referenced commmit that\nrelies on additional machinery to change the LAYOUTGET request\nbased on layout driver.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4d15dcb0e249cd9834afc9b44d674dbd9eb57116",
      "tree": "32257f09a21eab3869e0ca342f447098b0a16964",
      "parents": [
        "e8cb7517f0bfa7cdc6dd91d244f95bdcecd5589c"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Nov 23 11:31:24 2011 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 09 08:52:19 2011 -0800"
      },
      "message": "eCryptfs: Extend array bounds for all filename chars\n\ncommit 0f751e641a71157aa584c2a2e22fda52b52b8a56 upstream.\n\nFrom mhalcrow\u0027s original commit message:\n\n    Characters with ASCII values greater than the size of\n    filename_rev_map[] are valid filename characters.\n    ecryptfs_decode_from_filename() will access kernel memory beyond\n    that array, and ecryptfs_parse_tag_70_packet() will then decrypt\n    those characters. The attacker, using the FNEK of the crafted file,\n    can then re-encrypt the characters to reveal the kernel memory past\n    the end of the filename_rev_map[] array. I expect low security\n    impact since this array is statically allocated in the text area,\n    and the amount of memory past the array that is accessible is\n    limited by the largest possible ASCII filename character.\n\nThis patch solves the issue reported by mhalcrow but with an\nimplementation suggested by Linus to simply extend the length of\nfilename_rev_map[] to 256. Characters greater than 0x7A are mapped to\n0x00, which is how invalid characters less than 0x7A were previously\nbeing handled.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nReported-by: Michael Halcrow \u003cmhalcrow@google.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "051726ea7a7d39c03cb5653c962b0b6f47b5cc37",
      "tree": "66eff6df3e7bfa8a1e0af89f537e9eed304514fe",
      "parents": [
        "ac6766564c0305ca020fe747dfd7dbdf0881369d"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Mon Nov 21 17:31:29 2011 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 09 08:52:18 2011 -0800"
      },
      "message": "eCryptfs: Flush file in vma close\n\ncommit 32001d6fe9ac6b0423e674a3093aa56740849f3b upstream.\n\nDirty pages weren\u0027t being written back when an mmap\u0027ed eCryptfs file was\nclosed before the mapping was unmapped. Since f_ops-\u003eflush() is not\ncalled by the munmap() path, the lower file was simply being released.\nThis patch flushes the eCryptfs file in the vm_ops-\u003eclose() path.\n\nhttps://launchpad.net/bugs/870326\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4e239c0cbfc9070ff0c006a92eaafd52243b47a0",
      "tree": "b06773db18adc3cec7dc693c467b4f037e543c0e",
      "parents": [
        "683b65800133d39cb66082c297869b1ff11f49ef"
      ],
      "author": {
        "name": "Sujit Reddy Thumma",
        "email": "sthumma@codeaurora.org",
        "time": "Wed Dec 07 15:13:45 2011 +0530"
      },
      "committer": {
        "name": "Sujit Reddy Thumma",
        "email": "sthumma@codeaurora.org",
        "time": "Thu Dec 08 12:01:55 2011 +0530"
      },
      "message": "fs: yaffs: Use deferable timer for background operations\n\nUse deferable timer in background operations thread,\nso that it won\u0027t cause unnecessary wakeups. Typically,\nwakeups are seen in the range 60ms to 2secs (for HZ\u003d100)\nafter the thread is scheduled out. In general, during this\ndelay the processor can go into sleep, if there is no other\nactivity. Since, the work done in this background operation\nis not critical and can be handled as soon as when timer\nexpires and processor wakes up for other critical events,\nwe mark the timer responsible for wakeup of this thread\nas deferable timer. Otherwise, the processor wakesup\nunnecessarily to handle the background operations causing\nhigher power consumption in idle state.\n\nChange-Id: Ic168525c6b33600ad23017d00ea9723cf8a738d2\nSigned-off-by: Sujit Reddy Thumma \u003csthumma@codeaurora.org\u003e\n"
    },
    {
      "commit": "ae6c19cd6c32f88b2d8549984ff2a5fcdcc932b2",
      "tree": "130f035ba9104d9316c3e7de73cc10e10810d940",
      "parents": [
        "7d7e5d33408819c084528dcff139fc4564c7bdda"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 19 13:13:39 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Nov 26 09:10:07 2011 -0800"
      },
      "message": "xfs: fix -\u003ewrite_inode return values\n\npatch 58d84c4ee0389ddeb86238d5d8359a982c9f7a5b upstream.\n\nCurrently we always redirty an inode that was attempted to be written out\nsynchronously but has been cleaned by an AIL pushed internall, which is\nrather bogus.  Fix that by doing the i_update_core check early on and\nreturn 0 for it.  Also include async calls for it, as doing any work for\nthose is just as pointless.  While we\u0027re at it also fix the sign for the\nEIO return in case of a filesystem shutdown, and fix the completely\nnon-sensical locking around xfs_log_inode.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7d7e5d33408819c084528dcff139fc4564c7bdda",
      "tree": "8330f54ae42c4362a4cd8a0bc726484d4947ae66",
      "parents": [
        "626ff2d51fc1127814fa28bdfb1df761ea894755"
      ],
      "author": {
        "name": "Mitsuo Hayasaka",
        "email": "mitsuo.hayasaka.hu@hitachi.com",
        "time": "Sat Nov 19 13:13:45 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Nov 26 09:10:06 2011 -0800"
      },
      "message": "xfs: use doalloc flag in xfs_qm_dqattach_one()\n\ncommit db3e74b582915d66e10b0c73a62763418f54c340 upstream\n\nThe doalloc arg in xfs_qm_dqattach_one() is a flag that indicates\nwhether a new area to handle quota information will be allocated\nif needed. Originally, it was passed to xfs_qm_dqget(), but has\nbeen removed by the following commit (probably by mistake):\n\n\tcommit 8e9b6e7fa4544ea8a0e030c8987b918509c8ff47\n\tAuthor: Christoph Hellwig \u003chch@lst.de\u003e\n\tDate:   Sun Feb 8 21:51:42 2009 +0100\n\n\txfs: remove the unused XFS_QMOPT_DQLOCK flag\n\nAs the result, xfs_qm_dqget() called from xfs_qm_dqattach_one()\nnever allocates the new area even if it is needed.\n\nThis patch gives the doalloc arg to xfs_qm_dqget() in\nxfs_qm_dqattach_one() to fix this problem.\n\nSigned-off-by: Mitsuo Hayasaka \u003cmitsuo.hayasaka.hu@hitachi.com\u003e\nCc: Alex Elder \u003caelder@sgi.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "626ff2d51fc1127814fa28bdfb1df761ea894755",
      "tree": "885735d33631ba30e562ffa4a83d5c0417fec71b",
      "parents": [
        "70f589ceb96bbf1d4c2c2f5b6c3d6dff19ddd31d"
      ],
      "author": {
        "name": "Carlos Maiolino",
        "email": "cmaiolino@redhat.com",
        "time": "Sat Nov 19 13:13:44 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Nov 26 09:10:06 2011 -0800"
      },
      "message": "xfs: Fix possible memory corruption in xfs_readlink\n\ncommit b52a360b2aa1c59ba9970fb0f52bbb093fcc7a24 upstream.\n\nFixes a possible memory corruption when the link is larger than\nMAXPATHLEN and XFS_DEBUG is not enabled. This also remove the\nS_ISLNK assert, since the inode mode is checked previously in\nxfs_readlink_by_handle() and via VFS.\n\nUpdated to address concerns raised by Ben Hutchings about the loose\nattention paid to 32- vs 64-bit values, and the lack of handling a\npotentially negative pathlen value:\n - Changed type of \"pathlen\" to be xfs_fsize_t, to match that of\n   ip-\u003ei_d.di_size\n - Added checking for a negative pathlen to the too-long pathlen\n   test, and generalized the message that gets reported in that case\n   to reflect the change\nAs a result, if a negative pathlen were encountered, this function\nwould return EFSCORRUPTED (and would fail an assertion for a debug\nbuild)--just as would a too-long pathlen.\n\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "70f589ceb96bbf1d4c2c2f5b6c3d6dff19ddd31d",
      "tree": "e14042b00520704f9b244ff722eb713a6a62ec7f",
      "parents": [
        "5b9d69bca6a43e7cd61df13e820ee4e5f99e1615"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 19 13:13:43 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Nov 26 09:10:06 2011 -0800"
      },
      "message": "xfs: fix buffer flushing during unmount\n\ncommit 87c7bec7fc3377b3873eb3a0f4b603981ea16ebb upstream.\n\nThe code to flush buffers in the umount code is a bit iffy: we first\nflush all delwri buffers out, but then might be able to queue up a\nnew one when logging the sb counts.  On a normal shutdown that one\nwould get flushed out when doing the synchronous superblock write in\nxfs_unmountfs_writesb, but we skip that one if the filesystem has\nbeen shut down.\n\nFix this by moving the delwri list flushing until just before unmounting\nthe log, and while we\u0027re at it also remove the superflous delwri list\nand buffer lru flusing for the rt and log device that can never have\ncached or delwri buffers.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReported-by: Amit Sahrawat \u003camit.sahrawat83@gmail.com\u003e\nTested-by: Amit Sahrawat \u003camit.sahrawat83@gmail.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5b9d69bca6a43e7cd61df13e820ee4e5f99e1615",
      "tree": "5931d3b5765b6a22406bc4b370d5644b6d8e3b80",
      "parents": [
        "3da97f9710ca1df6cebe2558896dae3ed62337be"
      ],
      "author": {
        "name": "Mitsuo Hayasaka",
        "email": "mitsuo.hayasaka.hu@hitachi.com",
        "time": "Sat Nov 19 13:13:42 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Nov 26 09:10:05 2011 -0800"
      },
      "message": "xfs: Return -EIO when xfs_vn_getattr() failed\n\ncommit ed32201e65e15f3e6955cb84cbb544b08f81e5a5 upstream.\n\nAn attribute of inode can be fetched via xfs_vn_getattr() in XFS.\nCurrently it returns EIO, not negative value, when it failed.  As a\nresult, the system call returns not negative value even though an\nerror occured. The stat(2), ls and mv commands cannot handle this\nerror and do not work correctly.\n\nThis patch fixes this bug, and returns -EIO, not EIO when an error\nis detected in xfs_vn_getattr().\n\nSigned-off-by: Mitsuo Hayasaka \u003cmitsuo.hayasaka.hu@hitachi.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3da97f9710ca1df6cebe2558896dae3ed62337be",
      "tree": "84f34c67c903c1dcbbb2fec9277835d957387f2e",
      "parents": [
        "16ba92e591d31d3213956e581867f46892648038"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 19 13:13:41 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Nov 26 09:10:05 2011 -0800"
      },
      "message": "xfs: avoid direct I/O write vs buffered I/O race\n\ncommit c58cb165bd44de8aaee9755a144136ae743be116 upstream.\n\nCurrently a buffered reader or writer can add pages to the pagecache\nwhile we are waiting for the iolock in xfs_file_dio_aio_write.  Prevent\nthis by re-checking mapping-\u003enrpages after we got the iolock, and if\nnessecary upgrade the lock to exclusive mode.  To simplify this a bit\nonly take the ilock inside of xfs_file_aio_write_checks.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "16ba92e591d31d3213956e581867f46892648038",
      "tree": "60eb2e93d8edbdc1397ad805e47a17f237e10199",
      "parents": [
        "afd717d6cd334fc89f3ac938e19aade2f939b629"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Sat Nov 19 13:13:40 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Nov 26 09:10:05 2011 -0800"
      },
      "message": "xfs: dont serialise direct IO reads on page cache\n\ncommit 0c38a2512df272b14ef4238b476a2e4f70da1479 upstream.\n\nThere is no need to grab the i_mutex of the IO lock in exclusive\nmode if we don\u0027t need to invalidate the page cache. Taking these\nlocks on every direct IO effective serialises them as taking the IO\nlock in exclusive mode has to wait for all shared holders to drop\nthe lock. That only happens when IO is complete, so effective it\nprevents dispatch of concurrent direct IO reads to the same inode.\n\nFix this by taking the IO lock shared to check the page cache state,\nand only then drop it and take the IO lock exclusively if there is\nwork to be done. Hence for the normal direct IO case, no exclusive\nlocking will occur.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nTested-by: Joern Engel \u003cjoern@logfs.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "afd717d6cd334fc89f3ac938e19aade2f939b629",
      "tree": "0eee1b2d7134e0280e289522140f7ae246bc5459",
      "parents": [
        "e62cccfcf5535487daf8c1d3613b9dabc2315b44"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 19 13:13:38 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Nov 26 09:10:04 2011 -0800"
      },
      "message": "xfs: fix xfs_mark_inode_dirty during umount\n\ncommit 866e4ed77448a0c311e1b055eb72ea05423fd799 upstream.\n\nDuring umount we do not add a dirty inode to the lru and wait for it to\nbecome clean first, but force writeback of data and metadata with\nI_WILL_FREE set.  Currently there is no way for XFS to detect that the\ninode has been redirtied for metadata operations, as we skip the\nmark_inode_dirty call during teardown.  Fix this by setting i_update_core\nnanually in that case, so that the inode gets flushed during inode reclaim.\n\nAlternatively we could enable calling mark_inode_dirty for inodes in\nI_WILL_FREE state, and let the VFS dirty tracking handle this.  I decided\nagainst this as we will get better I/O patterns from reclaim compared to\nthe synchronous writeout in write_inode_now, and always marking the inode\ndirty in some way from xfs_mark_inode_dirty is a better safetly net in\neither case.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e62cccfcf5535487daf8c1d3613b9dabc2315b44",
      "tree": "83cc1990bb88927f367758161ca21142eadc476f",
      "parents": [
        "10318b5517baa2ae7e4bb884c6acb9cf572eebc8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 19 13:13:37 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Nov 26 09:10:04 2011 -0800"
      },
      "message": "xfs: fix error handling for synchronous writes\n\nIf removed storage while synchronous buffer write underway,\n\"xfslogd\" hangs.\n\nDetailed log http://oss.sgi.com/archives/xfs/2011-07/msg00740.html\n\nRelated work bfc60177f8ab509bc225becbb58f7e53a0e33e81\n\"xfs: fix error handling for synchronous writes\"\n\nGiven that xfs_bwrite actually does the shutdown already after\nwaiting for the b_iodone completion and given that we actually\nfound that calling xfs_force_shutdown from inside\nxfs_buf_iodone_callbacks was a major contributor the problem\nit better to drop this call.\n\nSigned-off-by: Ajeet Yadav \u003cajeet.yadav.77@gmail.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "124e35242a58c479cea2a3d6d2b2605737e27309",
      "tree": "2b487f31afc0cb7b296ecc121ceaa6a6c742ecdf",
      "parents": [
        "ecaaa92488e2589cc6b0a409ce44e7e47a3bb846"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Nov 04 13:31:21 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Nov 26 09:09:59 2011 -0800"
      },
      "message": "nfs: when attempting to open a directory, fall back on normal lookup (try #5)\n\ncommit 1788ea6e3b2a58cf4fb00206e362d9caff8d86a7 upstream.\n\ncommit d953126 changed how nfs_atomic_lookup handles an -EISDIR return\nfrom an OPEN call. Prior to that patch, that caused the client to fall\nback to doing a normal lookup. When that patch went in, the code began\nreturning that error to userspace. The d_revalidate codepath however\nnever had the corresponding change, so it was still possible to end up\nwith a NULL ctx-\u003estate pointer after that.\n\nThat patch caused a regression. When we attempt to open a directory that\ndoes not have a cached dentry, that open now errors out with EISDIR. If\nyou attempt the same open with a cached dentry, it will succeed.\n\nFix this by reverting the change in nfs_atomic_lookup and allowing\nattempts to open directories to fall back to a normal lookup\n\nAlso, add a NFSv4-specific f_ops-\u003eopen routine that just returns\n-ENOTDIR. This should never be called if things are working properly,\nbut if it ever is, then the dprintk may help in debugging.\n\nTo facilitate this, a new file_operations field is also added to the\nnfs_rpc_ops struct.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3bbea6b4bca6ac2529fbbb71e58323a00592edae",
      "tree": "a15be936d24cf1e1efe2db80c18b36d67307985f",
      "parents": [
        "31a05f7dd79da9b4889008847e2a851835c14269"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Mon Nov 14 17:52:08 2011 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 21 14:31:18 2011 -0800"
      },
      "message": "hfs: add sanity check for file name length\n\ncommit bc5b8a9003132ae44559edd63a1623b7b99dfb68 upstream.\n\nOn a corrupted file system the -\u003elen field could be wrong leading to\na buffer overflow.\n\nReported-and-acked-by: Clement LECIGNE \u003cclement.lecigne@netasq.com\u003e\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d074fa2796bdbc42c4f918c78d6711bafc80b1c8",
      "tree": "033929706a0aae95f65c134a8fc09cec3fb3e75d",
      "parents": [
        "53ae1740b250e4d02dd7a6ca82075355ad99dc23",
        "9ab6a29787b1221a697f85835645549668258bdc"
      ],
      "author": {
        "name": "Bryan Huntsman",
        "email": "bryanh@codeaurora.org",
        "time": "Wed Nov 16 13:52:50 2011 -0800"
      },
      "committer": {
        "name": "Bryan Huntsman",
        "email": "bryanh@codeaurora.org",
        "time": "Wed Nov 16 13:52:50 2011 -0800"
      },
      "message": "Merge remote-tracking branch \u0027common/android-3.0\u0027 into msm-3.0\n\n* common/android-3.0: (570 commits)\n  misc: remove kernel debugger core\n  ARM: common: fiq_debugger: dump sysrq directly to console if enabled\n  ARM: common: fiq_debugger: add irq context debug functions\n  net: wireless: bcmdhd: Call init_ioctl() only if was started properly for WEXT\n  net: wireless: bcmdhd: Call init_ioctl() only if was started properly\n  net: wireless: bcmdhd: Fix possible memory leak in escan/iscan\n  cpufreq: interactive governor: default 20ms timer\n  cpufreq: interactive governor: go to intermediate hi speed before max\n  cpufreq: interactive governor: scale to max only if at min speed\n  cpufreq: interactive governor: apply intermediate load on current speed\n  ARM: idle: update idle ticks before call idle end notifier\n  input: gpio_input: don\u0027t print debounce message unless flag is set\n  net: wireless: bcm4329: Skip dhd_bus_stop() if bus is already down\n  net: wireless: bcmdhd: Skip dhd_bus_stop() if bus is already down\n  net: wireless: bcmdhd: Improve suspend/resume processing\n  net: wireless: bcmdhd: Check if FW is Ok for internal FW call\n  tcp: Don\u0027t nuke connections for the wrong protocol\n  ARM: common: fiq_debugger: make uart irq be no_suspend\n  net: wireless: Skip connect warning for CONFIG_CFG80211_ALLOW_RECONNECT\n  mm: avoid livelock on !__GFP_FS allocations\n  ...\n\nConflicts:\n\tarch/arm/mm/cache-l2x0.c\n\tarch/arm/vfp/vfpmodule.c\n\tdrivers/mmc/core/host.c\n\tkernel/power/wakelock.c\n\tnet/bluetooth/hci_event.c\n\nSigned-off-by: Bryan Huntsman \u003cbryanh@codeaurora.org\u003e\n"
    },
    {
      "commit": "ef52f3936f9f5d770ea177e5c769e68af1701a90",
      "tree": "caaa034d4898221b5d5e0c9ff3fea6b48f108cb4",
      "parents": [
        "2fc862e051e87f66de8b505b339e55c509d684a3"
      ],
      "author": {
        "name": "Jiaying Zhang",
        "email": "jiayingz@google.com",
        "time": "Wed Aug 31 11:50:51 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:37:16 2011 -0800"
      },
      "message": "ext4: remove i_mutex lock in ext4_evict_inode to fix lockdep complaining\n\ncommit 8c0bec2151a47906bf779c6715a10ce04453ab77 upstream.\n\nThe i_mutex lock and flush_completed_IO() added by commit 2581fdc810\nin ext4_evict_inode() causes lockdep complaining about potential\ndeadlock in several places.  In most/all of these LOCKDEP complaints\nit looks like it\u0027s a false positive, since many of the potential\ncircular locking cases can\u0027t take place by the time the\next4_evict_inode() is called; but since at the very least it may mask\nreal problems, we need to address this.\n\nThis change removes the flush_completed_IO() and i_mutex lock in\next4_evict_inode().  Instead, we take a different approach to resolve\nthe software lockup that commit 2581fdc810 intends to fix.  Rather\nthan having ext4-dio-unwritten thread wait for grabing the i_mutex\nlock of an inode, we use mutex_trylock() instead, and simply requeue\nthe work item if we fail to grab the inode\u0027s i_mutex lock.\n\nThis should speed up work queue processing in general and also\nprevents the following deadlock scenario: During page fault,\nshrink_icache_memory is called that in turn evicts another inode B.\nInode B has some pending io_end work so it calls ext4_ioend_wait()\nthat waits for inode B\u0027s i_ioend_count to become zero.  However, inode\nB\u0027s ioend work was queued behind some of inode A\u0027s ioend work on the\nsame cpu\u0027s ext4-dio-unwritten workqueue.  As the ext4-dio-unwritten\nthread on that cpu is processing inode A\u0027s ioend work, it tries to\ngrab inode A\u0027s i_mutex lock.  Since the i_mutex lock of inode A is\nstill hold before the page fault happened, we enter a deadlock.\n\nSigned-off-by: Jiaying Zhang \u003cjiayingz@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "656460cd7714653cf60a10c79e02cbfe2d9bf732",
      "tree": "a9eb6dd3de35c760ae5d327fd121a7e0ce78c8fb",
      "parents": [
        "0447f4d5654bb5d95008f16dad839104f8d0d39a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Mon Nov 07 21:21:26 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:37:08 2011 -0800"
      },
      "message": "VFS: we need to set LOOKUP_JUMPED on mountpoint crossing\n\ncommit a3fbbde70a0cec017f2431e8f8de208708c76acc upstream.\n\nMountpoint crossing is similar to following procfs symlinks - we do\nnot get -\u003ed_revalidate() called for dentry we have arrived at, with\nunpleasant consequences for NFS4.\n\nSimple way to reproduce the problem in mainline:\n\n    cat \u003e/tmp/a.c \u003c\u003c\u0027EOF\u0027\n    #include \u003cunistd.h\u003e\n    #include \u003cfcntl.h\u003e\n    #include \u003cstdio.h\u003e\n    main()\n    {\n            struct flock fl \u003d {.l_type \u003d F_RDLCK, .l_whence \u003d SEEK_SET, .l_len \u003d 1};\n            if (fcntl(0, F_SETLK, \u0026fl))\n                    perror(\"setlk\");\n    }\n    EOF\n    cc /tmp/a.c -o /tmp/test\n\nthen on nfs4:\n\n    mount --bind file1 file2\n    /tmp/test \u003c file1\t\t# ok\n    /tmp/test \u003c file2\t\t# spews \"setlk: No locks available\"...\n\nWhat happens is the missing call of -\u003ed_revalidate() after mountpoint\ncrossing and that\u0027s where NFS4 would issue OPEN request to server.\n\nThe fix is simple - treat mountpoint crossing the same way we deal with\nfollowing procfs-style symlinks.  I.e.  set LOOKUP_JUMPED...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8185df43d48a71605934d9a7c6db4d93e7b25d5c",
      "tree": "d6752ca92d83a3609d21fbd32bd96f8bac22efdc",
      "parents": [
        "9ad93ba528bf5555a96ef64b7ec1af398277ad52"
      ],
      "author": {
        "name": "Dan McGee",
        "email": "dpmcgee@gmail.com",
        "time": "Tue Nov 01 18:23:10 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:37:08 2011 -0800"
      },
      "message": "VFS: fix statfs() automounter semantics regression\n\ncommit 5c8a0fbba543d9428a486f0d1282bbcf3cf1d95a upstream.\n\nNo one in their right mind would expect statfs() to not work on a\nautomounter managed mount point. Fix it.\n\n[ I\u0027m not sure about the \"no one in their right mind\" part.  It\u0027s not\n  mounted, and you didn\u0027t ask for it to be mounted.  But nobody will\n  really care, and this probably makes it match previous semantics, so..\n      - Linus ]\n\nThis mirrors the fix made to the quota code in 815d405ceff0d69646.\n\nSigned-off-by: Dan McGee \u003cdpmcgee@gmail.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f53881e6463124c910b17a5ea722a5cf5ab67fb3",
      "tree": "76fd04a8c1de66a2331f3122703d3e04d16b016e",
      "parents": [
        "6fa9e3e3e01b8741eead6e00bb968ef3b4fddc3f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Oct 17 13:42:43 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:37:07 2011 -0800"
      },
      "message": "block: make gendisk hold a reference to its queue\n\ncommit f992ae801a7dec34a4ed99a6598bbbbfb82af4fb upstream.\n\nThe following command sequence triggers an oops.\n\n# mount /dev/sdb1 /mnt\n# echo 1 \u003e /sys/class/scsi_device/0\\:0\\:1\\:0/device/delete\n# umount /mnt\n\n general protection fault: 0000 [#1] PREEMPT SMP\n CPU 2\n Modules linked in:\n\n Pid: 791, comm: umount Not tainted 3.1.0-rc3-work+ #8 Bochs Bochs\n RIP: 0010:[\u003cffffffff810d0879\u003e]  [\u003cffffffff810d0879\u003e] __lock_acquire+0x389/0x1d60\n...\n Call Trace:\n  [\u003cffffffff810d2845\u003e] lock_acquire+0x95/0x140\n  [\u003cffffffff81aed87b\u003e] _raw_spin_lock+0x3b/0x50\n  [\u003cffffffff811573bc\u003e] bdi_lock_two+0x5c/0x70\n  [\u003cffffffff811c2f6c\u003e] bdev_inode_switch_bdi+0x4c/0xf0\n  [\u003cffffffff811c3fcb\u003e] __blkdev_put+0x11b/0x1d0\n  [\u003cffffffff811c4010\u003e] __blkdev_put+0x160/0x1d0\n  [\u003cffffffff811c40df\u003e] blkdev_put+0x5f/0x190\n  [\u003cffffffff8118f18d\u003e] kill_block_super+0x4d/0x80\n  [\u003cffffffff8118f4a5\u003e] deactivate_locked_super+0x45/0x70\n  [\u003cffffffff8119003a\u003e] deactivate_super+0x4a/0x70\n  [\u003cffffffff811ac4ad\u003e] mntput_no_expire+0xed/0x130\n  [\u003cffffffff811acf2e\u003e] sys_umount+0x7e/0x3a0\n  [\u003cffffffff81aeeeab\u003e] system_call_fastpath+0x16/0x1b\n\nThis is because bdev holds on to disk but disk doesn\u0027t pin the\nassociated queue.  If a SCSI device is removed while the device is\nstill open, the sdev puts the base reference to the queue on release.\nWhen the bdev is finally released, the associated queue is already\ngone along with the bdi and bdev_inode_switch_bdi() ends up\ndereferencing already freed bdi.\n\nEven if it were not for this bug, disk not holding onto the associated\nqueue is very unusual and error-prone.\n\nFix it by making add_disk() take an extra reference to its queue and\nput it on disk_release() and ensuring that disk and its fops owner are\nput in that order after all accesses to the disk and queue are\ncomplete.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "628ee980d92cd25b8b794af59823fb93090500c3",
      "tree": "c40e572945f204ce083643a41924f348fc2ef17f",
      "parents": [
        "3c607445bbf6ff07c755656df331069d753569ea"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Oct 29 10:15:35 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:36:34 2011 -0800"
      },
      "message": "ext4: fix race in xattr block allocation path\n\ncommit 6d6a435190bdf2e04c9465cde5bdc3ac68cf11a4 upstream.\n\nCeph users reported that when using Ceph on ext4, the filesystem\nwould often become corrupted, containing inodes with incorrect\ni_blocks counters.\n\nI managed to reproduce this with a very hacked-up \"streamtest\"\nbinary from the Ceph tree.\n\nCeph is doing a lot of xattr writes, to out-of-inode blocks.\nThere is also another thread which does sync_file_range and close,\nof the same files.  The problem appears to happen due to this race:\n\nsync/flush thread               xattr-set thread\n-----------------               ----------------\n\ndo_writepages                   ext4_xattr_set\next4_da_writepages              ext4_xattr_set_handle\nmpage_da_map_blocks             ext4_xattr_block_set\n        set DELALLOC_RESERVE\n                                ext4_new_meta_blocks\n                                        ext4_mb_new_blocks\n                                                if (!i_delalloc_reserved_flag)\n                                                        vfs_dq_alloc_block\next4_get_blocks\n\tdown_write(i_data_sem)\n        set i_delalloc_reserved_flag\n\t...\n\tup_write(i_data_sem)\n                                        if (i_delalloc_reserved_flag)\n                                                vfs_dq_alloc_block_nofail\n\n\nIn other words, the sync/flush thread pops in and sets\ni_delalloc_reserved_flag on the inode, which makes the xattr thread\nthink that it\u0027s in a delalloc path in ext4_new_meta_blocks(),\nand add the block for a second time, after already having added\nit once in the !i_delalloc_reserved_flag case in ext4_mb_new_blocks\n\nThe real problem is that we shouldn\u0027t be using the DELALLOC_RESERVED\nstate flag, and instead we should be passing\nEXT4_GET_BLOCKS_DELALLOC_RESERVE down to ext4_map_blocks() instead of\nusing an inode state flag.  We\u0027ll fix this for now with using\ni_data_sem to prevent this race, but this is really not the right way\nto fix things.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3c607445bbf6ff07c755656df331069d753569ea",
      "tree": "e183069d5636a34c7500b7cd670baa407a7d772c",
      "parents": [
        "37915713a96e05b5d731b9457a0cf22ced00f36f"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Aug 31 12:02:51 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:36:34 2011 -0800"
      },
      "message": "ext4: call ext4_handle_dirty_metadata with correct inode in ext4_dx_add_entry\n\ncommit 5930ea643805feb50a2f8383ae12eb6f10935e49 upstream.\n\next4_dx_add_entry manipulates bh2 and frames[0].bh, which are two buffer_heads\nthat point to directory blocks assigned to the directory inode.  However, the\nfunction calls ext4_handle_dirty_metadata with the inode of the file that\u0027s\nbeing added to the directory, not the directory inode itself.  Therefore,\ncorrect the code to dirty the directory buffers with the directory inode, not\nthe file inode.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "37915713a96e05b5d731b9457a0cf22ced00f36f",
      "tree": "38c51284f1199893ef081a2c592e1412fc5ae976",
      "parents": [
        "a848dee39f54f1eb9d9b90ef172ec4e813815e21"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Wed Aug 31 12:00:51 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:36:34 2011 -0800"
      },
      "message": "ext4: ext4_mkdir should dirty dir_block with newly created directory inode\n\ncommit f9287c1f2d329f4d78a3bbc9cf0db0ebae6f146a upstream.\n\next4_mkdir calls ext4_handle_dirty_metadata with dir_block and the inode \"dir\".\nUnfortunately, dir_block belongs to the newly created directory (which is\n\"inode\"), not the parent directory (which is \"dir\").  Fix the incorrect\nassociation.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a848dee39f54f1eb9d9b90ef172ec4e813815e21",
      "tree": "ff0466adc0b1a3404ea51b4483aaaa56e8c46b23",
      "parents": [
        "d24f405b711a4247f31358339dc1112ca659e6fe"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Wed Aug 31 11:58:51 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:36:33 2011 -0800"
      },
      "message": "ext4: ext4_rename should dirty dir_bh with the correct directory\n\ncommit bcaa992975041e40449be8c010c26192b8c8b409 upstream.\n\nWhen ext4_rename performs a directory rename (move), dir_bh is a\nbuffer that is modified to update the \u0027..\u0027 link in the directory being\nmoved (old_inode).  However, ext4_handle_dirty_metadata is called with\nthe old parent directory inode (old_dir) and dir_bh, which is\nincorrect because dir_bh does not belong to the parent inode.  Fix\nthis error.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d24f405b711a4247f31358339dc1112ca659e6fe",
      "tree": "4cea1a63deebfd31be589d98d6c594b15ff156e8",
      "parents": [
        "b97cdd64caeac76928c0bac6a844743fa2431200"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Aug 31 11:54:51 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:36:32 2011 -0800"
      },
      "message": "ext2,ext3,ext4: don\u0027t inherit APPEND_FL or IMMUTABLE_FL for new inodes\n\ncommit 1cd9f0976aa4606db8d6e3dc3edd0aca8019372a upstream.\n\nThis doesn\u0027t make much sense, and it exposes a bug in the kernel where\nattempts to create a new file in an append-only directory using\nO_CREAT will fail (but still leave a zero-length file).  This was\ndiscovered when xfstests #79 was generalized so it could run on all\nfile systems.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4f0bf01fabfa6519f8d96b089e44eeaf6cc085c2",
      "tree": "87007bc54e7116df14e02f749a6f1321b83c8f7d",
      "parents": [
        "bfcf6092c5b8789a179e40992ca041bbdbb859cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 11:51:33 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:36:30 2011 -0800"
      },
      "message": "vfs: show O_CLOEXE bit properly in /proc/\u003cpid\u003e/fdinfo/\u003cfd\u003e files\n\ncommit 1117f72ea0217ba0cc19f05adbbd8b9a397f5ab7 upstream.\n\nThe CLOEXE bit is magical, and for performance (and semantic) reasons we\ndon\u0027t actually maintain it in the file descriptor itself, but in a\nseparate bit array.  Which means that when we show f_flags, the CLOEXE\nstatus is shown incorrectly: we show the status not as it is now, but as\nit was when the file was opened.\n\nFix that by looking up the bit properly in the \u0027fdt-\u003eclose_on_exec\u0027 bit\narray.\n\nUli needs this in order to re-implement the pfiles program:\n\n  \"For normal file descriptors (not sockets) this was the last piece of\n   information which wasn\u0027t available.  This is all part of my \u0027give\n   Solaris users no reason to not switch\u0027 effort.  I intend to offer the\n   code to the util-linux-ng maintainers.\"\n\nRequested-by: Ulrich Drepper \u003cdrepper@akkadia.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "bfcf6092c5b8789a179e40992ca041bbdbb859cc",
      "tree": "5977df15ac62ab5073893a1e7d5d655f4ad1ddca",
      "parents": [
        "68fe9d9c796303de600dbc622086768ca4d8408b"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Nov 02 13:37:41 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:36:29 2011 -0800"
      },
      "message": "binfmt_elf: fix PIE execution with randomization disabled\n\ncommit a3defbe5c337dbc6da911f8cc49ae3cc3b49b453 upstream.\n\nThe case of address space randomization being disabled in runtime through\nrandomize_va_space sysctl is not treated properly in load_elf_binary(),\nresulting in SIGKILL coming at exec() time for certain PIE-linked binaries\nin case the randomization has been disabled at runtime prior to calling\nexec().\n\nHandle the randomize_va_space \u003d\u003d 0 case the same way as if we were not\nsupporting .text randomization at all.\n\nBased on original patch by H.J. Lu and Josh Boyer.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: H.J. Lu \u003chongjiu.lu@intel.com\u003e\nCc: \u003cstable@kernel.org\u003e\nTested-by: Josh Boyer \u003cjwboyer@redhat.com\u003e\nAcked-by: Nicolas Pitre \u003cnicolas.pitre@linaro.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "eb4b2df8f20d4479eceeb9bc51695caaa7bcd229",
      "tree": "ee209363a04b46e9d7a30e38e166a6d5eb70cff0",
      "parents": [
        "6c36547293e6c46fe5df46e5e1b9ce9babb9eb37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 13:59:48 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:36:23 2011 -0800"
      },
      "message": "vfs pathname lookup: Add LOOKUP_AUTOMOUNT flag\n\nSince we\u0027ve now turned around and made LOOKUP_FOLLOW *not* force an\nautomount, we want to add the ability to force an automount event on\nlookup even if we don\u0027t happen to have one of the other flags that force\nit implicitly (LOOKUP_OPEN, LOOKUP_DIRECTORY, LOOKUP_PARENT..)\n\nMost cases will never want to use this, since you\u0027d normally want to\ndelay automounting as long as possible, which usually implies\nLOOKUP_OPEN (when we open a file or directory, we really cannot avoid\nthe automount any more).\n\nBut Trond argued sufficiently forcefully that at a minimum bind mounting\na file and quotactl will want to force the automount lookup.  Some other\ncases (like nfs_follow_remote_path()) could use it too, although\nLOOKUP_DIRECTORY would work there as well.\n\nThis commit just adds the flag and logic, no users yet, though.  It also\ndoesn\u0027t actually touch the LOOKUP_NO_AUTOMOUNT flag that is related, and\nwas made irrelevant by the same change that made us not follow on\nLOOKUP_FOLLOW.\n\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nCc: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6c36547293e6c46fe5df46e5e1b9ce9babb9eb37",
      "tree": "a1bde2f3414b83d000bb36ad6c3333af83673432",
      "parents": [
        "def3f17094d20fa85d17ff11dea54a6c6bfb3f8c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 25 13:59:47 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:36:22 2011 -0800"
      },
      "message": "VFS: Fix the remaining automounter semantics regressions\n\ncommit 815d405ceff0d6964683f033e18b9b23a88fba87 upstream.\n\nThe concensus seems to be that system calls such as stat() etc should\nnot trigger an automount.  Neither should the l* versions.\n\nThis patch therefore adds a LOOKUP_AUTOMOUNT flag to tag those lookups\nthat _should_ trigger an automount on the last path element.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n[ Edited to leave out the cases that are already covered by LOOKUP_OPEN,\n  LOOKUP_DIRECTORY and LOOKUP_CREATE - all of which also fundamentally\n  force automounting for their own reasons   - Linus ]\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "def3f17094d20fa85d17ff11dea54a6c6bfb3f8c",
      "tree": "59717b6a4b6f826a0416478aa7cb6ef7add5dd05",
      "parents": [
        "f537ffabb3ed687da15ec46d72c839971b142d0a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Oct 25 13:59:46 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:36:21 2011 -0800"
      },
      "message": "vfs: automount should ignore LOOKUP_FOLLOW\n\ncommit 0ec26fd0698285b31248e34bf1abb022c00f23d6 upstream.\n\nPrior to 2.6.38 automount would not trigger on either stat(2) or\nlstat(2) on the automount point.\n\nAfter 2.6.38, with the introduction of the -\u003ed_automount()\ninfrastructure, stat(2) and others would start triggering automount\nwhile lstat(2), etc. still would not.  This is a regression and a\nuserspace ABI change.\n\nProblem originally reported here:\n\n  http://thread.gmane.org/gmane.linux.kernel.autofs/6098\n\nIt appears that there was an attempt at fixing various userspace tools\nto not trigger the automount.  But since the stat system call is\nrather common it is impossible to \"fix\" all userspace.\n\nThis patch reverts the original behavior, which is to not trigger on\nstat(2) and other symlink following syscalls.\n\n[ It\u0027s not really clear what the right behavior is.  Apparently Solaris\n  does the \"automount on stat, leave alone on lstat\".  And some programs\n  can get unhappy when \"stat+open+fstat\" ends up giving a different\n  result from the fstat than from the initial stat.\n\n  But the change in 2.6.38 resulted in problems for some people, so\n  we\u0027re going back to old behavior.  Maybe we can re-visit this\n  discussion at some future date  - Linus ]\n\nReported-by: Leonardo Chiquitto \u003cleonardo.lists@gmail.com\u003e\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f537ffabb3ed687da15ec46d72c839971b142d0a",
      "tree": "9f6d2d94280bc07d9552f36647ac143f4e60e36b",
      "parents": [
        "b0917c31699319f0b0ce0747e26bd66e8ed83491"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 25 13:59:45 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:36:20 2011 -0800"
      },
      "message": "VFS: Fix automount for negative autofs dentries\n\ncommit 5a30d8a2b8ddd5102c440c7e5a7c8e1fd729c818 upstream.\n[ backport for 3.0.x: LOOKUP_PARENT \u003d\u003e LOOKUP_CONTINUE by Chuck Ebbert\n\u003ccebbert@redhat.com\u003e ]\n\nAutofs may set the DCACHE_NEED_AUTOMOUNT flag on negative dentries.  These\nneed attention from the automounter daemon regardless of the LOOKUP_FOLLOW flag.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Chuck Ebbert \u003ccebbert@redhat.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b0917c31699319f0b0ce0747e26bd66e8ed83491",
      "tree": "357f87260c815d39f7efdd36f072ccd64a017a46",
      "parents": [
        "5f0d9e03e7e0792fbd36ba9fb9859f0ef7956a20"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Wed Nov 02 09:44:39 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:36:19 2011 -0800"
      },
      "message": "readlinkat: ensure we return ENOENT for the empty pathname for normal lookups\n\ncommit 1fa1e7f615f4d3ae436fa319af6e4eebdd4026a8 upstream.\n\nSince the commit below which added O_PATH support to the *at() calls, the\nerror return for readlink/readlinkat for the empty pathname has switched\nfrom ENOENT to EINVAL:\n\n  commit 65cfc6722361570bfe255698d9cd4dccaf47570d\n  Author: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n  Date:   Sun Mar 13 15:56:26 2011 -0400\n\n    readlinkat(), fchownat() and fstatat() with empty relative pathnames\n\nThis is both unexpected for userspace and makes readlink/readlinkat\ninconsistant with all other interfaces; and inconsistant with our stated\nreturn for these pathnames.\n\nAs the readlinkat call does not have a flags parameter we cannot use the\nAT_EMPTY_PATH approach used in the other calls.  Therefore expose whether\nthe original path is infact entry via a new user_path_at_empty() path\nlookup function.  Use this to determine whether to default to EINVAL or\nENOENT for failures.\n\nAddresses http://bugs.launchpad.net/bugs/817187\n\n[akpm@linux-foundation.org: remove unused getname_flags()]\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b5e074a6ff4cfa090f7aa8a87f5079d19206d91c",
      "tree": "a34d7a5a00ee329aa28c3b2a3b5f9482c358f235",
      "parents": [
        "1eac959e6961083087486015d87d0209a0ae45a8"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Oct 31 17:06:32 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:36:15 2011 -0800"
      },
      "message": "/proc/self/numa_maps: restore \"huge\" tag for hugetlb vmas\n\ncommit fc360bd9cdcf875639a77f07fafec26699c546f3 upstream.\n\nThe display of the \"huge\" tag was accidentally removed in 29ea2f698 (\"mm:\nuse walk_page_range() instead of custom page table walking code\").\n\nReported-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nTested-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nReviewed-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2f8c09acae88d1bf0aeedffd3f788eb5c5b4db29",
      "tree": "703cd237d5db6249e6bbacddc3ca18e82ab2dfb0",
      "parents": [
        "b2f0a734b06e2e257bb0565800ac222244d981dc"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Fri Oct 07 13:41:15 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:35:59 2011 -0800"
      },
      "message": "vfs: add \"device\" tag to /proc/self/mountstats\n\ncommit a877ee03ac010ded434b77f7831f43cbb1fcc60f upstream.\n\nnfsiostat was failing to find mounted filesystems on kernels after\n2.6.38 because of changes to show_vfsstat() by commit\nc7f404b40a3665d9f4e9a927cc5c1ee0479ed8f9.  This patch adds back the\n\"device\" tag before the nfs server entry so scripts can parse the\nmountstats file correctly.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b2f0a734b06e2e257bb0565800ac222244d981dc",
      "tree": "4931e82b8a8ffce8c12abac61e1e8cf479d1fbc0",
      "parents": [
        "0dc8985b7f2da02180135396871d396f33a39b43"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 27 22:21:58 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:35:59 2011 -0800"
      },
      "message": "hppfs: missing include\n\ncommit d6b722aa383a467a43d09ee38e866981abba08ab upstream.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0dc8985b7f2da02180135396871d396f33a39b43",
      "tree": "8dc0f90279eaa04fd2b64a540b6fbd12a7d29ffc",
      "parents": [
        "279b483174560147e9f56f79e9b1fd3bd4fc8f40"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 10 17:34:31 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:35:59 2011 -0800"
      },
      "message": "nfsd4: ignore WANT bits in open downgrade\n\ncommit c30e92df30d7d5fe65262fbce5d1b7de675fe34e upstream.\n\nWe don\u0027t use WANT bits yet--and sending them can probably trigger a\nBUG() further down.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "279b483174560147e9f56f79e9b1fd3bd4fc8f40",
      "tree": "e6493e4e2a8fd9a7d7fdef939bdf83e683c44d24",
      "parents": [
        "0a52cb1083a662d4c417638ccdaa81df0e67494b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 19 15:07:41 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:35:58 2011 -0800"
      },
      "message": "nfsd4: fix open downgrade, again\n\ncommit 3d02fa29dec920c597dd7b7db608a4bc71f088ce upstream.\n\nYet another open-management regression:\n\n\t- nfs4_file_downgrade() doesn\u0027t remove the BOTH access bit on\n\t  downgrade, so the server\u0027s idea of the stateid\u0027s access gets\n\t  out of sync with the client\u0027s.  If we want to keep an O_RDWR\n\t  open in this case, we should do that in the file_put_access\n\t  logic rather than here.\n\t- We forgot to convert v4 access to an open mode here.\n\nThis logic has proven too hard to get right.  In the future we may\nconsider:\n\t- reexamining the lock/openowner relationship (locks probably\n\t  don\u0027t really need to take their own references here).\n\t- adding open upgrade/downgrade support to the vfs.\n\t- removing the atomic operations.  They\u0027re redundant as long as\n\t  this is all under some other lock.\n\nAlso, maybe some kind of additional static checking would help catch\nO_/NFS4_SHARE_ACCESS confusion.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0a52cb1083a662d4c417638ccdaa81df0e67494b",
      "tree": "65347a5bc7318cbd149730df5370e35493ae864d",
      "parents": [
        "e3d0b28c5ec3bf7628a9707a6392cdb4adebabba"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Aug 25 10:48:39 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:35:57 2011 -0800"
      },
      "message": "nfsd4: permit read opens of executable-only files\n\ncommit a043226bc140a2c1dde162246d68a67e5043e6b2 upstream.\n\nA client that wants to execute a file must be able to read it.  Read\nopens over nfs are therefore implicitly allowed for executable files\neven when those files are not readable.\n\nNFSv2/v3 get this right by using a passed-in NFSD_MAY_OWNER_OVERRIDE on\nread requests, but NFSv4 has gotten this wrong ever since\ndc730e173785e29b297aa605786c94adaffe2544 \"nfsd4: fix owner-override on\nopen\", when we realized that the file owner shouldn\u0027t override\npermissions on non-reclaim NFSv4 opens.\n\nSo we can\u0027t use NFSD_MAY_OWNER_OVERRIDE to tell nfsd_permission to allow\nreads of executable files.\n\nSo, do the same thing we do whenever we encounter another weird NFS\npermission nit: define yet another NFSD_MAY_* flag.\n\nThe industry\u0027s future standardization on 128-bit processors will be\nmotivated primarily by the need for integers with enough bits for all\nthe NFSD_MAY_* flags.\n\nReported-by: Leonardo Borda \u003cleonardoborda@gmail.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e3d0b28c5ec3bf7628a9707a6392cdb4adebabba",
      "tree": "586c66fd2784754812217bedbcc665e2f6d3a2d4",
      "parents": [
        "80931f71f0e7c151aa260590c655d536c967af56"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Aug 10 19:16:22 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:35:57 2011 -0800"
      },
      "message": "nfsd4: fix seqid_mutating_error\n\ncommit 576163005de286bbd418fcb99cfd0971523a0c6d upstream.\n\nThe set of errors here does *not* agree with the set of errors specified\nin the rfc!\n\nWhile we\u0027re there, turn this macros into a function, for the usual\nreasons, and move it to the one place where it\u0027s actually used.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "80931f71f0e7c151aa260590c655d536c967af56",
      "tree": "e57ca89820e7aed6757d9fc02230ac3b47242e59",
      "parents": [
        "6176ebe5391aa20700f9348fa7f7aca1a559e78f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Aug 10 19:07:33 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:35:55 2011 -0800"
      },
      "message": "nfsd4: stop using nfserr_resource for transitory errors\n\ncommit 3e77246393c0a433247631a1f0e9ec98d3d78a1c upstream.\n\nThe server is returning nfserr_resource for both permanent errors and\nfor errors (like allocation failures) that might be resolved by retrying\nlater.  Save nfserr_resource for the former and use delay/jukebox for\nthe latter.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6176ebe5391aa20700f9348fa7f7aca1a559e78f",
      "tree": "9e50f1cb6d736fbed2e3ec5ac4fd2a548f96addd",
      "parents": [
        "60eb9e7d1a8aeec2d4371ec445e7fd4425d05017"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd.schubert@itwm.fraunhofer.de",
        "time": "Mon Aug 08 17:38:08 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:35:54 2011 -0800"
      },
      "message": "nfsd4: Remove check for a 32-bit cookie in nfsd4_readdir()\n\ncommit 832023bffb4b493f230be901f681020caf3ed1f8 upstream.\n\nFan Yong \u003cyong.fan@whamcloud.com\u003e noticed setting\nFMODE_32bithash wouldn\u0027t work with nfsd v4, as\nnfsd4_readdir() checks for 32 bit cookies. However, according to RFC 3530\ncookies have a 64 bit type and cookies are also defined as u64 in\n\u0027struct nfsd4_readdir\u0027. So remove the test for \u003e32-bit values.\n\nSigned-off-by: Bernd Schubert \u003cbernd.schubert@itwm.fraunhofer.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "60eb9e7d1a8aeec2d4371ec445e7fd4425d05017",
      "tree": "3a37a2b2bacd5bd83aca1652085b9b929d32fdc3",
      "parents": [
        "09bb52774e0543390bdba59b67ade093d34e4906"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Oct 12 10:57:42 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:35:54 2011 -0800"
      },
      "message": "nfs: don\u0027t try to migrate pages with active requests\n\ncommit 2da956523526e440ef4f4dd174e26f5ac06fe011 upstream.\n\nnfs_find_and_lock_request will take a reference to the nfs_page and\nwill then put it if the req is already locked. It\u0027s possible though\nthat the reference will be the last one. That put then can kick off\na whole series of reference puts:\n\nnfs_page\n   nfs_open_context\n      dentry\n          inode\n\nIf the inode ends up being deleted, then the VFS will call\ntruncate_inode_pages. That function will try to take the page lock, but\nit was already locked when migrate_page was called. The code\ndeadlocks.\n\nFix this by simply refusing the migration request if PagePrivate is\nalready set, indicating that the page is already associated with an\nactive read or write request.\n\nWe\u0027ve had a customer test a backported version of this patch and\nthe preliminary results seem good.\n\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nReported-by: Harshula Jayasuriya \u003charshula@redhat.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "363d0372b331c8ac8ef54c0bd81aadea43cfd74c",
      "tree": "9510666d624f9d143b7f2ce76a11025c2e858cf4",
      "parents": [
        "b04a57568d86586d704babc7584e5fff4343fc61"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Oct 11 09:49:21 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:35:50 2011 -0800"
      },
      "message": "nfs: don\u0027t redirty inode when ncommit \u003d\u003d 0 in nfs_commit_unstable_pages\n\ncommit 3236c3e1adc0c7ec83eaff1de2d06746b7c5bb28 upstream.\n\ncommit 420e3646 allowed the kernel to reduce the number of unnecessary\ncommit calls by skipping the commit when there are a large number of\noutstanding pages.\n\nHowever, the current test in nfs_commit_unstable_pages does not handle\nthe edge condition properly. When ncommit \u003d\u003d 0, then that means that the\nkernel doesn\u0027t need to do anything more for the inode. The current test\nthough in the WB_SYNC_NONE case will return true, and the inode will end\nup being marked dirty. Once that happens the inode will never be clean\nuntil there\u0027s a WB_SYNC_ALL flush.\n\nFix this by immediately returning from nfs_commit_unstable_pages when\nncommit \u003d\u003d 0.\n\nMike noticed this problem initially in RHEL5 (2.6.18-based kernel) which\nhas a backported version of 420e3646. The inode cache there was growing\nvery large. The inode cache was unable to be shrunk since the inodes\nwere all marked dirty. Calling sync() would essentially \"fix\" the\nproblem -- the WB_SYNC_ALL flush would result in the inodes all being\nmarked clean.\n\nWhat I\u0027m not clear on is how big a problem this is in mainline kernels\nas the writeback code there is very different. Either way, it seems\nincorrect to re-mark the inode dirty in this case.\n\nReported-by: Mike McLean \u003cmikem@redhat.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b04a57568d86586d704babc7584e5fff4343fc61",
      "tree": "87731a45f3bc4e34cf8e4689a8ed022e9d5f6697",
      "parents": [
        "3cdf240310b4f3d94981d727d3660c78a50a40c6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 17 18:22:55 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:35:49 2011 -0800"
      },
      "message": "Revert \"NFS: Ensure that writeback_single_inode() calls write_inode() when syncing\"\n\ncommit 59b7c05fffba030e5d9e72324691e2f99aa69b79 upstream.\n\nThis reverts commit b80c3cb628f0ebc241b02e38dd028969fb8026a2.\n\nThe reverted commit was rendered obsolete by a VFS fix: commit\n5547e8aac6f71505d621a612de2fca0dd988b439 (writeback: Update dirty flags in\ntwo steps). We now no longer need to worry about writeback_single_inode()\nmissing our marking the inode for COMMIT in \u0027do_writepages()\u0027 call.\n\nReverting this patch, fixes a performance regression in which the inode\nwould continuously get queued to the dirty list, causing the writeback\ncode to unnecessarily try to send a COMMIT.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nTested-by: Simon Kirby \u003csim@hostway.ca\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3dbbae24b399adc22957217d579d53ae363f090f",
      "tree": "7b4a498ddc39d037f4d1b9d052961ff6805f6ec0",
      "parents": [
        "2f3f49d0afbeb318b096f09fccaf8747251afccf"
      ],
      "author": {
        "name": "Nelson Elhage",
        "email": "nelhage@nelhage.com",
        "time": "Mon Oct 31 17:13:14 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:35:29 2011 -0800"
      },
      "message": "epoll: fix spurious lockdep warnings\n\ncommit d8805e633e054c816c47cb6e727c81f156d9253d upstream.\n\nepoll can acquire recursively acquire ep-\u003emtx on multiple \"struct\neventpoll\"s at once in the case where one epoll fd is monitoring another\nepoll fd.  This is perfectly OK, since we\u0027re careful about the lock\nordering, but it causes spurious lockdep warnings.  Annotate the recursion\nusing mutex_lock_nested, and add a comment explaining the nesting rules\nfor good measure.\n\nRecent versions of systemd are triggering this, and it can also be\ndemonstrated with the following trivial test program:\n\n--------------------8\u003c--------------------\n\nint main(void) {\n   int e1, e2;\n   struct epoll_event evt \u003d {\n       .events \u003d EPOLLIN\n   };\n\n   e1 \u003d epoll_create1(0);\n   e2 \u003d epoll_create1(0);\n   epoll_ctl(e1, EPOLL_CTL_ADD, e2, \u0026evt);\n   return 0;\n}\n--------------------8\u003c--------------------\n\nReported-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nTested-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: Nelson Elhage \u003cnelhage@nelhage.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    }
  ],
  "next": "e842a3e0d2bd01e0e32c0af4ef266f08b9b9ef75"
}
