mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +03:00
Issue: Macsec data is NULL for Xavier platforms as no DT macsec entry is available. This NULL pointer is accessed when changing MTU, causing kernel panic. [ 110.247070] Unable to handle kernel NULL pointer dereference at virtual address 000000000000015c [ 110.247292] Mem abort info: [ 110.247355] ESR = 0x96000004 [ 110.247423] EC = 0x25: DABT (current EL), IL = 32 bits [ 110.247534] SET = 0, FnV = 0 [ 110.247616] EA = 0, S1PTW = 0 [ 110.247682] Data abort info: [ 110.247743] ISV = 0, ISS = 0x00000004 [ 110.247823] CM = 0, WnR = 0 [ 110.247889] user pgtable: 4k pages, 48-bit VAs, pgdp=000000010a201000 [ 110.248031] [000000000000015c] pgd=0000000000000000, p4d=0000000000000000 [ 110.248176] Internal error: Oops: 96000004 [#1] PREEMPT SMP [ 110.248295] Modules linked in: [ 110.248379] CPU: 2 PID: 1423 Comm: ifconfig Not tainted 5.10.120-tegra #11 [ 110.248525] Hardware name: Unknown Jetson-AGX/Jetson-AGX, BIOS 0.0-ff9214ce 12/20/2022 [ 110.248690] pstate: 60400009 (nZCv daif +PAN -UAO -TCO BTYPE=--) [ 110.249074] pc : ether_change_mtu+0x144/0x220 [ 110.249381] lr : ether_change_mtu+0x140/0x220 [ 110.250528] sp : ffff800014b1b470 [ 110.253853] x29: ffff800014b1b470 x28: ffff0318c9632d00 [ 110.259366] x27: ffffb376aafb0978 x26: ffffb376aafb0948 [ 110.264636] x25: ffffb376ab3b3aa0 x24: ffffb376abf7edd8 [ 110.269870] x23: ffff0318c9632d00 x22: ffffb376abeb97d8 [ 110.275569] x21: ffff0318c5dc0940 x20: 0000000000002328 [ 110.280806] x19: ffff0318c5dc0000 x18: 0000000000000010 [ 110.286401] x17: 0000000000000000 x16: ffffb376aa327910 [ 110.291581] x15: ffff0318c9633270 x14: ffffffffffffffff [ 110.297166] x13: ffff800094b1b167 x12: ffff800014b1b16f [ 110.302500] x11: 0000000000000020 x10: ffffb376abbb0aa0 [ 110.307770] x9 : ffffb376a9ccba7c x8 : 0000000000000001 [ 110.313439] x7 : 0000000000017fe8 x6 : c0000000ffffefff [ 110.318605] x5 : ffff031c3fd60958 x4 : 0000000000000000 [ 110.324305] x3 : 0000000000000001 x2 : 0000000000000000 [ 110.329369] x1 : 0000000000000000 x0 : 0000000000000000 [ 110.334706] Call trace: [ 110.337416] ether_change_mtu+0x144/0x220 [ 110.341187] dev_set_mtu_ext+0xe8/0x1d0 [ 110.345121] dev_set_mtu+0x44/0xb0 [ 110.348616] dev_ifsioc+0x254/0x4d0 [ 110.352115] dev_ioctl+0x128/0x380 [ 110.355270] sock_do_ioctl+0xd4/0x240 [ 110.359027] sock_ioctl+0x27c/0x510 [ 110.362530] __arm64_sys_ioctl+0xb8/0x100 [ 110.366731] el0_svc_common.constprop.0+0x80/0x1f0 [ 110.371540] do_el0_svc+0x2c/0x90 [ 110.374522] el0_svc+0x20/0x40 [ 110.377943] el0_sync_handler+0xc0/0xd0 [ 110.381689] el0_sync+0x184/0x1c0 [ 110.384931] Code: b900e714 5281ef42 941a98a4 f94312a0 (b9415c00) [ 110.390801] ---[ end trace cbec9c44e214f14b ]--- [ 110.395602] Kernel panic - not syncing: Oops: Fatal exception [ 110.400962] SMP: stopping secondary CPUs [ 110.404718] Kernel Offset: 0x337699bb0000 from 0xffff800010000000 [ 110.410752] PHYS_OFFSET: 0xfffffce840000000 [ 110.414945] CPU features: 0x18240002,03802a30 [ 110.419490] Memory Limit: none [ 110.422645] ---[ end Kernel panic - not syncing: Oops: Fatal exception ]--- Fix: Add NULL check for macsec data. Macsec is set to NULL if it is not supported in DT from macsec probe. Bug 3952134 Change-Id: I0b292e39f3ec8f8fed0fb3fef5cd9f52f5c0e2a9 Signed-off-by: Sushil Kumar Singh <sushilkumars@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2846676 Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2878453 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>