lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220215160208.34826-1-danilokrummrich@dk-develop.de>
Date:   Tue, 15 Feb 2022 17:02:04 +0100
From:   Danilo Krummrich <danilokrummrich@...develop.de>
To:     dmitry.torokhov@...il.com, linux-input@...r.kernel.org,
        linux-kernel@...r.kernel.org
Cc:     linus.walleij@...aro.org
Subject: ps2-gpio: use ktime for IRQ timekeeping

Changes since v1
================
  - add patch to refactor struct ps2_gpio_data for clear separation between
    RX and TX
  - make all variables for IRQ timekeeping per-port and initialize them in
    ps2_gpio_open()

This patch series implements the usage of ktime for IRQ timekeeping to
overcome:

(1) The resolution limitations of jiffies.
(2) Potential spurious IRQs generated by gpio controllers.

Besides that, based on the newly implemented timekeeping, it fixes a wrongly
suspected extra clock cycle for TX transfers and a race condition when
starting an immediate TX transfer based on data received from an RX transfer.

Danilo Krummrich (4):
      input: ps2-gpio: refactor struct ps2_gpio_data
      input: ps2-gpio: use ktime for IRQ timekeeping
      input: ps2-gpio: remove tx timeout from ps2_gpio_irq_tx()
      input: ps2-gpio: don't send rx data before the stop bit

 drivers/input/serio/ps2-gpio.c | 180 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------
 1 file changed, 116 insertions(+), 64 deletions(-)


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ