Linux 7.4 adds Apple M4 NVMe support in its block pull
Linux 7.4's block pull adds a driver for the Apple M4's ANS2 NVMe controller, plus 33 fixes for an old Mac floppy driver tested on four classic Macs.
4 min read

By the numbers
- maximum queue depth the new driver sets for the M4 controller
- 64
- fixes to the SWIM floppy driver for classic Macs
- 33
- files changed by the 7.4 block pull
- 66
Linux 7.4 has merged support for the NVMe storage controller in Apple's M4 chip, as part of the block subsystem pull that Phoronix reported on October 24, 2026. The same pull fixes floppy disk drivers, including one for classic Macintosh computers. For people running Linux on Apple Silicon, the M4 driver is a needed step toward reading and writing the internal drive.
What the block pull contains
The block subsystem is the part of the kernel that handles storage devices: SSDs, hard drives and floppy disks. Jens Axboe collects the block changes for each release and sends them to Linus Torvalds as a pull request.
His 7.4 pull, tagged "for-7.4/block-20261021", landed in the mainline kernel on October 25, according to the merge commit. It touches 66 files, with 3,793 lines added and 1,541 removed. Its summary lists "Apple M4 (t8132) ANS2 NVMe support" among the NVMe updates collected by Keith Busch.
| Change in the 7.4 block pull | Who did it | What it fixes or adds |
|---|---|---|
| Apple M4 ANS2 NVMe support | Yureka Lilian | Storage controller in the M4 chip |
| Floppy driver memory fix | Denis Efremov, Oracle | A possible stack memory overrun |
| Floppy regression fix | Denis Efremov, Oracle | A bug from a 2017 refactoring of drive flags |
| Floppy data-race fixes | Cen Zhang | Races between code running at the same time |
| SWIM driver fixes | Finn Thain | 33 fixes for the old Macintosh floppy controller |
io_uring, the kernel's fast interface for asynchronous input and output, also had its updates merged in this window. Phoronix does not list those changes.
How the M4 storage driver differs
NVMe is the standard way fast SSDs talk to a computer. The computer places commands in submission queues and reads results from completion queues. ANS2 is the name the kernel uses for the NVMe controller inside the M4 system-on-chip, whose chip ID is t8132.
The commit explains what makes the M4 version unusual. "This variant requires the IO queues to be registered using additional MMIO writes," it says. MMIO, or memory-mapped input/output, means the driver talks to hardware by writing to special memory addresses.
Normally a driver tells an NVMe drive how big each queue is inside the command that creates it. On the M4, that size field is ignored. Instead, the driver writes the queue sizes to a register at offset 0x1210. The kernel previously knew that register as APPLE_ANS_MAX_PEND_CMDS_CTRL.
The change is small: one file, 35 lines added and 4 removed in the existing Apple NVMe driver. It sets a maximum queue depth of 64 for the M4. Yureka Lilian wrote it on September 6, 2026, Sven Peter reviewed it, and Keith Busch committed it. A matching one-line change adds the "apple,t8132-nvme-ans2" device description, acked by Conor Dooley.
The driver lands in the same release as the first device trees for M4 Macs. A device tree is a file that tells the kernel what hardware a machine has and where to find it. Sven Peter, an Asahi Linux developer, submitted trees for six M4 Macs, Phoronix reported on October 2. They are the 14-inch MacBook Pro, two 24-inch iMacs, the 13-inch and 15-inch MacBook Air, and the Mac Mini. The trees cover only basic blocks, such as the CPU cores, interrupt controller, serial port and frame-buffer. Phoronix's list does not include NVMe, and the GPU is not enabled.
Floppy fixes, found by tools and tested on old Macs
The rest of the pull is a reminder of how long Linux keeps hardware alive. Denis Efremov's memory fix came from KASAN, the Kernel Address Sanitizer. KASAN is a debugging tool that catches code reading or writing memory it should not touch.
Cen Zhang's data-race fixes were found with "our tools," Phoronix reports. The outlet guesses these were AI tools, but no tool is named.
Finn Thain, from the community that keeps Linux running on Motorola 68000-family Macs, sent 33 fixes for the SWIM driver. SWIM is the floppy controller in classic Macintosh computers. He tested them on a Mac Quadra 650, a Mac LC III, a Mac Quadra 700 and a Mac IIvx.
The merge window has also brought a Nintendo Switch 2 controller driver and faster workqueue flushes for large servers.
What this means for developers
The M4 driver matters most to the Asahi Linux community and to anyone who wants Linux on a recent Mac.
- Do not expect M4 Macs to run Linux on 7.4 alone. The 7.4 device trees are enough to start booting the kernel, Phoronix says, and most other hardware waits for later kernels. Asahi Linux, the project porting Linux to Apple Silicon, reached official M3 support only in September, and it still listed missing features there.
- Watch the upstream path. This driver went into the mainline kernel, not a fork. Code that lands upstream gets reviewed and maintained with everything else, which helps distributions ship it.
- Read the commit if you write drivers. It is a compact example of handling a hardware variant with a flag in an existing driver rather than a new one.
- Test old hardware if you still run it. If you keep a Linux machine with a floppy drive, 7.4 changes the floppy and SWIM drivers. Try it on the release candidates, starting with 7.4-rc1.
- Expect more tool-found bugs. KASAN caught one fix and unnamed tools caught others. Projects that maintain old drivers should run sanitizers in their own test setups too.
Sources
- Linux 7.4 Block Updates Range From Floppy Disk Driver Fixes To Apple M4 NVMe Support - Phoronix
- nvme: apple: add t8132 (M4) ANS2 NVMe support - Linux kernel (GitHub mirror)
- Linux 7.4 To Introduce Initial Device Trees For Apple M4, A18 Pro For MacBook Neo - Phoronix
- Merge tag 'for-7.4/block-20261021' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux - Linux kernel (GitHub mirror)
Related articles

Torvalds' page cache patch reworked: 4.5x faster on ext4
Meta's Kiryl Shutsemau turned Torvalds' page cache patch into an 18-patch RFC. 64 threads on ext4 rose from about 15M to 70M small reads a second.

BeamFS RFC: a Reed-Solomon file system for Linux
BeamFS, an 18-patch Linux RFC, stores every block as Reed-Solomon codewords so it can repair flipped bits on a single disk, at a cost of 7% of the space.

Linux 7.3 released with fchroot, failfs and faster Btrfs
Linus Torvalds released Linux 7.3 on October 18, 2026: 18,765 commits from 3,021 developers, new sandboxing tools and Btrfs fsync up to 5x faster.
The weekly digest
One email every Friday with the week's top stories from all six desks: AI, dev tools, coding, the tech industry, startups and what's next. Free, no spam.