)]}'
{
  "commit": "6ab8fba7fcb012a42d686abd33555b2215071415",
  "tree": "e30be9d556f7179ad606cb473e9003c9dea7b4a2",
  "parents": [
    "bcd5abe28f40cc6a935d3339cde27976f6be3f1a"
  ],
  "author": {
    "name": "Russ Gorby",
    "email": "russ.gorby@intel.com",
    "time": "Thu Jun 16 14:20:13 2011 -0700"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@suse.de",
    "time": "Fri Jul 01 15:34:50 2011 -0700"
  },
  "message": "tty: n_gsm: Added refcount usage to gsm_mux and gsm_dlci structs\n\nThe gsm_mux is created/destroyed when ldisc is\nopened/closed but clients of the MUX channel devices (gsmttyN)\nmay access this structure as long as the TTYs are open.\nFor the open, the ldisc open is guaranteed to preceed the TTY open,\nbut the close has no such guaranteed ordering. As a result,\nthe gsm_mux can be freed in the ldisc close before being accessed\nby one of the TTY clients. This can happen if the ldisc is removed\nwhile there are open, active MUX channels.\nA similar situation exists for DLCI-0, it is basically a resource\nshared by MUX and DLCI  , and should not be freed while they can\nbe accessed\n\nTo avoid this, gsm_mux and dlcis now have a reference counter\nldisc open takes a reference on the mux and all the dlcis\ngsmtty_open takes a reference on the mux, dlci0 and its specific\ndlci. Dropping the last reference initiates the actual free.\n\nSigned-off-by: Russ Gorby \u003cruss.gorby@intel.com\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9a13e510daea07c7cd168ebd7e03bf30bba4ae7c",
      "old_mode": 33188,
      "old_path": "drivers/tty/n_gsm.c",
      "new_id": "a38114b01fea7dc08dfd729c7c65f7985bcb9e09",
      "new_mode": 33188,
      "new_path": "drivers/tty/n_gsm.c"
    }
  ]
}
