1. 17 Nov, 2011 3 commits
    • Jiri Slaby's avatar
      TTY: ldisc, wait for ldisc infinitely in hangup · 0c73c08e
      Jiri Slaby authored
      For /dev/console case, we do not kill all ldisc users. It's due to
      redirected_tty_write test in __tty_hangup. In that case there still
      might be a process waiting e.g. in n_tty_read for input.
      
      We wait for such processes to disappear. The problem is that we use a
      timeout. After this timeout, we continue closing the ldisc and start
      freeing tty resources. It obviously leads to crashes when the other
      process is woken.
      
      So to fix this, we wait infinitely before reiniting the ldisc. (The
      tiocsetd remains untouched -- times out after 5s.)
      
      This is nicely reproducible with this run from shell:
        exec 0<>/dev/console 1<>/dev/console 2<>/dev/console
      and stopping a getty like:
        systemctl stop serial-getty@ttyS0.service
      
      The crash proper may be produced only under load or with constified
      timing the same as for 92f6fa09.
      Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
      Cc: Dave Young <hidave.darkstar@gmail.com>
      Cc: Dave Jones <davej@redhat.com>
      Cc: Ben Hutchings <ben@decadent.org.uk>
      Cc: Dmitriy Matrosov <sgf.dma@gmail.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      0c73c08e
    • Jiri Slaby's avatar
      TTY: ldisc, move wait idle to caller · 30042072
      Jiri Slaby authored
      It is the only place where reinit is called from. And we really need
      to wait for the old ldisc to go once. Actually this is the place where
      the waiting originally was (before removed and re-added later).
      
      This will make the fix in the following patch easier to implement.
      Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
      Cc: Dave Young <hidave.darkstar@gmail.com>
      Cc: Dave Jones <davej@redhat.com>
      Cc: Ben Hutchings <ben@decadent.org.uk>
      Cc: Dmitriy Matrosov <sgf.dma@gmail.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      30042072
    • Jiri Slaby's avatar
      TTY: ldisc, allow waiting for ldisc arbitrarily long · df92d056
      Jiri Slaby authored
      To fix a nasty bug in ldisc hup vs. reinit we need to wait infinitely
      long for ldisc to be gone. So here we add a parameter to
      tty_ldisc_wait_idle to allow that.
      
      This is only a preparation for the real fix which is done in the
      following patches.
      Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
      Cc: Dave Young <hidave.darkstar@gmail.com>
      Cc: Dave Jones <davej@redhat.com>
      Cc: Ben Hutchings <ben@decadent.org.uk>
      Cc: Dmitriy Matrosov <sgf.dma@gmail.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      df92d056
  2. 16 Nov, 2011 1 commit
  3. 15 Nov, 2011 9 commits
  4. 08 Nov, 2011 2 commits
    • Linus Torvalds's avatar
      Linux 3.2-rc1 · 1ea6b8f4
      Linus Torvalds authored
      .. with new name.  Because nothing says "really solid kernel release"
      like naming it after an extinct animal that just happened to be in the
      news lately.
      1ea6b8f4
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap · 075cb105
      Linus Torvalds authored
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (31 commits)
        ARM: OMAP: Fix export.h or module.h includes
        ARM: OMAP: omap_device: Include linux/export.h
        ARM: OMAP2: Fix H4 matrix keyboard warning
        ARM: OMAP1: Remove unused omap-alsa.h
        ARM: OMAP1: Fix warnings about enabling 32 KiHz timer
        ARM: OMAP2+: timer: Remove omap_device_pm_latency
        ARM: OMAP2+: clock data: Remove redundant timer clkdev
        ARM: OMAP: Devkit8000: Remove double omap_mux_init_gpio
        ARM: OMAP: usb: musb: OMAP: Delete unused function
        MAINTAINERS: Update linux-omap git repository
        ARM: OMAP: change get_context_loss_count ret value to int
        ARM: OMAP4: hsmmc: configure SDMMC1_DR0 properly
        ARM: OMAP4: hsmmc: Fix Pbias configuration on regulator OFF
        ARM: OMAP3: hwmod: fix variant registration and remove SmartReflex from common list
        ARM: OMAP: I2C: Fix omap_register_i2c_bus() return value on success
        ARM: OMAP: dmtimer: Include linux/module.h
        ARM: OMAP2+: l3-noc: Include linux/module.h
        ARM: OMAP2+: devices: Fixes for McPDM
        ARM: OMAP: Fix errors and warnings when building for one board
        ARM: OMAP3: PM: restrict erratum i443 handling to OMAP3430 only
        ...
      075cb105
  5. 07 Nov, 2011 25 commits