From nobody Mon Jun 8 07:26:14 2026 Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 49F272E92B3 for ; Sun, 31 May 2026 23:08:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.77.166.138 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268896; cv=none; b=V7FA/EZc9fvQdRJesznH5iim6hYTGc6dj0r/pirfWFEcV30yBQ6lRquIcYX1GcpVtPp3t/z6Pla9b4aK/xC/6hCAgV4dCBItUXf3Ajv7vUnvmMBNt0Xu/TlDGRCOyd1pmBdUJ7JmEpQPYvxu10g71D2U1CxcLegjpZkTVhrdv8g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268896; c=relaxed/simple; bh=2rkTuXG6kCDVDdthQLcVXebPPbg96aJuGGt2hK3sf9I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ExX4nMxPh7tASa680J0TlonpV2F7Oc9PXCJUw7hDdQHSQSLBZLGiiTha5UidcirWfB3i6qYR6p41h9Hi9y1aqHvobsFBIlEerj3b7bonl50YXktEiGomHMAy/1+0WoehfotLBnU08tq21JQiT+rhsKCAEZ2mV26bJxdo720DuZA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org; arc=none smtp.client-ip=140.77.166.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id CE086A48C8; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from sonata.ens-lyon.org ([127.0.0.1]) by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3-JnPaRpiGLQ; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from end (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr [83.192.199.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by sonata.ens-lyon.org (Postfix) with ESMTPSA id 1529AA0403; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from samy by end with local (Exim 4.99.3) (envelope-from ) id 1wTpGH-000000014KT-28q7; Mon, 01 Jun 2026 01:08:05 +0200 From: Samuel Thibault To: gregkh@linuxfoundation.org Cc: Li zeming , linux-kernel@vger.kernel.org, w.d.hubbs@gmail.com, kirk@reisers.ca, Samuel Thibault Subject: [PATCH 01/15] accessibility/speakup/speakup_acnt: Add header file macro definition Date: Mon, 1 Jun 2026 01:07:50 +0200 Message-ID: <20260531230804.254962-2-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> References: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Li zeming I think the header file could avoid redefinition errors. at compile time by adding macro definitions. Signed-off-by: Li zeming Signed-off-by: Samuel Thibault --- drivers/accessibility/speakup/speakup_acnt.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/accessibility/speakup/speakup_acnt.h b/drivers/accessi= bility/speakup/speakup_acnt.h index cffa938ae580..cea05d770f6d 100644 --- a/drivers/accessibility/speakup/speakup_acnt.h +++ b/drivers/accessibility/speakup/speakup_acnt.h @@ -1,5 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0 */ /* speakup_acntpc.h - header file for speakups Accent-PC driver. */ +#ifndef _SPEAKUP_ACNT_H +#define _SPEAKUP_ACNT_H =20 #define SYNTH_IO_EXTENT 0x02 =20 @@ -17,3 +19,4 @@ #define SYNTH_FULL 'F' /* synth is full. */ #define SYNTH_ALMOST_EMPTY 'M' /* synth has less than 2 seconds of text le= ft */ #define SYNTH_SPEAKING 's' /* synth is speaking and has a fare way to go */ +#endif --=20 2.47.3 From nobody Mon Jun 8 07:26:14 2026 Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DFB9F35E1B1 for ; Sun, 31 May 2026 23:14:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.77.166.138 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780269251; cv=none; b=LOYuEdP6JicacMeP0zpEwvAy9+eCKPYL+8CiVpl80gluCQG1Btz5eh3LhcnBs8veZqa+ohsHqOZG7OoZimLz/T5a9vxS90qTDJdDme6ZKQkLMpT8mUZdqGfRbiQBxqibyEDENu3Wgwt8zxzUHy1/svi5DN/6Z0QT0HPf/qacP/Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780269251; c=relaxed/simple; bh=RG/vhdvgLhb4p+n77LAKD056OT7uqDPD2Zy4dWoRgfA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tLVKjewR36nAVpp7iEDWjQ+IU0kXC6mAijr7XX9/iRoOXnbZa7/fwVpzvwSAG7sNj0zdPMTe5/D1RlUb6KAaRIav0YaUeG34Mt6kRd1MpqG5ZAZQaMdPg6X9YmcqsGv9oDHENho+I9i17zpad3cRhSl1nJIZk+viCIsIi/B2EeE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org; arc=none smtp.client-ip=140.77.166.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id A6D83A4938; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from sonata.ens-lyon.org ([127.0.0.1]) by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WL38Fw_ZeQqR; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from end (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr [83.192.199.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by sonata.ens-lyon.org (Postfix) with ESMTPSA id 33077A1A5E; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from samy by end with local (Exim 4.99.3) (envelope-from ) id 1wTpGH-000000014KW-2FBn; Mon, 01 Jun 2026 01:08:05 +0200 From: Samuel Thibault To: gregkh@linuxfoundation.org Cc: Li zeming , linux-kernel@vger.kernel.org, w.d.hubbs@gmail.com, kirk@reisers.ca, Samuel Thibault Subject: [PATCH 02/15] accessibility/speakup/speakup_dtlk: Add header file macro definition Date: Mon, 1 Jun 2026 01:07:51 +0200 Message-ID: <20260531230804.254962-3-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> References: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Li zeming Add header file macro definition. Signed-off-by: Li zeming Signed-off-by: Samuel Thibault --- drivers/accessibility/speakup/speakup_dtlk.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/accessibility/speakup/speakup_dtlk.h b/drivers/accessi= bility/speakup/speakup_dtlk.h index 9c378b58066e..101848edec2e 100644 --- a/drivers/accessibility/speakup/speakup_dtlk.h +++ b/drivers/accessibility/speakup/speakup_dtlk.h @@ -1,5 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0 */ /* speakup_dtlk.h - header file for speakups DoubleTalk driver. */ +#ifndef _SPEAKUP_DTLK_H +#define _SPEAKUP_DTLK_H =20 #define SYNTH_IO_EXTENT 0x02 #define SYNTH_CLEAR 0x18 /* stops speech */ @@ -61,3 +63,4 @@ struct synth_settings { */ u_char has_indexing; /* nonzero if indexing is implemented */ }; +#endif --=20 2.47.3 From nobody Mon Jun 8 07:26:14 2026 Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BE14E32B122 for ; Sun, 31 May 2026 23:08:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.77.166.138 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268897; cv=none; b=DEepeGKqHZnP68+bIDh1nh9JOdeQoEKlCyF+n6Wm6SAiDZYWaiZoYKxa/cC0pagLfF4VcVJDvj5UZmGBsPxGwS6LpXcgY0w9klkscgRfm+7mJI1zs+6/RWYz3hehjgGq54v086mTTpn2ueTMDo360ekdu9CMre0jFPgi6cGuCYE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268897; c=relaxed/simple; bh=fjbXGM07Mu0ntR1txFZFgJg+KtYGCKT5jxCEHthYD5M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CDVplWsQrw22LDY1x7Zf9MYKBGOs0thRU9wKky0A2FCtfGdhhobpVFH+R5ZsCJwtUxYab4Zb0B9QNxYnZ8NKY6hVsl4+h8jKMOgQN2Np2omCK59USIMmliGZ42tWFzDwyiKllku5FaWVbAOYyttJRePoZ8ztX4Ra7acUHW92O5o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org; arc=none smtp.client-ip=140.77.166.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id 77086A494E; Mon, 1 Jun 2026 01:08:07 +0200 (CEST) Received: from sonata.ens-lyon.org ([127.0.0.1]) by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yYGgZwQIwdiF; Mon, 1 Jun 2026 01:08:07 +0200 (CEST) Received: from end (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr [83.192.199.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by sonata.ens-lyon.org (Postfix) with ESMTPSA id 3C72BA4922; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from samy by end with local (Exim 4.99.3) (envelope-from ) id 1wTpGH-000000014KZ-2LdP; Mon, 01 Jun 2026 01:08:05 +0200 From: Samuel Thibault To: gregkh@linuxfoundation.org Cc: Xu Panda , linux-kernel@vger.kernel.org, w.d.hubbs@gmail.com, kirk@reisers.ca, Zeal Robot , Samuel Thibault Subject: [PATCH 03/15] speakup/utils: use "!P" instead of "P == 0" Date: Mon, 1 Jun 2026 01:07:52 +0200 Message-ID: <20260531230804.254962-4-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> References: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Xu Panda comparing pointer to 0, use !P instead of it. Reported-by: Zeal Robot Signed-off-by: Xu Panda Signed-off-by: Samuel Thibault --- drivers/accessibility/speakup/utils.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/accessibility/speakup/utils.h b/drivers/accessibility/= speakup/utils.h index 4ce9a12f7664..db00c962f8e2 100644 --- a/drivers/accessibility/speakup/utils.h +++ b/drivers/accessibility/speakup/utils.h @@ -36,7 +36,7 @@ static inline void open_input(const char *dir_name, const= char *name) else snprintf(filename, sizeof(filename), "%s", name); infile =3D fopen(filename, "r"); - if (infile =3D=3D 0) { + if (!infile) { fprintf(stderr, "can't open %s\n", filename); exit(1); } --=20 2.47.3 From nobody Mon Jun 8 07:26:14 2026 Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D0E30345741 for ; Sun, 31 May 2026 23:14:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.77.166.138 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780269252; cv=none; b=sVlL/14ZJYhaAG8gOHyru/kQn/mKfoU5/md9NejmgcJDJ9USr36pAeFH67/dhLYM4KsQ2cEa29urSiCXRcU1ACC6rXuFbhjaCa/rFH9hKpA92WU7bOQWOds8bOz7tX2QotZbA+C5lzS9CoRbH7M73XovqTv7VXUxk1rJEm/afEM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780269252; c=relaxed/simple; bh=x5+ZdE8U652jca3a3VS/Sr7nigveGE1zAL9ozMKKNRE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qrPw+p4Q00fGgKKISDP+xnvzhwlrM59G5QLPTjlJbPOQtAq0mUBZhcgbsn6chpFefui5sZSzMv0hJiQlFxhMkhK34EUtHkWRBLclS41FSNn2EKjhABifS3CWJOAMrlm4u7R4ODt3LHVmTtJ8/Rzzb7sHMhPzcvcWOQuvbsfmMyo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org; arc=none smtp.client-ip=140.77.166.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id 7E2EFA73DD; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from sonata.ens-lyon.org ([127.0.0.1]) by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id j7C03nYNEnXP; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from end (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr [83.192.199.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by sonata.ens-lyon.org (Postfix) with ESMTPSA id 43C04A4938; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from samy by end with local (Exim 4.99.3) (envelope-from ) id 1wTpGH-000000014Kc-2QuN; Mon, 01 Jun 2026 01:08:05 +0200 From: Samuel Thibault To: gregkh@linuxfoundation.org Cc: Christophe JAILLET , linux-kernel@vger.kernel.org, w.d.hubbs@gmail.com, kirk@reisers.ca, Samuel Thibault Subject: [PATCH 04/15] accessibility: speakup: Fix incorrect string length computation in report_char_chartab_status() Date: Mon, 1 Jun 2026 01:07:53 +0200 Message-ID: <20260531230804.254962-5-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> References: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Christophe JAILLET snprintf() returns the "number of characters which *would* be generated for the given input", not the size *really* generated. In order to avoid too large values for 'len' (and potential negative values for "sizeof(buf) - (len - 1)") use scnprintf() instead of snprintf(). Fixes: c6e3fd22cd53 ("Staging: add speakup to the staging directory") Signed-off-by: Christophe JAILLET Signed-off-by: Samuel Thibault --- drivers/accessibility/speakup/kobjects.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/accessibility/speakup/kobjects.c b/drivers/accessibili= ty/speakup/kobjects.c index 0dfdb6608e02..943ef71b1329 100644 --- a/drivers/accessibility/speakup/kobjects.c +++ b/drivers/accessibility/speakup/kobjects.c @@ -92,9 +92,9 @@ static void report_char_chartab_status(int reset, int rec= eived, int used, if (reset) { pr_info("%s reset to defaults\n", object_type[do_characters]); } else if (received) { - len =3D snprintf(buf, sizeof(buf), - " updated %d of %d %s\n", - used, received, object_type[do_characters]); + len =3D scnprintf(buf, sizeof(buf), + " updated %d of %d %s\n", + used, received, object_type[do_characters]); if (rejected) snprintf(buf + (len - 1), sizeof(buf) - (len - 1), " with %d reject%s\n", --=20 2.47.3 From nobody Mon Jun 8 07:26:14 2026 Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 23B623624C8 for ; Sun, 31 May 2026 23:08:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.77.166.138 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268899; cv=none; b=M8fewI2MYxb96SXyxzY+hPcb+VZl2Wx9dI0Z0dy9ybGXrFvjumPk5cXwAygG6sKuT9dZfX3lDTpJyxr4Fixi50icl2RrPg9lBwVFxctFn2hUzIJT9Z+DeQrNx8Zb4xoihNiKbpeH85FPFga3Y7v+JO56tnUWhpZ4tkbouNQEdFA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268899; c=relaxed/simple; bh=5/tbNsuH/janhwjJcJl7qeljJe4wNsVEvD1LzLE90+4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Jl4zCrElMNHcWjw/2nPlmZPfkAFzSzJ2lNpnclKs0RTTNTZlWG8vZTIAeoO3g7F/xcxlVKb7KkwCH6Y6VqaFGACZpwZq0cjn9asUX0jXk7jYeCioiN7Qg9CsPE4w9+ibiAr9i/PxuGmu4KGDfMoX/5DY95XmPk/mTc95UGOjouY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org; arc=none smtp.client-ip=140.77.166.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id AC321A4924; Mon, 1 Jun 2026 01:08:07 +0200 (CEST) Received: from sonata.ens-lyon.org ([127.0.0.1]) by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ytn78i_B9s6s; Mon, 1 Jun 2026 01:08:07 +0200 (CEST) Received: from end (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr [83.192.199.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by sonata.ens-lyon.org (Postfix) with ESMTPSA id 224B5A0406; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from samy by end with local (Exim 4.99.3) (envelope-from ) id 1wTpGH-000000014Kf-2UDY; Mon, 01 Jun 2026 01:08:05 +0200 From: Samuel Thibault To: gregkh@linuxfoundation.org Cc: bajing , linux-kernel@vger.kernel.org, w.d.hubbs@gmail.com, kirk@reisers.ca, Samuel Thibault Subject: [PATCH 05/15] speakup: genmap: remove redundant post-increment Date: Mon, 1 Jun 2026 01:07:54 +0200 Message-ID: <20260531230804.254962-6-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> References: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bajing In the while loop, the variable lc is unused and is reinitialized later, so= this redundant operation should be removed. Signed-off-by: bajing Signed-off-by: Samuel Thibault --- drivers/accessibility/speakup/genmap.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/accessibility/speakup/genmap.c b/drivers/accessibility= /speakup/genmap.c index 0882bab10fb8..8a5125db471e 100644 --- a/drivers/accessibility/speakup/genmap.c +++ b/drivers/accessibility/speakup/genmap.c @@ -71,7 +71,6 @@ main(int argc, char *argv[]) =20 open_input(NULL, argv[1]); while (fgets(buffer, sizeof(buffer), infile)) { - lc++; value =3D shift_state =3D 0; =20 cp =3D strtok(buffer, delims); --=20 2.47.3 From nobody Mon Jun 8 07:26:14 2026 Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C0F9B35C1A6 for ; Sun, 31 May 2026 23:08:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.77.166.138 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268897; cv=none; b=qvnhslwqxcZsah6cMG7qwyeJywlPxX6DmoDN+ZrWNod4R4KSGXTCQ4vzu+hEHvZTbFsEOOo8K8uF2EhiKNrbeLfS1RjLeuzJJxFO2pch8yOnWA/WYM+QSmvxR0kDgXWkHF9Znig1tFerhLkCR6hAH0KGZLzQaM5m17/Y6d0yPYE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268897; c=relaxed/simple; bh=0Nw6FzQwGJFgLMCg3PVV8ddv8RXsCp6WbTdfUkxyFQQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kdH24/rzdpP96L8iJZKmCVzDNUZ6OngIMJKGgrSso0kiizwY0LBQvlgENz4JeFbZSHex0CggKNLy4RUKiLixbwEC/ntNxKfah0rtN0JXSkw0KatVeyInRHFpNx1fnQZ0qd4XdEbu3yRvWtO2HIvHK9oRa00if08I0VoNTYTc0e0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org; arc=none smtp.client-ip=140.77.166.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id 98E4CA73D6; Mon, 1 Jun 2026 01:08:07 +0200 (CEST) Received: from sonata.ens-lyon.org ([127.0.0.1]) by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CXqdUO-kARNJ; Mon, 1 Jun 2026 01:08:07 +0200 (CEST) Received: from end (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr [83.192.199.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by sonata.ens-lyon.org (Postfix) with ESMTPSA id 407BFA4924; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from samy by end with local (Exim 4.99.3) (envelope-from ) id 1wTpGH-000000014Ki-2WoA; Mon, 01 Jun 2026 01:08:05 +0200 From: Samuel Thibault To: gregkh@linuxfoundation.org Cc: liujing , linux-kernel@vger.kernel.org, w.d.hubbs@gmail.com, kirk@reisers.ca, Samuel Thibault Subject: [PATCH 06/15] speakup: Fix the wrong format specifier Date: Mon, 1 Jun 2026 01:07:55 +0200 Message-ID: <20260531230804.254962-7-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> References: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: liujing Make a minor change to eliminate a static checker warning. The type of '(unsigned int)kp[i]' is unsigned int, so the correct format specifier s= hould be %u instead of %d. Signed-off-by: liujing Signed-off-by: Samuel Thibault --- drivers/accessibility/speakup/genmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/accessibility/speakup/genmap.c b/drivers/accessibility= /speakup/genmap.c index 8a5125db471e..a9e308bdd0be 100644 --- a/drivers/accessibility/speakup/genmap.c +++ b/drivers/accessibility/speakup/genmap.c @@ -152,7 +152,7 @@ main(int argc, char *argv[]) continue; printf("\n\t%d,", lc); for (i =3D 0; i < max_states; i++) - printf(" %d,", (unsigned int)kp[i]); + printf(" %u,", (unsigned int)kp[i]); } printf("\n\t0, %d\n", map_ver); =20 --=20 2.47.3 From nobody Mon Jun 8 07:26:14 2026 Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D6A3835CB87 for ; Sun, 31 May 2026 23:14:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.77.166.138 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780269253; cv=none; b=sVHB0sNL5Petu0hzLdKC2QI6DTSTKIaWerbahmCtsEuMjBj1R7jrXwJqruBALwNOy3/6dBgWiXSnkpYtDlmZJi8Tof8NOddz9u/QIC5TNHowMXdZhv2NhRtTrtPVkiUTe3HJtE4a52KoDAdBtJsTwIzXCknhlHM4EthhMiz04Gk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780269253; c=relaxed/simple; bh=upQ9XcVQiSkji0ChaX6hBCA3PvMEmeHVa/iLGV4vuHI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=U5hQW9BNIuhALDbIYdHutQPMArQgbqahkbZhLyL9Raj760SCd2lcco31deDo5SE9zFGSvKJ8JiEI0jZIbd57hkcvDyOZPv92uVquHLXgPfv6kx2tzcLNTpLNlirwCkGmTgrCSqTgwDRDl7WM+HANq8E0u97gA+q1iuhS/Q1pNwE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org; arc=none smtp.client-ip=140.77.166.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id CBFE2A1A5E; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from sonata.ens-lyon.org ([127.0.0.1]) by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id N5xW3A85dz7m; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from end (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr [83.192.199.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by sonata.ens-lyon.org (Postfix) with ESMTPSA id 49312A494C; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from samy by end with local (Exim 4.99.3) (envelope-from ) id 1wTpGH-000000014Kl-2ZcD; Mon, 01 Jun 2026 01:08:05 +0200 From: Samuel Thibault To: gregkh@linuxfoundation.org Cc: Jagadeesh Yalapalli , linux-kernel@vger.kernel.org, w.d.hubbs@gmail.com, kirk@reisers.ca, Samuel Thibault Subject: [PATCH 07/15] speakup: Standardize character attribute types to u16 Date: Mon, 1 Jun 2026 01:07:56 +0200 Message-ID: <20260531230804.254962-8-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> References: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jagadeesh Yalapalli This change replaces non-portable `u_short` types with standardized `u16` throughout the speakup subsystem to ensure: 1. Consistent 16-bit width across all architectures. 2. Improved code portability and readability. 3. Elimination of platform-dependent type sizes. 4. Safe bitwise operations without sign-extension risks. Signed-off-by: Jagadeesh Yalapalli Signed-off-by: Samuel Thibault --- drivers/accessibility/speakup/keyhelp.c | 10 +-- drivers/accessibility/speakup/kobjects.c | 4 +- drivers/accessibility/speakup/main.c | 74 ++++++++++---------- drivers/accessibility/speakup/selection.c | 2 +- drivers/accessibility/speakup/speakup.h | 10 +-- drivers/accessibility/speakup/speakup_dtlk.h | 2 +- drivers/accessibility/speakup/spk_types.h | 2 +- drivers/accessibility/speakup/synth.c | 2 +- 8 files changed, 53 insertions(+), 53 deletions(-) diff --git a/drivers/accessibility/speakup/keyhelp.c b/drivers/accessibilit= y/speakup/keyhelp.c index 822ceac83068..9c6e488adc2a 100644 --- a/drivers/accessibility/speakup/keyhelp.c +++ b/drivers/accessibility/speakup/keyhelp.c @@ -14,8 +14,8 @@ #define MAXFUNCS 130 #define MAXKEYS 256 static const int num_key_names =3D MSG_KEYNAMES_END - MSG_KEYNAMES_START += 1; -static u_short key_offsets[MAXFUNCS], key_data[MAXKEYS]; -static u_short masks[] =3D { 32, 16, 8, 4, 2, 1 }; +static u16 key_offsets[MAXFUNCS], key_data[MAXKEYS]; +static u16 masks[] =3D { 32, 16, 8, 4, 2, 1 }; =20 static short letter_offsets[26] =3D { -1, -1, -1, -1, -1, -1, -1, -1, @@ -49,7 +49,7 @@ static int cur_item, nstates; static void build_key_data(void) { u_char *kp, counters[MAXFUNCS], ch, ch1; - u_short *p_key, key; + u16 *p_key, key; int i, offset =3D 1; =20 nstates =3D (int)(state_tbl[-1]); @@ -129,12 +129,12 @@ static int help_init(void) return 0; } =20 -int spk_handle_help(struct vc_data *vc, u_char type, u_char ch, u_short ke= y) +int spk_handle_help(struct vc_data *vc, u_char type, u_char ch, u16 key) { int i, n; char *name; u_char func, *kp; - u_short *p_keys, val; + u16 *p_keys, val; =20 if (letter_offsets[0] =3D=3D -1) help_init(); diff --git a/drivers/accessibility/speakup/kobjects.c b/drivers/accessibili= ty/speakup/kobjects.c index 943ef71b1329..9ff7a4c680db 100644 --- a/drivers/accessibility/speakup/kobjects.c +++ b/drivers/accessibility/speakup/kobjects.c @@ -120,7 +120,7 @@ static ssize_t chars_chartab_store(struct kobject *kobj, ssize_t retval =3D count; unsigned long flags; unsigned long index =3D 0; - int charclass =3D 0; + u16 charclass =3D 0; int received =3D 0; int used =3D 0; int rejected =3D 0; @@ -461,7 +461,7 @@ static ssize_t punc_show(struct kobject *kobj, struct k= obj_attribute *attr, struct st_var_header *p_header; struct punc_var_t *var; struct st_bits_data *pb; - short mask; + u16 mask; unsigned long flags; =20 p_header =3D spk_var_header_by_name(attr->attr.name); diff --git a/drivers/accessibility/speakup/main.c b/drivers/accessibility/s= peakup/main.c index 78a77dd789a2..0962741a2ca2 100644 --- a/drivers/accessibility/speakup/main.c +++ b/drivers/accessibility/speakup/main.c @@ -63,7 +63,7 @@ int spk_attrib_bleep, spk_bleeps, spk_bleep_time =3D 10; int spk_no_intr, spk_spell_delay; int spk_key_echo, spk_say_word_ctl; int spk_say_ctrl, spk_bell_pos; -short spk_punc_mask; +u16 spk_punc_mask; int spk_punc_level, spk_reading_punc; int spk_cur_phonetic; char spk_str_caps_start[MAXVARLEN + 1] =3D "\0"; @@ -183,13 +183,13 @@ char *spk_default_chars[256] =3D { /* 251 */ "u circumflex", "u oomlaut", "y acute", "thorn", "y oomlaut" }; =20 -/* array of 256 u_short (one for each character) +/* array of 256 u16 (one for each character) * initialized to default_chartab and user selectable via * /sys/module/speakup/parameters/chartab */ -u_short spk_chartab[256]; +u16 spk_chartab[256]; =20 -static u_short default_chartab[256] =3D { +static u16 default_chartab[256] =3D { B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, /* 0-7 */ B_CTL, B_CTL, A_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, /* 8-15 */ B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, /*16-23 */ @@ -267,10 +267,10 @@ static void speakup_date(struct vc_data *vc) spk_y =3D spk_cy =3D vc->state.y; spk_pos =3D spk_cp =3D vc->vc_pos; spk_old_attr =3D spk_attr; - spk_attr =3D get_attributes(vc, (u_short *)spk_pos); + spk_attr =3D get_attributes(vc, (u16 *)spk_pos); } =20 -static void bleep(u_short val) +static void bleep(u16 val) { static const short vals[] =3D { 350, 370, 392, 414, 440, 466, 491, 523, 554, 587, 619, 659 @@ -346,14 +346,14 @@ static void speakup_cut(struct vc_data *vc) =20 if (!mark_cut_flag) { mark_cut_flag =3D 1; - spk_xs =3D (u_short)spk_x; - spk_ys =3D (u_short)spk_y; + spk_xs =3D (u16)spk_x; + spk_ys =3D (u16)spk_y; spk_sel_cons =3D vc; synth_printf("%s\n", spk_msg_get(MSG_MARK)); return; } - spk_xe =3D (u_short)spk_x; - spk_ye =3D (u_short)spk_y; + spk_xe =3D (u16)spk_x; + spk_ye =3D (u16)spk_y; mark_cut_flag =3D 0; synth_printf("%s\n", spk_msg_get(MSG_CUT)); =20 @@ -482,7 +482,7 @@ static void say_char(struct vc_data *vc) u16 ch; =20 spk_old_attr =3D spk_attr; - ch =3D get_char(vc, (u_short *)spk_pos, &spk_attr); + ch =3D get_char(vc, (u16 *)spk_pos, &spk_attr); if (spk_attr !=3D spk_old_attr) { if (spk_attrib_bleep & 1) bleep(spk_y); @@ -497,7 +497,7 @@ static void say_phonetic_char(struct vc_data *vc) u16 ch; =20 spk_old_attr =3D spk_attr; - ch =3D get_char(vc, (u_short *)spk_pos, &spk_attr); + ch =3D get_char(vc, (u16 *)spk_pos, &spk_attr); if (ch <=3D 0x7f && isalpha(ch)) { ch &=3D 0x1f; synth_printf("%s\n", phonetic[--ch]); @@ -549,7 +549,7 @@ static u_long get_word(struct vc_data *vc) u_char temp; =20 spk_old_attr =3D spk_attr; - ch =3D get_char(vc, (u_short *)tmp_pos, &temp); + ch =3D get_char(vc, (u16 *)tmp_pos, &temp); =20 /* decided to take out the sayword if on a space (mis-information */ if (spk_say_word_ctl && ch =3D=3D SPACE) { @@ -558,26 +558,26 @@ static u_long get_word(struct vc_data *vc) return 0; } else if (tmpx < vc->vc_cols - 2 && (ch =3D=3D SPACE || ch =3D=3D 0 || (ch < 0x100 && IS_WDLM(ch))) && - get_char(vc, (u_short *)tmp_pos + 1, &temp) > SPACE) { + get_char(vc, (u16 *)tmp_pos + 1, &temp) > SPACE) { tmp_pos +=3D 2; tmpx++; } else { while (tmpx > 0) { - ch =3D get_char(vc, (u_short *)tmp_pos - 1, &temp); + ch =3D get_char(vc, (u16 *)tmp_pos - 1, &temp); if ((ch =3D=3D SPACE || ch =3D=3D 0 || (ch < 0x100 && IS_WDLM(ch))) && - get_char(vc, (u_short *)tmp_pos, &temp) > SPACE) + get_char(vc, (u16 *)tmp_pos, &temp) > SPACE) break; tmp_pos -=3D 2; tmpx--; } } - attr_ch =3D get_char(vc, (u_short *)tmp_pos, &spk_attr); + attr_ch =3D get_char(vc, (u16 *)tmp_pos, &spk_attr); buf[cnt++] =3D attr_ch; while (tmpx < vc->vc_cols - 1 && cnt < ARRAY_SIZE(buf) - 1) { tmp_pos +=3D 2; tmpx++; - ch =3D get_char(vc, (u_short *)tmp_pos, &temp); + ch =3D get_char(vc, (u16 *)tmp_pos, &temp); if (ch =3D=3D SPACE || ch =3D=3D 0 || (buf[cnt - 1] < 0x100 && IS_WDLM(buf[cnt - 1]) && ch > SPACE)) @@ -591,7 +591,7 @@ static u_long get_word(struct vc_data *vc) static void say_word(struct vc_data *vc) { u_long cnt =3D get_word(vc); - u_short saved_punc_mask =3D spk_punc_mask; + u16 saved_punc_mask =3D spk_punc_mask; =20 if (cnt =3D=3D 0) return; @@ -606,7 +606,7 @@ static void say_prev_word(struct vc_data *vc) u_char temp; u16 ch; enum edge edge_said =3D edge_none; - u_short last_state =3D 0, state =3D 0; + u16 last_state =3D 0, state =3D 0; =20 spk_parked |=3D 0x01; =20 @@ -635,7 +635,7 @@ static void say_prev_word(struct vc_data *vc) spk_x--; } spk_pos -=3D 2; - ch =3D get_char(vc, (u_short *)spk_pos, &temp); + ch =3D get_char(vc, (u16 *)spk_pos, &temp); if (ch =3D=3D SPACE || ch =3D=3D 0) state =3D 0; else if (ch < 0x100 && IS_WDLM(ch)) @@ -661,7 +661,7 @@ static void say_next_word(struct vc_data *vc) u_char temp; u16 ch; enum edge edge_said =3D edge_none; - u_short last_state =3D 2, state =3D 0; + u16 last_state =3D 2, state =3D 0; =20 spk_parked |=3D 0x01; if (spk_x =3D=3D vc->vc_cols - 1 && spk_y =3D=3D vc->vc_rows - 1) { @@ -669,7 +669,7 @@ static void say_next_word(struct vc_data *vc) return; } while (1) { - ch =3D get_char(vc, (u_short *)spk_pos, &temp); + ch =3D get_char(vc, (u16 *)spk_pos, &temp); if (ch =3D=3D SPACE || ch =3D=3D 0) state =3D 0; else if (ch < 0x100 && IS_WDLM(ch)) @@ -755,9 +755,9 @@ static int get_line(struct vc_data *vc) u_char tmp2; =20 spk_old_attr =3D spk_attr; - spk_attr =3D get_attributes(vc, (u_short *)spk_pos); + spk_attr =3D get_attributes(vc, (u16 *)spk_pos); for (i =3D 0; i < vc->vc_cols; i++) { - buf[i] =3D get_char(vc, (u_short *)tmp, &tmp2); + buf[i] =3D get_char(vc, (u16 *)tmp, &tmp2); tmp +=3D 2; } for (--i; i >=3D 0; i--) @@ -770,7 +770,7 @@ static void say_line(struct vc_data *vc) { int i =3D get_line(vc); u16 *cp; - u_short saved_punc_mask =3D spk_punc_mask; + u16 saved_punc_mask =3D spk_punc_mask; =20 if (i =3D=3D 0) { synth_printf("%s\n", spk_msg_get(MSG_BLANK)); @@ -817,12 +817,12 @@ static int say_from_to(struct vc_data *vc, u_long fro= m, u_long to, { int i =3D 0; u_char tmp; - u_short saved_punc_mask =3D spk_punc_mask; + u16 saved_punc_mask =3D spk_punc_mask; =20 spk_old_attr =3D spk_attr; - spk_attr =3D get_attributes(vc, (u_short *)from); + spk_attr =3D get_attributes(vc, (u16 *)from); while (from < to) { - buf[i++] =3D get_char(vc, (u_short *)from, &tmp); + buf[i++] =3D get_char(vc, (u16 *)from, &tmp); from +=3D 2; if (i >=3D vc->vc_size_row) break; @@ -895,10 +895,10 @@ static int get_sentence_buf(struct vc_data *vc, int r= ead_punc) sentmarks[bn][0] =3D &sentbuf[bn][0]; i =3D 0; spk_old_attr =3D spk_attr; - spk_attr =3D get_attributes(vc, (u_short *)start); + spk_attr =3D get_attributes(vc, (u16 *)start); =20 while (start < end) { - sentbuf[bn][i] =3D get_char(vc, (u_short *)start, &tmp); + sentbuf[bn][i] =3D get_char(vc, (u16 *)start, &tmp); if (i > 0) { if (sentbuf[bn][i] =3D=3D SPACE && sentbuf[bn][i - 1] =3D=3D '.' && @@ -1047,7 +1047,7 @@ static void say_position(struct vc_data *vc) static void say_char_num(struct vc_data *vc) { u_char tmp; - u16 ch =3D get_char(vc, (u_short *)spk_pos, &tmp); + u16 ch =3D get_char(vc, (u16 *)spk_pos, &tmp); =20 synth_printf(spk_msg_get(MSG_CHAR_INFO), ch, ch); } @@ -1080,7 +1080,7 @@ static void spkup_write(const u16 *in_buf, int count) { static int rep_count; static u16 ch =3D '\0', old_ch =3D '\0'; - static u_short char_type, last_type; + static u16 char_type, last_type; int in_count =3D count; =20 spk_keydown =3D 0; @@ -1325,9 +1325,9 @@ void spk_reset_default_chartab(void) =20 static const struct st_bits_data *pb_edit; =20 -static int edit_bits(struct vc_data *vc, u_char type, u_char ch, u_short k= ey) +static int edit_bits(struct vc_data *vc, u_char type, u_char ch, u16 key) { - short mask =3D pb_edit->mask, ch_type =3D spk_chartab[ch]; + u16 mask =3D pb_edit->mask, ch_type =3D spk_chartab[ch]; =20 if (type !=3D KT_LATIN || (ch_type & B_NUM) || ch < SPACE) return -1; @@ -1947,7 +1947,7 @@ static void speakup_bits(struct vc_data *vc) spk_special_handler =3D edit_bits; } =20 -static int handle_goto(struct vc_data *vc, u_char type, u_char ch, u_short= key) +static int handle_goto(struct vc_data *vc, u_char type, u_char ch, u16 key) { static u_char goto_buf[8]; static int num; @@ -2105,7 +2105,7 @@ static void do_spkup(struct vc_data *vc, u_char value) static const char *pad_chars =3D "0123456789+-*/\015,.?()"; =20 static int -speakup_key(struct vc_data *vc, int shift_state, int keycode, u_short keys= ym, +speakup_key(struct vc_data *vc, int shift_state, int keycode, u16 keysym, int up_flag) { unsigned long flags; diff --git a/drivers/accessibility/speakup/selection.c b/drivers/accessibil= ity/speakup/selection.c index 7df7afad5ab4..1713ce4e0ba5 100644 --- a/drivers/accessibility/speakup/selection.c +++ b/drivers/accessibility/speakup/selection.c @@ -13,7 +13,7 @@ =20 #include "speakup.h" =20 -unsigned short spk_xs, spk_ys, spk_xe, spk_ye; /* our region points */ +u16 spk_xs, spk_ys, spk_xe, spk_ye; /* our region points */ struct vc_data *spk_sel_cons; =20 struct speakup_selection_work { diff --git a/drivers/accessibility/speakup/speakup.h b/drivers/accessibilit= y/speakup/speakup.h index 54f1226ea061..984a729fd82d 100644 --- a/drivers/accessibility/speakup/speakup.h +++ b/drivers/accessibility/speakup/speakup.h @@ -62,7 +62,7 @@ int spk_set_num_var(int val, struct st_var_header *var, i= nt how); int spk_set_string_var(const char *page, struct st_var_header *var, int le= n); int spk_set_mask_bits(const char *input, const int which, const int how); extern special_func spk_special_handler; -int spk_handle_help(struct vc_data *vc, u_char type, u_char ch, u_short ke= y); +int spk_handle_help(struct vc_data *vc, u_char type, u_char ch, u16 key); int synth_init(char *name); void synth_release(void); =20 @@ -82,7 +82,7 @@ void synth_writeu(const char *buf, size_t count); int synth_supports_indexing(void); =20 extern struct vc_data *spk_sel_cons; -extern unsigned short spk_xs, spk_ys, spk_xe, spk_ye; /* our region points= */ +extern u16 spk_xs, spk_ys, spk_xe, spk_ye; /* our region points */ =20 extern wait_queue_head_t speakup_event; extern struct kobject *speakup_kobj; @@ -95,20 +95,20 @@ extern struct st_spk_t *speakup_console[]; extern struct spk_synth *synth; extern char spk_pitch_buff[]; extern u_char *spk_our_keys[]; -extern short spk_punc_masks[]; +extern u16 spk_punc_masks[]; extern char spk_str_caps_start[], spk_str_caps_stop[], spk_str_pause[]; extern bool spk_paused; extern const struct st_bits_data spk_punc_info[]; extern u_char spk_key_buf[600]; extern char *spk_characters[]; extern char *spk_default_chars[]; -extern u_short spk_chartab[]; +extern u16 spk_chartab[]; extern int spk_no_intr, spk_say_ctrl, spk_say_word_ctl, spk_punc_level; extern int spk_reading_punc, spk_attrib_bleep, spk_bleeps; extern int spk_bleep_time, spk_bell_pos; extern int spk_spell_delay, spk_key_echo; extern int spk_cur_phonetic; -extern short spk_punc_mask; +extern u16 spk_punc_mask; extern short spk_pitch_shift, synth_flags; extern bool spk_quiet_boot; extern char *synth_name; diff --git a/drivers/accessibility/speakup/speakup_dtlk.h b/drivers/accessi= bility/speakup/speakup_dtlk.h index 101848edec2e..9354e3382bba 100644 --- a/drivers/accessibility/speakup/speakup_dtlk.h +++ b/drivers/accessibility/speakup/speakup_dtlk.h @@ -41,7 +41,7 @@ =20 /* data returned by Interrogate command */ struct synth_settings { - u_short serial_number; /* 0-7Fh:0-7Fh */ + u16 serial_number; /* 0-7Fh:0-7Fh */ u_char rom_version[24]; /* null terminated string */ u_char mode; /* 0=3DCharacter; 1=3DPhoneme; 2=3DText */ u_char punc_level; /* nB; 0-7 */ diff --git a/drivers/accessibility/speakup/spk_types.h b/drivers/accessibil= ity/speakup/spk_types.h index 08011518a28a..a5762330e249 100644 --- a/drivers/accessibility/speakup/spk_types.h +++ b/drivers/accessibility/speakup/spk_types.h @@ -53,7 +53,7 @@ enum var_id_t { }; =20 typedef int (*special_func)(struct vc_data *vc, u_char type, u_char ch, - u_short key); + u16 key); =20 #define COLOR_BUFFER_SIZE 160 =20 diff --git a/drivers/accessibility/speakup/synth.c b/drivers/accessibility/= speakup/synth.c index d8addbf3ad0d..d1ec1a7eb160 100644 --- a/drivers/accessibility/speakup/synth.c +++ b/drivers/accessibility/speakup/synth.c @@ -574,4 +574,4 @@ struct spk_synth *synth_current(void) } EXPORT_SYMBOL_GPL(synth_current); =20 -short spk_punc_masks[] =3D { 0, SOME, MOST, PUNC, PUNC | B_SYM }; +u16 spk_punc_masks[] =3D { 0, SOME, MOST, PUNC, PUNC | B_SYM }; --=20 2.47.3 From nobody Mon Jun 8 07:26:14 2026 Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E722835F19D for ; Sun, 31 May 2026 23:14:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.77.166.138 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780269252; cv=none; b=liLQj/Mgz7iph4Os+/Mi4jGh7R00vUFMUViHnBI9F4shMEkcg2WFQosEljXog8F2Z52LychcERPFZ7RkuflAyUwRu5oMyR+J4D0LcSLgZtkszOq0sznbU2hI1Dzqv/Sz1c7LOt/KxLq98FAs1ki92Ov9Kdr9J9fEXH5xH8v6hPw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780269252; c=relaxed/simple; bh=pE+RS4/FavdGoK3E5ePEifT6UQMWROwozSV39lE4pSY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jooaiAQPRrW81WynfF5syPKhTUA9TkA2Qs300OSPKYNgcHWpNaHdA7WgZskrKWQYYNpX+F1yWS8WVRJIEFBSwfP+Dy8z8X+L5YJ5hCg+LWtyPI0F+ZeZgO2BhDc/pmNbDic0qKnzUiPJb/c+cNi9cEiuyTxJkooWqTkr2ve2s1w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org; arc=none smtp.client-ip=140.77.166.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id A6CB0A0410; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from sonata.ens-lyon.org ([127.0.0.1]) by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KeAslZuPCxoc; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from end (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr [83.192.199.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by sonata.ens-lyon.org (Postfix) with ESMTPSA id 36E41A48C8; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from samy by end with local (Exim 4.99.3) (envelope-from ) id 1wTpGH-000000014Ko-2d5T; Mon, 01 Jun 2026 01:08:05 +0200 From: Samuel Thibault To: gregkh@linuxfoundation.org Cc: Xichao Zhao , linux-kernel@vger.kernel.org, w.d.hubbs@gmail.com, kirk@reisers.ca, Samuel Thibault Subject: [PATCH 08/15] accessibility: Use str_plural() to simplify the code Date: Mon, 1 Jun 2026 01:07:57 +0200 Message-ID: <20260531230804.254962-9-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> References: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Xichao Zhao Use the string choice helper function str_plural() to simplify the code. Signed-off-by: Xichao Zhao Signed-off-by: Samuel Thibault --- drivers/accessibility/speakup/kobjects.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/accessibility/speakup/kobjects.c b/drivers/accessibili= ty/speakup/kobjects.c index 9ff7a4c680db..a73b478e06de 100644 --- a/drivers/accessibility/speakup/kobjects.c +++ b/drivers/accessibility/speakup/kobjects.c @@ -98,7 +98,7 @@ static void report_char_chartab_status(int reset, int rec= eived, int used, if (rejected) snprintf(buf + (len - 1), sizeof(buf) - (len - 1), " with %d reject%s\n", - rejected, rejected > 1 ? "s" : ""); + rejected, str_plural(rejected)); pr_info("%s", buf); } } @@ -740,7 +740,7 @@ static void report_msg_status(int reset, int received, = int used, if (rejected) snprintf(buf + (len - 1), sizeof(buf) - (len - 1), " with %d reject%s\n", - rejected, rejected > 1 ? "s" : ""); + rejected, str_plural(rejected)); pr_info("%s", buf); } } --=20 2.47.3 From nobody Mon Jun 8 07:26:14 2026 Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C0163357D19 for ; Sun, 31 May 2026 23:08:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.77.166.138 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268898; cv=none; b=ZcjjilY//JY7zftP0Hl4+I+dIUuWpwQG+idxbDUOj1zb/O3xgc5Cje9Odmc5SRbn8riQtFdb2oB63fOiKrvbbdAhHseSoNkYoVXCpgo2zNQUptX3Fq+nPX5MqA9EIyOahSdf9LJVTCoVAfKri7lhJ4b2XZkusYyqqniEOI4TZCA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268898; c=relaxed/simple; bh=zDa/pr0CFR9LHDhkGx4d/nPptmYSvu4m9gHu1J/qr0I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=TB9bBWL+fEsZByoNl8Emxt2RQAG/HgEfBDOgodxS1aOdhc3kFTCaGm+fu+n58LZzSuoag/JjVnejreE11QiS2YHktibd+pFgpQ/J6OFkpvlY/Oq/rtPbEL7y09Iaw7lCR8OBZi7QvShE9LMkB6emXiFiq7z8iVkxL+RcoCoNCsw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org; arc=none smtp.client-ip=140.77.166.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id 53C30A73A8; Mon, 1 Jun 2026 01:08:07 +0200 (CEST) Received: from sonata.ens-lyon.org ([127.0.0.1]) by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bf8nlIoZj5AD; Mon, 1 Jun 2026 01:08:07 +0200 (CEST) Received: from end (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr [83.192.199.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by sonata.ens-lyon.org (Postfix) with ESMTPSA id 519E0A494D; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from samy by end with local (Exim 4.99.3) (envelope-from ) id 1wTpGH-000000014Kr-2jUC; Mon, 01 Jun 2026 01:08:05 +0200 From: Samuel Thibault To: gregkh@linuxfoundation.org Cc: Pavel Zhigulin , linux-kernel@vger.kernel.org, w.d.hubbs@gmail.com, kirk@reisers.ca, Samuel Thibault Subject: [PATCH 09/15] speakup: keyhelp: guard letter_offsets possible out-of-range indexing Date: Mon, 1 Jun 2026 01:07:58 +0200 Message-ID: <20260531230804.254962-10-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> References: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable From: Pavel Zhigulin help_init() builds letter_offsets[] by using the first byte of each function name as an index via `(start & 31) - 1`. If function_names are overridden from sysfs (root) with a name starting outside [a=E2=80=93z], the index underflows or exceeds the array, leading to OOB write. Function names can be overridden with the following commands as root: modprobe speakup_soft echo "0 _bad" > /sys/accessibility/speakup/i18n/function_names # then press Insert+2 on /dev/tty This fix checks the first letter in help_init(), and if it is not in the [a=E2=80=93z] range the function returns an error to the caller. Eventually= this error is propagated to drivers/accessibility/speakup/main.c:2217, which causes a bleep sound. Fixes: c6e3fd22cd53 ("Staging: add speakup to the staging directory") Signed-off-by: Pavel Zhigulin Signed-off-by: Samuel Thibault --- drivers/accessibility/speakup/keyhelp.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/drivers/accessibility/speakup/keyhelp.c b/drivers/accessibilit= y/speakup/keyhelp.c index 9c6e488adc2a..0940f430ac0f 100644 --- a/drivers/accessibility/speakup/keyhelp.c +++ b/drivers/accessibility/speakup/keyhelp.c @@ -8,6 +8,7 @@ */ =20 #include +#include #include "spk_priv.h" #include "speakup.h" =20 @@ -111,7 +112,7 @@ static void say_key(int key) spk_msg_get(MSG_KEYNAMES_START + (key - 1))); } =20 -static int help_init(void) +static void help_init(void) { char start =3D SPACE; int i; @@ -120,13 +121,19 @@ static int help_init(void) state_tbl =3D spk_our_keys[0] + SHIFT_TBL_SIZE + 2; for (i =3D 0; i < num_funcs; i++) { char *cur_funcname =3D spk_msg_get(MSG_FUNCNAMES_START + i); + char first_letter; =20 - if (start =3D=3D *cur_funcname) + first_letter =3D tolower(*cur_funcname); + + /* Accept only 'a'..'z' to index letter_offsets[] safely */ + if (first_letter < 'a' || first_letter > 'z') + continue; + + if (start =3D=3D first_letter) continue; - start =3D *cur_funcname; + start =3D first_letter; letter_offsets[(start & 31) - 1] =3D i; } - return 0; } =20 int spk_handle_help(struct vc_data *vc, u_char type, u_char ch, u16 key) @@ -144,7 +151,7 @@ int spk_handle_help(struct vc_data *vc, u_char type, u_= char ch, u16 key) synth_printf("%s\n", spk_msg_get(MSG_LEAVING_HELP)); return 1; } - ch |=3D 32; /* lower case */ + ch =3D tolower(ch); if (ch < 'a' || ch > 'z') return -1; if (letter_offsets[ch - 'a'] =3D=3D -1) { --=20 2.47.3 From nobody Mon Jun 8 07:26:14 2026 Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C0B1B35B137 for ; Sun, 31 May 2026 23:08:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.77.166.138 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268898; cv=none; b=iFl+nSqErK2gIrbcGswbfBi/s2t0sTTB1ecxPV8elePw6R3cAllGae1UTGcLlfYpCEY6eHAC0xaZjEdENSjoCeln7q6/YpcpmS2J8nvwumSITK2DYTj8qymNknT8XFUWQCc4yPbM5AqKq7/JdPgXR38nftNRHvTnOQBK8M3hr4c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268898; c=relaxed/simple; bh=ObrLwCbxVzYJSF4FyHyv85RY1EixsvjlPOoQJBDBApA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Zb3WPP8ftJtWCcZ3XBfzLhS5bUnrQUp7QJ5Rr3+XbIA2NcUTiw9WGwdWpmS3RC2n7CVLFSxFVOroYDBqyypgqxXRvv5P1Qgz+8HrditK29oW2n5qMRkUVdxAuo7DMgOL4Hs+tQyK5cL5Q+Glt0f6eVRyoH+4kFIa7ylIGBY7Zk8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org; arc=none smtp.client-ip=140.77.166.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id 6B94AA494D; Mon, 1 Jun 2026 01:08:07 +0200 (CEST) Received: from sonata.ens-lyon.org ([127.0.0.1]) by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id t3EeGL6xjQsI; Mon, 1 Jun 2026 01:08:07 +0200 (CEST) Received: from end (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr [83.192.199.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by sonata.ens-lyon.org (Postfix) with ESMTPSA id 54D63A494E; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from samy by end with local (Exim 4.99.3) (envelope-from ) id 1wTpGH-000000014Ku-2pgG; Mon, 01 Jun 2026 01:08:05 +0200 From: Samuel Thibault To: gregkh@linuxfoundation.org Cc: Bo Liu , linux-kernel@vger.kernel.org, w.d.hubbs@gmail.com, kirk@reisers.ca, Samuel Thibault Subject: [PATCH 10/15] Accessibility: speakup_soft: Fix double word in comments Date: Mon, 1 Jun 2026 01:07:59 +0200 Message-ID: <20260531230804.254962-11-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> References: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Bo Liu Remove the repeated word "the" in comments. Signed-off-by: Bo Liu Signed-off-by: Samuel Thibault --- drivers/accessibility/speakup/speakup_soft.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/accessibility/speakup/speakup_soft.c b/drivers/accessi= bility/speakup/speakup_soft.c index 6d446824677b..6549bfb96e7f 100644 --- a/drivers/accessibility/speakup/speakup_soft.c +++ b/drivers/accessibility/speakup/speakup_soft.c @@ -446,7 +446,7 @@ static int softsynth_adjust(struct spk_synth *synth, st= ruct st_var_header *var) if (var->var_id !=3D PUNC_LEVEL) return 0; =20 - /* We want to set the the speech synthesis punctuation level + /* We want to set the speech synthesis punctuation level * accordingly, so it properly tunes speaking A_PUNC characters */ var_data =3D var->data; if (!var_data) --=20 2.47.3 From nobody Mon Jun 8 07:26:14 2026 Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C153B35CB87 for ; Sun, 31 May 2026 23:08:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.77.166.138 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268897; cv=none; b=QEYGO8PJ9S1Lx76Va2LJ3lrDAZ/t+x986VAEq1ggn+nLavQ3gTkiRSAvIHxDZ/1X5dTKDi+THBLLyRLl1Bg1FQHJP7GHa//2FXkk21QZ7CeLILYKJ4iQYOWC6QExDJTdxeFprR/EgTEpCOHLuyFVmdjMaCKcpXgrz75RSIAxCW4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268897; c=relaxed/simple; bh=0ewejMbad3Um7RUEE878//vm7ugWvNUoe8hmciztkAc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=iUoLlAcfiaf+xLwYOQVviTuQ9bbC035KvS7pFFBR+X7eGCzoiXFegt/DpBtECAMtI+EggYSYuXhplyFXfM/0OU7IejAG+xaHXZbLbarvRvxcYUSEBitGZ876zqtcRlf+2srLAAFb+Fz4aDLqrFsdsC12LBK82che8YOsmNt+S/Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org; arc=none smtp.client-ip=140.77.166.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id F1E9CA494C; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from sonata.ens-lyon.org ([127.0.0.1]) by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nTpOVy1TKyS3; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from end (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr [83.192.199.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by sonata.ens-lyon.org (Postfix) with ESMTPSA id 59664A73A3; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from samy by end with local (Exim 4.99.3) (envelope-from ) id 1wTpGH-000000014Kx-2wJi; Mon, 01 Jun 2026 01:08:05 +0200 From: Samuel Thibault To: gregkh@linuxfoundation.org Cc: Bastien Nocera , linux-kernel@vger.kernel.org, w.d.hubbs@gmail.com, kirk@reisers.ca, Samuel Thibault Subject: [PATCH 11/15] speakup: Fix spelling of "re-enable" Date: Mon, 1 Jun 2026 01:08:00 +0200 Message-ID: <20260531230804.254962-12-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> References: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Bastien Nocera Detected using codespell. Signed-off-by: Bastien Nocera Signed-off-by: Samuel Thibault --- drivers/accessibility/speakup/fakekey.c | 4 ++-- drivers/accessibility/speakup/synth.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/accessibility/speakup/fakekey.c b/drivers/accessibilit= y/speakup/fakekey.c index 868c47b2a59b..9c0b2403876a 100644 --- a/drivers/accessibility/speakup/fakekey.c +++ b/drivers/accessibility/speakup/fakekey.c @@ -71,9 +71,9 @@ void speakup_fake_down_arrow(void) input_sync(virt_keyboard); __this_cpu_write(reporting_keystroke, false); =20 - /* reenable preemption */ + /* re-enable preemption */ preempt_enable(); - /* reenable keyboard interrupts */ + /* re-enable keyboard interrupts */ local_irq_restore(flags); } =20 diff --git a/drivers/accessibility/speakup/synth.c b/drivers/accessibility/= speakup/synth.c index d1ec1a7eb160..11cba1fd8715 100644 --- a/drivers/accessibility/speakup/synth.c +++ b/drivers/accessibility/speakup/synth.c @@ -163,7 +163,7 @@ int spk_synth_is_alive_restart(struct spk_synth *synth) /* restart */ synth->alive =3D 1; synth_printf("%s", synth->init); - return 2; /* reenabled */ + return 2; /* re-enabled */ } pr_warn("%s: can't restart synth\n", synth->long_name); return 0; --=20 2.47.3 From nobody Mon Jun 8 07:26:14 2026 Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 49EAE28C2BF for ; Sun, 31 May 2026 23:08:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.77.166.138 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268896; cv=none; b=d4hPQF66X2Zu/BGOTOC2gB1Sa3F+QM6D1N/wKs3b/ySDTt7b3NNW7IZdZKa/X6DHUjTLov3yazlRLNLYTMadZQSaFBgfF0B9qStWQZ89zKtG8Ot77hPCfoZAtXlOu/z1/1SbwHRgEVpnDR0nTdTPfZg278oljGf5uYVHwbh+fOk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268896; c=relaxed/simple; bh=XgZ6V7XIU5oGt6x8TKlLLz8iunfBiHk+h0sMu8A4ZEU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lo+EM/ecuCpPCx61Vp/SLJEReOzpBUDfaBOSfEGQGIN2Sx26BVV988uSEtYLbZ1uwKmXrVShrFQ6BSFVoVhhrDVJ3D7FBh/t9CVPvi/fzcn7HLdwgrx+r8zTVuxPWgTZRXaNgof3wIxnn9YKOtZBOjYlR4gsfQQOStKvK4L813I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org; arc=none smtp.client-ip=140.77.166.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id F02CDA0403; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from sonata.ens-lyon.org ([127.0.0.1]) by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id b_ypg0irrAc2; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from end (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr [83.192.199.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by sonata.ens-lyon.org (Postfix) with ESMTPSA id 58FCFA5E7C; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from samy by end with local (Exim 4.99.3) (envelope-from ) id 1wTpGH-000000014L0-32bw; Mon, 01 Jun 2026 01:08:05 +0200 From: Samuel Thibault To: gregkh@linuxfoundation.org Cc: Bastien Nocera , linux-kernel@vger.kernel.org, w.d.hubbs@gmail.com, kirk@reisers.ca, Samuel Thibault Subject: [PATCH 12/15] speakup: Fix incorrect "index" plural Date: Mon, 1 Jun 2026 01:08:01 +0200 Message-ID: <20260531230804.254962-13-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> References: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Bastien Nocera It's indexes or indices. Given that the constant is called "STAT_index_valid", "indexes" was the preferred plural. Signed-off-by: Bastien Nocera Signed-off-by: Samuel Thibault --- drivers/accessibility/speakup/speakup_decpc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/accessibility/speakup/speakup_decpc.c b/drivers/access= ibility/speakup/speakup_decpc.c index 083ca9265805..1bf36d1e5477 100644 --- a/drivers/accessibility/speakup/speakup_decpc.c +++ b/drivers/accessibility/speakup/speakup_decpc.c @@ -41,7 +41,7 @@ #define STAT_new_index 0x0040 /* new last index ready */ #define STAT_new_status 0x0080 /* new status posted */ #define STAT_dma_state 0x0100 /* dma state toggle */ -#define STAT_index_valid 0x0200 /* indexs are valid */ +#define STAT_index_valid 0x0200 /* indexes are valid */ #define STAT_flushing 0x0400 /* flush in progress */ #define STAT_self_test 0x0800 /* module in self test */ #define MODE_ready 0xc000 /* module ready for next phase */ --=20 2.47.3 From nobody Mon Jun 8 07:26:14 2026 Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BED89357D09 for ; Sun, 31 May 2026 23:08:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.77.166.138 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268896; cv=none; b=fARJAZ+B2bsCoTjpUWMBfLhnfPdAbqw26ONpmebxKbgRPR3i72TZ3a+xs4Z9/PQRlA8oujU2KYH7fu4dWe2VOlCW6zSGWIn8kkF4UUx8tHvrwe4voGgC4ofY+/blb0EBNu615idR+x37ZPgrEU3YWYzaO5d4X/rqvyv2cTMmcok= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268896; c=relaxed/simple; bh=5z3021HFoPlq4V/fkBK3sHKnoKqjttpVM8yVOrM9/zE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KVHeLhyT/Es7XHK3N9rp314sXWGNm820IbXwZ+hcqkehjukxb5sI+tgHlxlX9x0+6IuAHOzO1iGA6OJwWbT7/tfyfbzqoaM2kgP8BjTsO0mQZe+0Z6iLnwqSmIpzvoJ7EsmBGHwIV5dKE+2p/pjzSHOhWE2QPoION2pJKov1oc0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org; arc=none smtp.client-ip=140.77.166.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id 2166EA5E7C; Mon, 1 Jun 2026 01:08:07 +0200 (CEST) Received: from sonata.ens-lyon.org ([127.0.0.1]) by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id a9kVM5I4UYFH; Mon, 1 Jun 2026 01:08:07 +0200 (CEST) Received: from end (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr [83.192.199.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by sonata.ens-lyon.org (Postfix) with ESMTPSA id 597B0A73A8; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from samy by end with local (Exim 4.99.3) (envelope-from ) id 1wTpGH-000000014L3-38VJ; Mon, 01 Jun 2026 01:08:05 +0200 From: Samuel Thibault To: gregkh@linuxfoundation.org Cc: Bastien Nocera , linux-kernel@vger.kernel.org, w.d.hubbs@gmail.com, kirk@reisers.ca, Colin Ian King , Samuel Thibault Subject: [PATCH 13/15] speakup: Fix typo in a speakup message Date: Mon, 1 Jun 2026 01:08:02 +0200 Message-ID: <20260531230804.254962-14-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> References: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Bastien Nocera s/read windo/read window/ Signed-off-by: Colin Ian King Signed-off-by: Bastien Nocera Signed-off-by: Samuel Thibault --- drivers/accessibility/speakup/i18n.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/accessibility/speakup/i18n.c b/drivers/accessibility/s= peakup/i18n.c index d62079b1661f..554bf81f2c1c 100644 --- a/drivers/accessibility/speakup/i18n.c +++ b/drivers/accessibility/speakup/i18n.c @@ -31,7 +31,7 @@ static char *speakup_default_msgs[MSG_LAST_INDEX] =3D { [MSG_CURSORING_OFF] =3D "cursoring off", [MSG_CURSORING_ON] =3D "cursoring on", [MSG_HIGHLIGHT_TRACKING] =3D "highlight tracking", - [MSG_READ_WINDOW] =3D "read windo", + [MSG_READ_WINDOW] =3D "read window", [MSG_READ_ALL] =3D "read all", [MSG_EDIT_DONE] =3D "edit done", [MSG_WINDOW_ALREADY_SET] =3D "window already set, clear then reset", --=20 2.47.3 From nobody Mon Jun 8 07:26:14 2026 Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C01E435836B for ; Sun, 31 May 2026 23:08:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.77.166.138 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268897; cv=none; b=E72tIcSqFl43IPec763UopVRpUqr4Yt4Pyh5VK+30uGwiFZVW2nIJufdt8ZCaYVqWWaknx2zf/EAs1EGqs/RtRK6gPYAFdB9bn56qI5uygOokon/lMtMjitcmKb2Ao73vcxTV1+2u0JIva2ZZYkejuKoy2a0urdiacMjW5T2cnE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268897; c=relaxed/simple; bh=bIJOPFx7CHaSMrhc8F5HfRbAxCC566vAu+bMboJVF7U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aoQfKgzBpD6BFq6uIP1kWH4IggDJ1eOTPH4Xh3mIEnpS6PA3GtU5EPka31Lh2lo/q9v8EjISbU/dK1dEhq9buEiXnR2LZlsSjJMwH4drDUCas2qj1wT2aTUBca0u2ndqvamHV5P1ocj8KA8QIgB4eqpJTcfxMdsk4wqJPEpwTG8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org; arc=none smtp.client-ip=140.77.166.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id 49576A03FB; Mon, 1 Jun 2026 01:08:07 +0200 (CEST) Received: from sonata.ens-lyon.org ([127.0.0.1]) by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HfleH119ZTxF; Mon, 1 Jun 2026 01:08:07 +0200 (CEST) Received: from end (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr [83.192.199.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by sonata.ens-lyon.org (Postfix) with ESMTPSA id 64539A73D6; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from samy by end with local (Exim 4.99.3) (envelope-from ) id 1wTpGH-000000014L6-3EZZ; Mon, 01 Jun 2026 01:08:05 +0200 From: Samuel Thibault To: gregkh@linuxfoundation.org Cc: Francisco Maestre , linux-kernel@vger.kernel.org, w.d.hubbs@gmail.com, kirk@reisers.ca, Samuel Thibault Subject: [PATCH 14/15] speakup: speakup_soft: fix comment style and repeated word Date: Mon, 1 Jun 2026 01:08:03 +0200 Message-ID: <20260531230804.254962-15-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> References: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Francisco Maestre Fix comment style issues in speakup_soft.c: - Move the closing '*/' of the block comment to its own line, as required by the kernel coding style Signed-off-by: Francisco Maestre Signed-off-by: Samuel Thibault --- drivers/accessibility/speakup/speakup_soft.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/accessibility/speakup/speakup_soft.c b/drivers/accessi= bility/speakup/speakup_soft.c index 6549bfb96e7f..57d83b82f1d1 100644 --- a/drivers/accessibility/speakup/speakup_soft.c +++ b/drivers/accessibility/speakup/speakup_soft.c @@ -447,7 +447,8 @@ static int softsynth_adjust(struct spk_synth *synth, st= ruct st_var_header *var) return 0; =20 /* We want to set the speech synthesis punctuation level - * accordingly, so it properly tunes speaking A_PUNC characters */ + * accordingly, so it properly tunes speaking A_PUNC characters + */ var_data =3D var->data; if (!var_data) return 0; --=20 2.47.3 From nobody Mon Jun 8 07:26:14 2026 Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C0B9735B646; Sun, 31 May 2026 23:08:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.77.166.138 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268897; cv=none; b=fe+6PZODyW1jYMip7mQ6+9fPDXJ2hpqsO4IgDb0zHU6kZjA4FmmVWnmeBl79sk/vNiDcJlK5n1rHVuoDYKJPoBeC5mK9iUpaNi9tCf9vbH/vHIYf4PiFxkF1gMG2z8SNK3j5ZUEPL8hq7zUd8Rh7fDDQu+k6TKc01qQjlWKmplU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780268897; c=relaxed/simple; bh=nf71MnN7TLOen3jIbWLstVoH/wsOLzifDRN9SbIG5qI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gNwz+N83R4elwYGawmldIVSgASNvxCv6EWo0VyR/FBiqb7p3gwADUX/jus0bphrDDFBqsBAjmACHubONJqk+QZm9tPdymKMREAjpY1PvQ9tb3wd9ZjrMiBfbo8u3F467HDggAgKI7pxzfEtetJS48NaCdzpKLH3EwRrC1Py/iO4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org; arc=none smtp.client-ip=140.77.166.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id 8C2F2A4922; Mon, 1 Jun 2026 01:08:07 +0200 (CEST) Received: from sonata.ens-lyon.org ([127.0.0.1]) by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2yRe5eissX9z; Mon, 1 Jun 2026 01:08:07 +0200 (CEST) Received: from end (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr [83.192.199.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by sonata.ens-lyon.org (Postfix) with ESMTPSA id 6EE35A73D9; Mon, 1 Jun 2026 01:08:06 +0200 (CEST) Received: from samy by end with local (Exim 4.99.3) (envelope-from ) id 1wTpGH-000000014LA-3IF8; Mon, 01 Jun 2026 01:08:05 +0200 From: Samuel Thibault To: gregkh@linuxfoundation.org Cc: Haoxiang Li , linux-kernel@vger.kernel.org, w.d.hubbs@gmail.com, kirk@reisers.ca, Samuel Thibault , stable@vger.kernel.org Subject: [PATCH 15/15] accessibility: speakup: unregister tty ldisc on later init failures Date: Mon, 1 Jun 2026 01:08:04 +0200 Message-ID: <20260531230804.254962-16-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> References: <20260531230804.254962-1-samuel.thibault@ens-lyon.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Haoxiang Li The ldisc registration is intentionally non-fatal, since some synth drivers do not use tty/ldisc. However, once speakup_init() continues past the registration point and later fails, the init unwind path should mirror speakup_exit() and call spk_ttyio_unregister_ldisc(). Add the missing unregister call to the error path after synth_release(), matching the normal module exit cleanup order. Signed-off-by: Haoxiang Li Signed-off-by: Samuel Thibault Fixes: e23a9b439ce9 ("staging: speakup: safely register and unregister ldis= c") Cc: stable@vger.kernel.org --- drivers/accessibility/speakup/main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/accessibility/speakup/main.c b/drivers/accessibility/s= peakup/main.c index 0962741a2ca2..e9b7c2761f6f 100644 --- a/drivers/accessibility/speakup/main.c +++ b/drivers/accessibility/speakup/main.c @@ -2444,6 +2444,7 @@ static int __init speakup_init(void) mutex_lock(&spk_mutex); synth_release(); mutex_unlock(&spk_mutex); + spk_ttyio_unregister_ldisc(); speakup_kobj_exit(); =20 error_kobjects: --=20 2.47.3