From nobody Tue Sep 29 08:48:26 2026 Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9C9AF453A28 for ; Wed, 12 Aug 2026 14:15:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786544113; cv=none; b=CPLPchsx9VzPs3RxH3KD02bZ0euP75OyeQCV8LSH8be9Q/9dp04AyU67yNViVa29m0qKwjcQWye5dX1drpC3VHOgNN8DsJ/2mdlPZ1Gl6u36siDNJo+YXWSjkooPBMQFuIZJehUP5UcHOhwtBbjLQhP9d3P7KeuVeS7RZOsQALo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786544113; c=relaxed/simple; bh=k94y1skuHgzdcvRUtwTDZNKVSs1yZ2sekwO1XbkQs/Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UC918ESGWXRRtoPCAxwjjNJc4odsxhAHJY2b6hwICDiA9LpSMOl6MXx7/15i2eSgWRWDcK5FpHHTei+H2n4rydMj6wiMHlGiXGCF9S3+orZb0zO0YXLNJdpXZs7AyVGEWUp55kwJ1g1XddFGPxLyzfej3sTO70Sz/XQj0/qS71U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=sgd5Z1/g; arc=none smtp.client-ip=209.85.216.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="sgd5Z1/g" Received: by mail-pj1-f46.google.com with SMTP id 98e67ed59e1d1-383cb94f742so1413270a91.3 for ; Wed, 12 Aug 2026 07:15:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786544112; x=1787148912; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=gDx7OjPh4B/ZXtkR2yuJExeNBKvFNoJy/PHxR186p5k=; b=sgd5Z1/g5osZvJqAz3VQM6gob9PWw/nRt036G/1cll5kcwQW3nzLJasqE/xiabPKOz 9pSOcGgbL0ON3nKs4u4UbaVbGzHinKpqiFD+Ckv6hLLI0ekh/TL93LYzkvDDvjrL0moy EQezAUTHk3j6Ys2sxMVIla7HBNw3sW7Dg/6D75yOUo1u8YCFLDLiqQOv5shK7iRDKu0C 0vh7Y9/HsD/7Geng1QbwRfj7QrR6DgDgv5DoTomuKBMy5fFC6CXY7ldXByhn3Ll5E8Gi 1uf0Zrd85f//5cgOrSb0h/XvqdBoQXCUFVV4QEUgKPnMvDpNHuKWKb8lc2VTJyFseD0H 9m7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786544112; x=1787148912; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=gDx7OjPh4B/ZXtkR2yuJExeNBKvFNoJy/PHxR186p5k=; b=Wgry+wAYBc+yAD34zR30fGYkSo/5kP+zXLPhPxJYLY1pO1AXQLJFsEmnQ5v/xVpWx2 D9/CwC32x/y4GTawgQeHfNME2dg+s72Z5++z+azsYWSYziy0pd5JPADH/+cmcvc2XvG9 xGBn25wX5Rj1ytp4uj1rpXOVkn3rRUqTXI9TsAVIy1f4JH/dsMR2DUt4qz39XIOrdsyL jOxnEb+/ndXNPDzLjhfHg3lRrbNgSIa3n23i1g+XC5TFIcXMb6EfH9+FZK8WBlaa428T ODIf4SatR/uVH+/kZY4H0/8DDo6ggTHLiIZnwoXPNiXqmkQE6tN6LgeIXlh0LcU5vtjC D44w== X-Forwarded-Encrypted: i=1; AHgh+Ro3GU2y7B+LD1Cc+WTekFXUU/9Krgy/GfBSn/1aIatM/336RyBk2O/W5Hq8NAaR7oqWzUQSh+O6+tNyLTA=@vger.kernel.org X-Gm-Message-State: AOJu0YwRi2Qn2k9A/7KbL/LG4imoGdI1y9rOHu+fTYtklrV8IciquNhN yEauTJMx1yNsHu7ofgxADivTIZgEg+hmhqyYPH2ID8RGsDBvjrU8bVKC X-Gm-Gg: AR+sD11RYYTx90nQTlZ5qowGqj10tcB8JllW4hnBjHgrDQjkh6bexBe6Brwf02CVdDE GEkSOe1quRW02JmwUXRCJEGySrmSf41ocP3w6ak+DXvyvjrBaDy0Wj4AWVX0g/jWnF/NIQy3ayb FpzPnQZsGTkyS/tUvmCFF/okLloQ+OlgINkyARJ/o+gbsQM9wc+zHto3a7SH2sJGSXy7fik0Fjs WO2/X4qpcrh2BSdonpEZE2eQIQVNs/RnmgBHfzw5TLUmI1J2LNg6Pbf5V1lTQZGuxdbyTy3L/er eUCeCCaIWMIO5s8W6Fo0N7XsnNDCkzjxK6rEPK5npwdbeqqjXa22HQDwnzgYMUWJtezxDEyiuC0 qVHOnSBctLg6g9Kv0+WV7IL3RI1PatWGdXkIk9qZwdYIbgMKJET8aO1ZgEjOcpd7r7zYPUhNcpT G59HAYSTSk2EVlpU2hMUZwYjhR4Eg3MvhTLI72ZnwyvukSHYvfz2N4bF5uJG/Kfh+0Hom/00NsL JXlB7l1+W9T0/snbh2zGYsCdUfHnmB0KWRNqo3Cs4wNqdI7pdEIpA== X-Received: by 2002:a17:90b:17cb:b0:37d:f983:7b5 with SMTP id 98e67ed59e1d1-39301261ccamr5775338a91.9.1786544111659; Wed, 12 Aug 2026 07:15:11 -0700 (PDT) Received: from nugod-NUC15CRHU5.tail9f095a.ts.net ([218.237.104.87]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-392f8896c20sm3846908a91.1.2026.08.12.07.15.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 07:15:11 -0700 (PDT) From: HyeongJun An To: Takashi Iwai , Jaroslav Kysela Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, HyeongJun An , Takashi Iwai Subject: [PATCH] ALSA: seq: Drop the dead struct snd_seq_event_bounce Date: Wed, 12 Aug 2026 23:15:06 +0900 Message-ID: <20260812141506.4016387-1-sammiee5311@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <87se4jze5c.wl-tiwai@suse.de> References: <87se4jze5c.wl-tiwai@suse.de> 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" The struct describes a bounce payload of an error code followed by the original event and its external data. No kernel has ever sent that. Before commit efc86691e4d8 ("ALSA: seq: Fix kernel heap address leak in bounce_error_event()") the kernel emitted no SNDRV_SEQ_EVENT_BOUNCE at all, and since then it sends the event record alone. Nothing has ever read it either. Its only accessor, snd_seq_event_bounce_ext_data(), has had no caller for the whole git history, and it did not even compile until commit c7e0b5bf9fff ("[ALSA] Remove xxx_t typedefs: Sequencer") incidentally repaired the type name it referred to, three years after the git import. Drop the accessor along with the struct. This removes a definition from a UAPI header. Since no kernel ever produced the layout, nothing can have parsed it, but a program that merely names the type will need to stop. Suggested-by: Takashi Iwai Assisted-by: Claude:claude-opus-5 Signed-off-by: HyeongJun An --- include/sound/asequencer.h | 3 --- include/uapi/sound/asequencer.h | 10 ---------- sound/core/seq/seq_clientmgr.c | 5 ++--- 3 files changed, 2 insertions(+), 16 deletions(-) diff --git a/include/sound/asequencer.h b/include/sound/asequencer.h index ddbb6bf801bb..efad366736a4 100644 --- a/include/sound/asequencer.h +++ b/include/sound/asequencer.h @@ -11,9 +11,6 @@ #include #include =20 -/* helper macro */ -#define snd_seq_event_bounce_ext_data(ev) ((void*)((char *)(ev)->data.ext.= ptr + sizeof(struct snd_seq_event_bounce))) - /* * type check macros */ diff --git a/include/uapi/sound/asequencer.h b/include/uapi/sound/asequence= r.h index a5c41f771e05..3deba3965ca5 100644 --- a/include/uapi/sound/asequencer.h +++ b/include/uapi/sound/asequencer.h @@ -308,16 +308,6 @@ struct snd_seq_ump_event { }; }; =20 -/* - * bounce event - stored as variable size data - */ -struct snd_seq_event_bounce { - int err; - struct snd_seq_event event; - /* external data follows here. */ -}; - - /* system information */ struct snd_seq_system_info { int queues; /* maximum queues count */ diff --git a/sound/core/seq/seq_clientmgr.c b/sound/core/seq/seq_clientmgr.c index 11fa7e825819..5b86e75c2658 100644 --- a/sound/core/seq/seq_clientmgr.c +++ b/sound/core/seq/seq_clientmgr.c @@ -530,9 +530,8 @@ static struct snd_seq_client *get_event_dest_client(str= uct snd_seq_event *event) * Return the error event. * * If the receiver client is a user client, the original event is - * encapsulated in SNDRV_SEQ_EVENT_BOUNCE as variable length event. If - * the original event is also variable length, the external data is - * copied after the event record.=20 + * encapsulated in SNDRV_SEQ_EVENT_BOUNCE as variable length event. The + * external data of a variable length event is not copied along. * If the receiver client is a kernel client, the original event is * quoted in SNDRV_SEQ_EVENT_KERNEL_ERROR, since this requires no extra * kmalloc. --=20 2.43.0