Bug 214107 - UBSAN: misaligned-access in net/ipv4/tcp_ipv4.c:1862:15
Summary: UBSAN: misaligned-access in net/ipv4/tcp_ipv4.c:1862:15
Status: RESOLVED OBSOLETE
Alias: None
Product: Networking
Classification: Unclassified
Component: IPV4 (show other bugs)
Hardware: x86-64 Linux
: P1 enhancement
Assignee: Stephen Hemminger
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-08-19 12:42 UTC by Janpieter Sollie
Modified: 2023-06-19 11:20 UTC (History)
0 users

See Also:
Kernel Version: 5.13
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Janpieter Sollie 2021-08-19 12:42:27 UTC
When compiling the kernel with debug tools, UBSAN check for misaligned pointer addresses:
>
> ==============================================================================
> UBSAN: misaligned-access in net/ipv4/tcp_ipv4.c:1862:15
> member access within misaligned address 000000002519ea50 for type 'struct
> tcphdr'
> which requires 4 byte alignment
> CPU: 29 PID: 0 Comm: swapper/29 Not tainted 5.13.7debug+ #20
> Hardware name: Gigabyte Technology Co., Ltd. X399 DESIGNARE EX/X399 DESIGNARE
> EX-CF, BIOS F12 12/11/2019
> Call Trace:
>  <IRQ>
>  dump_stack+0x6b/0x86
>  ubsan_epilogue+0x9/0x45
>  handle_misaligned_access+0x88/0xa0
>  __ubsan_handle_type_mismatch_v1+0x5c/0x70
>  tcp_add_backlog+0x15c5/0x1f30
>  tcp_v6_rcv+0x2552/0x2b90
>  ? __ubsan_handle_type_mismatch_v1+0x5c/0x70
>  ip6_protocol_deliver_rcu+0x1a3/0x10f0
>  ? ip6_dst_check+0x145/0x3f0
>  ip6_input+0xdc/0x160
>  ip6_sublist_rcv_finish+0xb8/0x1e0
>  ip6_list_rcv_finish.constprop.0+0x3e1/0xa10
>  ip6_sublist_rcv+0x2f/0xb0
>  ipv6_list_rcv+0x1c5/0x3a0
>  ? ipv6_rcv+0x390/0x390
>  __netif_receive_skb_list_core+0x2c9/0x8b0
>  __netif_receive_skb_list+0x1e5/0x580
>  ? napi_gro_receive+0x116/0x830
>  ? ktime_get_with_offset+0x81/0x170
>  netif_receive_skb_list_internal+0x169/0x730
>  napi_complete_done+0x1c6/0x640
>  igb_poll+0x99/0x7a0 [igb]
>  ? __napi_schedule+0xe6/0x220
>  __napi_poll+0x6f/0x4a0
>  net_rx_action+0x269/0xe50
>  __do_softirq+0x107/0x487
>  irq_exit_rcu+0xd5/0x170
>  common_interrupt+0x9b/0xc0
>  </IRQ>
>  asm_common_interrupt+0x1b/0x40
> RIP: 0010:cpuidle_enter_state+0x136/0xc90
....
>  ? cpuidle_enter_state+0x11a/0xc90
>  cpuidle_enter+0x4c/0xd0
>  cpuidle_idle_call+0x192/0x3d0
>  do_idle+0xbd/0x190
>  cpu_startup_entry+0x20/0x30
>  start_secondary+0x8a/0x90
>  secondary_startup_64_no_verify+0xb0/0xbb
================================================================================

Note You need to log in before you can comment on or make changes to this bug.