Package: src:linux
Version: 6.19.6+deb14-amd64
Severity: important

Description:
We have identified a forward-compatibility regression in the md subsystem introduced between Linux Kernel 6.18 and 6.19. When creating a standard RAID 1 array using mdadm, the resulting superblock generated under Kernel 6.19 is violently rejected by older enterprise Linux kernels (e.g., older LTS kernels with version 6.1) with an -EINVAL argument error during assembly.

A strict A/B test was performed using Debian Live (based on Sid) environments. The exact same version of mdadm (4.5-5) and the exact same creation command was used in both environments: mdadm --create "/dev/md127" --force --run --level=raid1 --raid-devices=2 --metadata=1.2 --data-offset=34816 --bitmap=internal --assume-clean /dev/nvme0n1p2 /dev/nvme1n1p2

Test 1 (Success):
* Environment: Kernel 6.18.15+deb14-amd64
* Result: Array creates successfully. When the machine reboots into the older guest OS, the legacy kernel assembles the array normally.

Test 2 (Failure/Regression):
* Environment: Kernel 6.19.6+deb14-amd64
* Result: Array creates successfully in the live environment. However, when the machine reboots into the older guest OS, the legacy kernel rejects the component drives with:
  mdadm: failed to add /dev/nvme1n1p2 to /dev/md/0: Invalid argument.
  mdadm: failed to add /dev/nvme0n1p2 to /dev/md/0: Invalid argument.
  mdadm: /dev/md0 assembled from 0 drives

Conclusion:
Kernel 6.19 appears to be injecting a new feature flag, modifying the bitmap format, or altering the superblock structure during creation in a way that older md_mod drivers cannot parse, breaking backward compatibility for disaster recovery tools restoring older operating systems.

Steven

Reply via email to