From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
To: tiwai@suse.de
Cc: stable@vger.kernel.org, edmund.raile@proton.me,
linux-sound@vger.kernel.org, gustavo@embeddedor.com
Subject: Re: [PATCH] ALSA: firewire-lib: fix wrong value as length of header for CIP_NO_HEADER case
Date: Sat, 27 Jul 2024 10:35:10 +0900 [thread overview]
Message-ID: <20240727013510.GA163039@workstation.local> (raw)
In-Reply-To: <20240725155640.128442-1-o-takashi@sakamocchi.jp>
On 25/07/24 09:56, Takashi Sakamoto wrote:
> In a commit 1d717123bb1a ("ALSA: firewire-lib: Avoid
> -Wflex-array-member-not-at-end warning"), DEFINE_FLEX() macro was used to
> handle variable length of array for header field in struct fw_iso_packet
> structure. The usage of macro has a side effect that the designated
> initializer assigns the count of array to the given field. Therefore
> CIP_HEADER_QUADLETS (=2) is assigned to struct fw_iso_packet.header,
> while the original designated initializer assigns zero to all fields.
>
> With CIP_NO_HEADER flag, the change causes invalid length of header in
> isochronous packet for 1394 OHCI IT context. This bug affects all of
> devices supported by ALSA fireface driver; RME Fireface 400, 800, UCX, UFX,
> and 802.
>
> This commit fixes the bug by replacing it with the alternative version of
> macro which corresponds no initializer.
>
> Cc: <stable@vger.kernel.org>
> Fixes: 1d717123bb1a ("ALSA: firewire-lib: Avoid -Wflex-array-member-not-at-end warning")
> Reported-by: Edmund Raile <edmund.raile@proton.me>
> Closes: https://lore.kernel.org/r/rrufondjeynlkx2lniot26ablsltnynfaq2gnqvbiso7ds32il@qk4r6xps7jh2/
> Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
> ---
> sound/firewire/amdtp-stream.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/sound/firewire/amdtp-stream.c b/sound/firewire/amdtp-stream.c
> index d35d0a420ee0..1a163bbcabd7 100644
> --- a/sound/firewire/amdtp-stream.c
> +++ b/sound/firewire/amdtp-stream.c
> @@ -1180,8 +1180,7 @@ static void process_rx_packets(struct fw_iso_context *context, u32 tstamp, size_
> (void)fw_card_read_cycle_time(fw_parent_device(s->unit)->card, &curr_cycle_time);
> for (i = 0; i < packets; ++i) {
> - DEFINE_FLEX(struct fw_iso_packet, template, header,
> - header_length, CIP_HEADER_QUADLETS);
> + DEFINE_RAW_FLEX(struct fw_iso_packet, template, header, CIP_HEADER_QUADLETS);
> bool sched_irq = false;
> build_it_pkt_header(s, desc->cycle, template, pkt_header_length,
Applied to for-linus branch in firewire subsystem tree[1], and would be
sent to mainline today with another patch[2].
[1] https://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394.git/log/?h=for-linus
[2] https://lore.kernel.org/lkml/20240725161648.130404-1-o-takashi@sakamocchi.jp/
Regards
Takashi Sakamoto
prev parent reply other threads:[~2024-07-27 1:35 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-25 15:56 [PATCH] ALSA: firewire-lib: fix wrong value as length of header for CIP_NO_HEADER case Takashi Sakamoto
2024-07-25 16:07 ` Takashi Iwai
2024-07-25 16:08 ` Gustavo A. R. Silva
2024-07-25 16:11 ` Takashi Iwai
2024-07-25 16:16 ` Gustavo A. R. Silva
2024-07-25 16:25 ` Takashi Sakamoto
2024-07-25 17:52 ` Takashi Iwai
2024-07-26 0:20 ` Takashi Sakamoto
2024-07-27 1:35 ` Takashi Sakamoto [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240727013510.GA163039@workstation.local \
--to=o-takashi@sakamocchi.jp \
--cc=edmund.raile@proton.me \
--cc=gustavo@embeddedor.com \
--cc=linux-sound@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.