From 506ada89629ec7059b96ecfb0dc7d33ece0103ca Mon Sep 17 00:00:00 2001 From: Eduard Zingerman Date: Fri, 4 Sep 2026 17:05:56 -0700 Subject: bpf: mark a NULL kfunc argument precise check_kfunc_arg() allows bpf_register_is_null() for nullable arguments w/o marking the underlying scalar register precise. Hence a checkpoint created on such a path would prune against arbitrary scalar value. Fixes: 3bda08b63670 ("bpf: Allow NULL buffers in bpf_dynptr_slice(_rw)") Signed-off-by: Eduard Zingerman Link: https://lore.kernel.org/r/20260904-register-is-null-precise-fixes-v1-5-0f5a360ff15d@gmail.com Signed-off-by: Alexei Starovoitov --- drivers/accessibility/speakup/serialio.h | 40 ++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 drivers/accessibility/speakup/serialio.h (limited to 'drivers/accessibility/speakup/serialio.h') diff --git a/drivers/accessibility/speakup/serialio.h b/drivers/accessibility/speakup/serialio.h new file mode 100644 index 000000000..b4f9a1925 --- /dev/null +++ b/drivers/accessibility/speakup/serialio.h @@ -0,0 +1,40 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _SPEAKUP_SERIAL_H +#define _SPEAKUP_SERIAL_H + +#include /* for rs_table, serial constants */ +#include /* for more serial constants */ +#include + +#include "spk_priv.h" + +/* + * this is cut&paste from 8250.h. Get rid of the structure, the definitions + * and this whole broken driver. + */ +struct old_serial_port { + unsigned int uart; /* unused */ + unsigned int baud_base; + unsigned int port; + unsigned int irq; + upf_t flags; /* unused */ +}; + +/* countdown values for serial timeouts in us */ +#define SPK_SERIAL_TIMEOUT SPK_SYNTH_TIMEOUT +/* countdown values transmitter/dsr timeouts in us */ +#define SPK_XMITR_TIMEOUT 100000 +/* countdown values cts timeouts in us */ +#define SPK_CTS_TIMEOUT 100000 +/* check ttyS0 ... ttyS3 */ +#define SPK_LO_TTY 0 +#define SPK_HI_TTY 3 +/* # of timeouts permitted before disable */ +#define NUM_DISABLE_TIMEOUTS 3 +/* buffer timeout in ms */ +#define SPK_TIMEOUT 100 + +#define spk_serial_tx_busy() \ + (!uart_lsr_tx_empty(inb(speakup_info.port_tts + UART_LSR))) + +#endif -- cgit v1.3.1