---
id: CVE-2022-49339
title: 'net: ipv6: unexport __init-annotated seg6_hmac_init()'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net: ipv6: unexport __init-annotated seg6_hmac_init()

  EXPORT_SYMBOL and __init is a bad combination because the .init.text
  section is freed up after the initialization…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= bf355b8d2c30a289232042cacc1cfaea4923936c <
    64aef8efe96c1616142c4476a05731306fc4494e
  - >-
    Linux >= bf355b8d2c30a289232042cacc1cfaea4923936c <
    ab8b2c2de273ec1d698a18e399896a6febb5cda0
  - >-
    Linux >= bf355b8d2c30a289232042cacc1cfaea4923936c <
    317260b3eb6384a05a8af212308fa50f3b2e8290
  - >-
    Linux >= bf355b8d2c30a289232042cacc1cfaea4923936c <
    5d9c1b081ad28c852a97e10dd75412546497694a
  - >-
    Linux >= bf355b8d2c30a289232042cacc1cfaea4923936c <
    1084716f76c8045eadf92a9d9a62641f3c8d8c90
  - >-
    Linux >= bf355b8d2c30a289232042cacc1cfaea4923936c <
    3e6de5037148c5a93a436b1e8d2edad3dac11755
  - >-
    Linux >= bf355b8d2c30a289232042cacc1cfaea4923936c <
    9ba4416b831eeb4d185e88e73488d1d21288e63a
  - >-
    Linux >= bf355b8d2c30a289232042cacc1cfaea4923936c <
    5801f064e35181c71857a80ff18af4dbec3c5f5c
  - Linux 4.10
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-05T19:45:11.321766Z'
published: '2025-02-26'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T19:49:38.690Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2022-49339'
references:
  - url: 'https://git.kernel.org/stable/c/64aef8efe96c1616142c4476a05731306fc4494e'
  - url: 'https://git.kernel.org/stable/c/ab8b2c2de273ec1d698a18e399896a6febb5cda0'
  - url: 'https://git.kernel.org/stable/c/317260b3eb6384a05a8af212308fa50f3b2e8290'
  - url: 'https://git.kernel.org/stable/c/5d9c1b081ad28c852a97e10dd75412546497694a'
  - url: 'https://git.kernel.org/stable/c/1084716f76c8045eadf92a9d9a62641f3c8d8c90'
  - url: 'https://git.kernel.org/stable/c/3e6de5037148c5a93a436b1e8d2edad3dac11755'
  - url: 'https://git.kernel.org/stable/c/9ba4416b831eeb4d185e88e73488d1d21288e63a'
  - url: 'https://git.kernel.org/stable/c/5801f064e35181c71857a80ff18af4dbec3c5f5c'
tags:
  - cve.org
epss: 0.00277
epssPercentile: 0.2024
ingestedAt: '2026-11-05T22:38:31.572Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

net: ipv6: unexport __init-annotated seg6_hmac_init()

EXPORT_SYMBOL and __init is a bad combination because the .init.text
section is freed up after the initialization. Hence, modules cannot
use symbols annotated __init. The access to a freed symbol may end up
with kernel panic.

modpost used to detect it, but it has been broken for a decade.

Recently, I fixed modpost so it started to warn it again, then this
showed up in linux-next builds.

There are two ways to fix it:

  - Remove __init
  - Remove EXPORT_SYMBOL

I chose the latter for this case because the caller (net/ipv6/seg6.c)
and the callee (net/ipv6/seg6_hmac.c) belong to the same module.
It seems an internal function call in ipv6.ko.

## Affected

- `Linux >= bf355b8d2c30a289232042cacc1cfaea4923936c < 64aef8efe96c1616142c4476a05731306fc4494e`
- `Linux >= bf355b8d2c30a289232042cacc1cfaea4923936c < ab8b2c2de273ec1d698a18e399896a6febb5cda0`
- `Linux >= bf355b8d2c30a289232042cacc1cfaea4923936c < 317260b3eb6384a05a8af212308fa50f3b2e8290`
- `Linux >= bf355b8d2c30a289232042cacc1cfaea4923936c < 5d9c1b081ad28c852a97e10dd75412546497694a`
- `Linux >= bf355b8d2c30a289232042cacc1cfaea4923936c < 1084716f76c8045eadf92a9d9a62641f3c8d8c90`
- `Linux >= bf355b8d2c30a289232042cacc1cfaea4923936c < 3e6de5037148c5a93a436b1e8d2edad3dac11755`
- `Linux >= bf355b8d2c30a289232042cacc1cfaea4923936c < 9ba4416b831eeb4d185e88e73488d1d21288e63a`
- `Linux >= bf355b8d2c30a289232042cacc1cfaea4923936c < 5801f064e35181c71857a80ff18af4dbec3c5f5c`
- `Linux 4.10`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
