From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
To: Purva Yeshi <purvayeshi550@gmail.com>
Cc: linux1394-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] firewire: ohci: Initialize payload_bus to avoid uninitialized use warning
Date: Thu, 10 Jul 2025 21:52:27 +0900 [thread overview]
Message-ID: <20250710125227.GA25686@workstation.local> (raw)
In-Reply-To: <20250710073906.24105-1-purvayeshi550@gmail.com>
Hi,
On Thu, Jul 10, 2025 at 01:09:06PM +0530, Purva Yeshi wrote:
> Fix Smatch-detected error:
> drivers/firewire/ohci.c:1514 at_context_queue_packet()
> error: uninitialized symbol 'payload_bus'.
>
> Smatch reports a potential uninitialized use of 'payload_bus' in
> at_context_queue_packet(). If packet->payload_length is zero, the
> variable may not be set before reaching the dma_unmap_single() call,
> which could lead to undefined behavior.
>
> Initialize 'payload_bus' to 0 to ensure it has a defined value in all
> code paths, preventing any uninitialized access.
>
> Signed-off-by: Purva Yeshi <purvayeshi550@gmail.com>
In my opinion, we should pay enough attention to the value of
'packet->payload_mapped' variable when considering the issue.
```
$ cat -n drivers/firewire/ohci.c
...
1385 static int at_context_queue_packet(struct context *ctx,
1386 struct fw_packet *packet)
1387 {
1388 struct fw_ohci *ohci = ctx->ohci;
1389 dma_addr_t d_bus, payload_bus;
...
1474 if (packet->payload_length > 0) {
1475 if (packet->payload_length > sizeof(driver_data->inline_data)) {
1476 payload_bus = dma_map_single(ohci->card.device,
...
1485 packet->payload_mapped = true;
1486 } else {
...
1489 payload_bus = d_bus + 3 * sizeof(*d);
1490 }
...
1496 } else {
...
1499 }
...
1506 if (ohci->generation != packet->generation) {
1507 if (packet->payload_mapped)
1508 dma_unmap_single(ohci->card.device, payload_bus,
1509 packet->payload_length, DMA_TO_DEVICE);
...
1512 }
Unless the variable has true, the dma_unmap_single() is never called,
thus the issue does not occur.
Thanks
Takashi Sakamoto
next prev parent reply other threads:[~2025-07-10 12:52 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-10 7:39 Purva Yeshi
2025-07-10 12:52 ` Takashi Sakamoto [this message]
2025-07-10 15:10 ` Purva Yeshi
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=20250710125227.GA25686@workstation.local \
--to=o-takashi@sakamocchi.jp \
--cc=linux-kernel@vger.kernel.org \
--cc=linux1394-devel@lists.sourceforge.net \
--cc=purvayeshi550@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®