intel / intel/ethernet-linux-ixgbe

Build error: conflicting types for 'class_mutex_t' on kernel 7.0.0-14-generic

Open
#41 2 comments 2 reactions 0 assignees View on GitHub
Dominant language
C
Stars
77
Forks
31
PR merge metrics
No merged PRs in 30d

Description

## Build error: conflicting types for `class_mutex_t` on kernel 7.0.0-14

### Description

Running `sudo make install` fails to compile the ixgbe driver against Linux kernel 7.0.0-14-generic (default kernel on Ubuntu 26.04). The compiler reports a conflicting type error in the kernel's `cleanup.h` header.

### Environment

- **Kernel version:** 7.0.0-14-generic
- **Driver:** ixgbe (latest from this repo)
- **Command:** `sudo make install`

### Error output

```
/usr/src/linux-headers-7.0.0-14-generic/include/linux/cleanup.h:280:15: error: conflicting types for 'class_mutex_t'; have 'struct mutex *'
280 | typedef _type class_##_name##_t;
```

### Root cause (suspected)

It appears the ixgbe driver or one of its headers defines a symbol that conflicts with the `class_mutex_t` typedef introduced (or changed) in kernel 7.0.0-14 via `include/linux/cleanup.h`. This is likely a macro expansion clash — the `CLASS()` macro in `cleanup.h` generates typedefs like `class__t`, and if the driver defines a `mutex` class guard internally, the resulting typedef conflicts with an already-declared `struct mutex *` type.

### Steps to reproduce

1. Install kernel `7.0.0-14-generic` and its headers
2. Clone this repository
3. Run `sudo make install`
4. Observe the build error above

### Additional notes

Please let me know if you need any additional debug output, kernel config, or compiler version details.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.