CVE-2022-49847 in Linux
要約
〜によって VulDB • 2026年06月19日
Linux kernel panic/crash log analysis:
**Crash Summary:** - **Crash Location:** `phy_stop()` called from `phylink_stop()` during network device cleanup - **Driver:** `ti_am65_cpsw_nuss` (TI AM65x CPSW Nuss Ethernet driver) - **Context:** Device removal/unregistration (`am65_cpsw_nuss_remove`)
**Call Trace Analysis:** ``` phy_stop() → phylink_stop() → am65_cpsw_nuss_ndo_slave_stop() → __dev_close_many() → dev_close_many() → unregister_netdevice_many() → unregister_netdevice_queue() → unregister_netdev() → am65_cpsw_nuss_cleanup_ndev() → am65_cpsw_nuss_remove() ```
**Key Observations:**
1. **Null Pointer Dereference:** - `x0 = 0x0004000800000200` (likely a pointer or flag) - `x1 = 0x0000000000000000` (NULL pointer) - `x2 = 0xd0a07fcff8b8d500` (invalid/corrupted pointer) - The crash occurs in `phy_stop()` with likely NULL or invalid pointer access
2. **Timing:** - Crash occurred at kernel timestamp `[31.867462]` seconds after boot
3. **Architecture:** - ARM64 (AArch64) based on register naming (x0-x31) and kernel addresses starting with `ffff8000...`
**Likely Root Cause:** The `phy_stop()` function is being called with an invalid or NULL PHY pointer. This typically happens when: - The PHY structure was already freed or not properly initialized - Race condition during device removal - Missing error handling in the driver's cleanup path
**Recommended Fixes:**
1. **In `ti_am65_cpsw_nuss` driver:** - Add NULL pointer checks before calling `phy_stop()` - Ensure proper initialization order during probe - Add proper cleanup in reverse order during remove
2. **Example fix pattern:** ```c if (priv->phy) {
phy_stop(priv->phy); phy_disconnect(priv->phy); } ```
3. **Check for:** - Missing `phylink_create()` error handling - Improper PHY state management - Race conditions between link state changes and device removal
**Additional Debugging Steps:** - Enable `CONFIG_DYNAMIC_DEBUG` for more detailed logging - Check `dmesg` for earlier warnings about PHY initialization - Verify kernel version and apply relevant patches for AM65x CPSW driver - Consider backporting fixes from newer kernel versions if available
If you want to get best quality of vulnerability data, you may have to visit VulDB.