From 2cf80ec88cb69a64202d30f1a5363438ca4d7b02 Mon Sep 17 00:00:00 2001 From: R2DXT <72986690+R2DXT@users.noreply.github.com> Date: Tue, 28 Oct 2025 21:24:00 +0300 Subject: [PATCH] Fix format specifiers in printk statements Change %u to %llu for dma_mapping_addr to match long long int type This prevents potential format string bugs when printing DMA addresses" --- driver/sdr.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/driver/sdr.c b/driver/sdr.c index 18629bb4..f364f5c1 100644 --- a/driver/sdr.c +++ b/driver/sdr.c @@ -743,7 +743,7 @@ static irqreturn_t openwifi_tx_interrupt(int irq, void *dev_id) seq_no = ring->bds[ring->bd_rd_idx].seq_no; if (seq_no == 0xffff) {// it has been forced cleared by the openwifi_tx (due to out-of-order Tx of different queues to the air?) - printk("%s openwifi_tx_interrupt: WARNING wr%d rd%d last_bd_rd_idx%d i%d pkt_cnt%d prio%d fpga q%d hwq len%d bd prio%d len_mpdu%d seq_no%d skb_linked%p dma_mapping_addr%u\n", sdr_compatible_str, + printk("%s openwifi_tx_interrupt: WARNING wr%d rd%d last_bd_rd_idx%d i%d pkt_cnt%d prio%d fpga q%d hwq len%d bd prio%d len_mpdu%d seq_no%d skb_linked%p dma_mapping_addr%llu\n", sdr_compatible_str, ring->bd_wr_idx, ring->bd_rd_idx, last_bd_rd_idx, i, pkt_cnt, prio, queue_idx, hw_queue_len, ring->bds[ring->bd_rd_idx].prio, ring->bds[ring->bd_rd_idx].len_mpdu, seq_no, ring->bds[ring->bd_rd_idx].skb_linked, (long long int)(ring->bds[ring->bd_rd_idx].dma_mapping_addr)); continue; } @@ -1063,7 +1063,7 @@ static void openwifi_tx(struct ieee80211_hw *dev, } for (i=0; ibd_wr_idx+i)&(NUM_TX_BD-1) ); - printk("%s openwifi_tx: WARNING fake stop queue empty_bd_idx%d i%d lnx prio%d map to q%d stop%d hwq len%d wr%d rd%d bd prio%d len_mpdu%d seq_no%d skb_linked%p dma_mapping_addr%u\n", sdr_compatible_str, + printk("%s openwifi_tx: WARNING fake stop queue empty_bd_idx%d i%d lnx prio%d map to q%d stop%d hwq len%d wr%d rd%d bd prio%d len_mpdu%d seq_no%d skb_linked%p dma_mapping_addr%llu\n", sdr_compatible_str, empty_bd_idx, i, prio, drv_ring_idx, ring->stop_flag, hw_queue_len, ring->bd_wr_idx, ring->bd_rd_idx, ring->bds[j].prio, ring->bds[j].len_mpdu, ring->bds[j].seq_no, ring->bds[j].skb_linked,(long long int)(ring->bds[j].dma_mapping_addr)); // tell Linux this skb failed skb_new = ring->bds[j].skb_linked; @@ -1089,7 +1089,7 @@ static void openwifi_tx(struct ieee80211_hw *dev, } } else { j = ring->bd_wr_idx; - printk("%s openwifi_tx: WARNING real stop queue lnx prio%d map to q%d stop%d hwq len%d wr%d rd%d bd prio%d len_mpdu%d seq_no%d skb_linked%p dma_mapping_addr%u\n", sdr_compatible_str, + printk("%s openwifi_tx: WARNING real stop queue lnx prio%d map to q%d stop%d hwq len%d wr%d rd%d bd prio%d len_mpdu%d seq_no%d skb_linked%p dma_mapping_addr%llu\n", sdr_compatible_str, prio, drv_ring_idx, ring->stop_flag, hw_queue_len, ring->bd_wr_idx, ring->bd_rd_idx, ring->bds[j].prio, ring->bds[j].len_mpdu, ring->bds[j].seq_no, ring->bds[j].skb_linked, (long long int)(ring->bds[j].dma_mapping_addr)); ieee80211_stop_queue(dev, prio); // here we should stop those prio related to the queue idx flag set in TX_INTF_REG_S_AXIS_FIFO_NO_ROOM_read