All of lore.kernel.org
 help / color / mirror / Atom feed
From: George Spelvin <linux@horizon.com>
To: linux-serial@vger.kernel.org, peter@hurleysoftware.com,
	gregkh@linuxfoundation.org
Cc: linux-kernel@vger.kernel.org, giometti@linux.it, linux@horizon.com
Subject: [PATCH v2 0/9] 3.8-rc regression with pps-ldisc due to 70ece7a731
Date: Tue, 12 Feb 2013 08:56:07 -0500	[thread overview]
Message-ID: <cover.1360677367.git.linux@horizon.com> (raw)

The standard N_TTY line discipline used to not use the tty->disc_data
field, so N_PPS felt free to use it.  That has now changed, requiring
that N_PPS use a different method to find its private data.

(In the current, buggy, state, N_PPS follows a wild pointer and explodes
in an interrupt hander as soon as a pulse actually arrives.)

Compared to v1, this has been rearranges to the first three patches are
the minimial bugfixes:

* 1/9 "Add pps_lookup_dev() function"
  This adds the infrastructure necessary to bypass disc_data use.

* 2/9 "Use pps_lookup_dev to reduce ldisc coupling"
  This actually fixes the bug.

* 3/9 "Fix a use-after free bug when unregistering a source."
  This is actually an old bug, present before 3.7.  I'd like to solicit
  feedback from folks who know device drivers better to ask if I did
  things right.  I'd also appreciate a look at patch 8/9 which is a more
  aggressive cleanup of the same bug.

The remaining ones are various cleanups enabled or inspired by the
above.

* 4/9 "Don't crash the machine when exiting will do"
  This downgrades some BUG() checks do future bugs will be less deadly.
* 5/9 "Move timestamp read into PPS code proper"
  This changes the internal kernel DCD change interface to capture the
  timestamp inside the called function, cleaning up the generic tty code.
* 6/9 "Additional cleanups in uart_handle_dcd_change"
  Just a slight code reorganization to shrink the source.
* 7/9 "Remove ancient hardpps()"
  Eliminate dead code.
* 8/9 "Use a single cdev"
  This is a more ambitious overhaul of the cdev business that patch
  #3 fixes.
* 9/9 "use test_and_clear_bit in tty_ldisc_close"
  Just a two-liner I noticed while working on the above.

George Spelvin (8):
  pps: Add pps_lookup_dev() function
  pps: Use pps_lookup_dev to reduce ldisc coupling
  pps: Fix a use-after free bug when unregistering a source.
  pps: Additional cleanups in uart_handle_dcd_change
  pps: Use a single cdev
  tty/tty_ldisc.c: use test_and_clear_bit in tty_ldisc_close

Peter Hurley (1):
  pps: Move timestamp read into PPS code proper
  pps: Don't crash the machine when exiting will do
  tty: Remove ancient hardpps()

 drivers/pps/clients/pps-ldisc.c     |  30 +++++++----
 drivers/pps/pps.c                   | 103 +++++++++++++++++++++++++-----------
 drivers/staging/speakup/selection.c |   1 +
 drivers/tty/amiserial.c             |   5 --
 drivers/tty/n_tty.c                 |   3 +-
 drivers/tty/serial/serial_core.c    |  24 +++------
 drivers/tty/tty_buffer.c            |   1 +
 drivers/tty/tty_ldisc.c             |   3 +-
 include/linux/pps_kernel.h          |  18 +++++--
 include/linux/serial_core.h         |   1 -
 include/linux/tty_ldisc.h           |  11 ++--
 11 files changed, 122 insertions(+), 78 deletions(-)

-- 
1.8.1.3

             reply	other threads:[~2013-02-12 13:56 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-12 13:56 George Spelvin [this message]
2013-02-06 15:55 ` [PATCH v2 7/9] tty: Remove ancient hardpps() Peter Hurley
2013-02-08  6:50 ` [PATCH v2 9/9] tty/tty_ldisc.c: use test_and_clear_bit in tty_ldisc_close George Spelvin
2013-02-10  9:08 ` [PATCH v2 1/9] pps: Add pps_lookup_dev() function George Spelvin
2013-02-10  9:41 ` [PATCH v2 2/9] pps: Use pps_lookup_dev to reduce ldisc coupling George Spelvin
2013-02-10  9:43 ` [PATCH v2 4/9] pps: Don't crash the machine when exiting will do George Spelvin
2013-02-10  9:44 ` [PATCH v2 6/9] pps: Additional cleanups in uart_handle_dcd_change George Spelvin
2013-02-12  7:00 ` [PATCH v2 5/9] pps: Move timestamp read into PPS code proper George Spelvin
2013-02-13 18:16   ` Greg KH
2013-02-12  7:02 ` [PATCH v2 8/9] pps: Use a single cdev George Spelvin
2013-02-13 18:20   ` Greg KH
2013-02-13 18:35     ` George Spelvin
2013-02-13 18:47       ` Greg KH
2013-02-21  1:35   ` Peter Hurley
2013-02-12  7:27 ` [PATCH v2 3/9] pps: Fix a use-after free bug when unregistering a source George Spelvin
2013-02-13 16:45 ` [PATCH v2 0/9] 3.8-rc regression with pps-ldisc due to 70ece7a731 Greg KH
2013-02-13 17:11   ` Rodolfo Giometti
2013-02-13 17:11     ` Rodolfo Giometti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1360677367.git.linux@horizon.com \
    --to=linux@horizon.com \
    --cc=giometti@linux.it \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=peter@hurleysoftware.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.