Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1684950

Re: [patch] staging: speakup: safely close tty

From Okash Khawaja <okash.khawaja@gmail.com>
Newsgroups linux.kernel
Subject Re: [patch] staging: speakup: safely close tty
Date 2017-07-11 12:40 +0200
Message-ID <u20Ke-15l-21@gated-at.bofh.it> (permalink)
References <u0GXg-8nH-3@gated-at.bofh.it> <u1Fw5-4xw-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi,

On Mon, Jul 10, 2017 at 12:55:44PM +0100, Alan Cox wrote:
> On Fri, 7 Jul 2017 20:13:01 +0100
> Okash Khawaja <okash.khawaja@gmail.com> wrote:
> 
> > Speakup opens tty using tty_open_by_driver. When closing, it calls
> > tty_ldisc_release but doesn't close and remove the tty itself. As a
> > result, that tty cannot then be opened from user space. This patch calls
> > tty_release_struct which ensures that tty is safely removed and freed
> > up. It also calls tty_ldisc_release, so speakup doesn't need to call it.
> > 
> > This patch also unregisters N_SPEAKUP. It is registered when a speakup
> > module is loaded.
> 
> What happens if after you register it someone assigns that ldisc to
> another tty as well ?
> 
> You should register the ldisc when the relevant module is initialized and
> release it only when the module is unloaded. That way the module ref
> counts will handle cases where someone uses the ldisc with something else.
Sorry if I misunderstood it. That's what we do here.
spk_ttyio_initialise_ldisc is called separately for each module (e.g.
speakup_apollo, speakup_ltlk etc) when it is loaded. spk_ttyio_release
is also called separately for each module when it is unloaded. The ldisc
stays around until the last of the modules is unloaded.

> 
> I'd also btw strongly recommend putting the ldisc and the speakup tty
> driver as different modules.
Sure, that makes sense. I will do that following these patches.

Thanks,
Okash

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

[patch] staging: speakup: safely close tty Okash Khawaja <okash.khawaja@gmail.com> - 2017-07-07 21:20 +0200
  Re: [patch] staging: speakup: safely close tty Alan Cox <gnomes@lxorguk.ukuu.org.uk> - 2017-07-10 14:00 +0200
    Re: [patch] staging: speakup: safely close tty Okash Khawaja <okash.khawaja@gmail.com> - 2017-07-11 12:40 +0200
      Re: [patch] staging: speakup: safely close tty Alan Cox <gnomes@lxorguk.ukuu.org.uk> - 2017-07-12 20:30 +0200
        Re: [patch] staging: speakup: safely close tty Okash Khawaja <okash.khawaja@gmail.com> - 2017-07-13 13:30 +0200
        [patch v2 0/1] staging: speakup: safely close tty Okash Khawaja <okash.khawaja@gmail.com> - 2017-07-16 11:40 +0200
          [patch v2 1/1] staging: speakup: safely close tty Okash Khawaja <okash.khawaja@gmail.com> - 2017-07-16 11:40 +0200

csiph-web