intel / intel/ethernet-linux-igb
Driver not compatible with 7.0 kernel
- Dominant language
- C
- Stars
- 35
- Forks
- 13
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
I was previously using the intel driver on my Arch Linux installation without issues. Since Arch upgraded their kernel to 7.0 the driver no longer compiles and throws the following error:
```
==> Making package: igb 5.19.10-1 (do 07 mei 2026 18:28:23 CEST)
==> Retrieving sources...
-> Found igb-5.19.10-src.tar.gz
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with sha256sums...
igb-5.19.10-src.tar.gz ... Passed
:: (1/1) Parsing SRCINFO: igb
==> Making package: igb 5.19.10-1 (do 07 mei 2026 18:28:24 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found igb-5.19.10-src.tar.gz
==> Validating source files with sha256sums...
igb-5.19.10-src.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
-> Extracting igb-5.19.10-src.tar.gz with bsdtar
==> Sources are ready.
==> Making package: igb 5.19.10-1 (do 07 mei 2026 18:28:26 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Removing existing $pkgdir/ directory...
==> Starting build()...
make: Entering directory '/home/erwin/.cache/yay/igb/src/igb-5.19.10/src'
*** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but
*** the signing key cannot be found. Module signing has been
*** disabled for this build.
make[1]: Entering directory '/usr/lib/modules/7.0.3-arch1-2/build'
make[2]: Entering directory '/home/erwin/.cache/yay/igb/src/igb-5.19.10/src'
CC [M] igb_main.o
In file included from kcompat_cleanup.h:54,
from kcompat.h:50,
from igb.h:8,
from igb_main.c:4:
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:280:15: error: conflicting types for ‘class_mutex_t’; have ‘struct mutex *’
280 | typedef _type class_##_name##_t; \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:397:9: note: in expansion of macro ‘DEFINE_CLASS’
397 | DEFINE_CLASS(_name, _type, if (!__GUARD_IS_ERR(_T)) { _unlock; }, ({ _lock; _T; }), _type _T); \
| ^~~~~~~~~~~~
kcompat_cleanup.h:204:1: note: in expansion of macro ‘DEFINE_GUARD’
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:486:3: note: previous declaration of ‘class_mutex_t’ with type ‘class_mutex_t’
486 | } class_##_name##_t; \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:558:1: note: in expansion of macro ‘__DEFINE_UNLOCK_GUARD’
558 | __DEFINE_UNLOCK_GUARD(_name, _type, _unlock, __VA_ARGS__) \
| ^~~~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/mutex.h:253:1: note: in expansion of macro ‘DEFINE_LOCK_GUARD_1’
253 | DEFINE_LOCK_GUARD_1(mutex, struct mutex, mutex_lock(_T->lock), mutex_unlock(_T->lock))
| ^~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:281:15: error: conflicting types for ‘lock_mutex_t’; have ‘struct mutex *’
281 | typedef _type lock_##_name##_t; \
| ^~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:397:9: note: in expansion of macro ‘DEFINE_CLASS’
397 | DEFINE_CLASS(_name, _type, if (!__GUARD_IS_ERR(_T)) { _unlock; }, ({ _lock; _T; }), _type _T); \
| ^~~~~~~~~~~~
kcompat_cleanup.h:204:1: note: in expansion of macro ‘DEFINE_GUARD’
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:482:15: note: previous declaration of ‘lock_mutex_t’ with type ‘lock_mutex_t’ {aka ‘struct mutex’}
482 | typedef _type lock_##_name##_t; \
| ^~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:558:1: note: in expansion of macro ‘__DEFINE_UNLOCK_GUARD’
558 | __DEFINE_UNLOCK_GUARD(_name, _type, _unlock, __VA_ARGS__) \
| ^~~~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/mutex.h:253:1: note: in expansion of macro ‘DEFINE_LOCK_GUARD_1’
253 | DEFINE_LOCK_GUARD_1(mutex, struct mutex, mutex_lock(_T->lock), mutex_unlock(_T->lock))
| ^~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:282:29: error: conflicting types for ‘class_mutex_destructor’; have ‘void(struct mutex **)’
282 | static __always_inline void class_##_name##_destructor(_type *p) \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:397:9: note: in expansion of macro ‘DEFINE_CLASS’
397 | DEFINE_CLASS(_name, _type, if (!__GUARD_IS_ERR(_T)) { _unlock; }, ({ _lock; _T; }), _type _T); \
| ^~~~~~~~~~~~
kcompat_cleanup.h:204:1: note: in expansion of macro ‘DEFINE_GUARD’
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:488:29: note: previous definition of ‘class_mutex_destructor’ with type ‘void(class_mutex_t *)’
488 | static __always_inline void class_##_name##_destructor(class_##_name##_t *_T) \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:558:1: note: in expansion of macro ‘__DEFINE_UNLOCK_GUARD’
558 | __DEFINE_UNLOCK_GUARD(_name, _type, _unlock, __VA_ARGS__) \
| ^~~~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/mutex.h:253:1: note: in expansion of macro ‘DEFINE_LOCK_GUARD_1’
253 | DEFINE_LOCK_GUARD_1(mutex, struct mutex, mutex_lock(_T->lock), mutex_unlock(_T->lock))
| ^~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:553:9: error: conflicting types for ‘class_mutex_constructor’; have ‘struct mutex *(struct mutex *)’
553 | class_##_name##_constructor(_T), \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/mutex.h:259:37: note: in expansion of macro ‘WITH_LOCK_GUARD_1_ATTRS’
259 | #define class_mutex_constructor(_T) WITH_LOCK_GUARD_1_ATTRS(mutex, _T)
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:285:30: note: in expansion of macro ‘class_mutex_constructor’
285 | static __always_inline _type class_##_name##_constructor(_init_args) \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:397:9: note: in expansion of macro ‘DEFINE_CLASS’
397 | DEFINE_CLASS(_name, _type, if (!__GUARD_IS_ERR(_T)) { _unlock; }, ({ _lock; _T; }), _type _T); \
| ^~~~~~~~~~~~
kcompat_cleanup.h:204:1: note: in expansion of macro ‘DEFINE_GUARD’
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:497:42: note: previous definition of ‘class_mutex_constructor’ with type ‘class_mutex_t(lock_mutex_t *)’ {aka ‘class_mutex_t(struct mutex *)’}
497 | static __always_inline class_##_name##_t class_##_name##_constructor(_type *l) \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:559:1: note: in expansion of macro ‘__DEFINE_LOCK_GUARD_1’
559 | __DEFINE_LOCK_GUARD_1(_name, _type, _lock)
| ^~~~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/mutex.h:253:1: note: in expansion of macro ‘DEFINE_LOCK_GUARD_1’
253 | DEFINE_LOCK_GUARD_1(mutex, struct mutex, mutex_lock(_T->lock), mutex_unlock(_T->lock))
| ^~~~~~~~~~~~~~~~~~~
In file included from :
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/compiler.h:168:17: warning: variable ‘__UNIQUE_ID_unlock_77’ declared ‘inline’
168 | __PASTE(__UNIQUE_ID_, \
| ^~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/compiler_types.h:15:24: note: in definition of macro ‘___PASTE’
15 | #define ___PASTE(a, b) a##b
| ^
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/compiler.h:168:9: note: in expansion of macro ‘__PASTE’
168 | __PASTE(__UNIQUE_ID_, \
| ^~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:554:10: note: in expansion of macro ‘__UNIQUE_ID’
554 | *__UNIQUE_ID(unlock) __cleanup(__class_##_name##_cleanup_ctx) = (void *)(unsigned long)(_T)
| ^~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/mutex.h:259:37: note: in expansion of macro ‘WITH_LOCK_GUARD_1_ATTRS’
259 | #define class_mutex_constructor(_T) WITH_LOCK_GUARD_1_ATTRS(mutex, _T)
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:285:30: note: in expansion of macro ‘class_mutex_constructor’
285 | static __always_inline _type class_##_name##_constructor(_init_args) \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:397:9: note: in expansion of macro ‘DEFINE_CLASS’
397 | DEFINE_CLASS(_name, _type, if (!__GUARD_IS_ERR(_T)) { _unlock; }, ({ _lock; _T; }), _type _T); \
| ^~~~~~~~~~~~
kcompat_cleanup.h:204:1: note: in expansion of macro ‘DEFINE_GUARD’
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~~~~~~~~
kcompat_cleanup.h:204:28: warning: ‘cleanup’ attribute ignored [-Wattributes]
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:553:37: note: in definition of macro ‘WITH_LOCK_GUARD_1_ATTRS’
553 | class_##_name##_constructor(_T), \
| ^~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:285:30: note: in expansion of macro ‘class_mutex_constructor’
285 | static __always_inline _type class_##_name##_constructor(_init_args) \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:397:9: note: in expansion of macro ‘DEFINE_CLASS’
397 | DEFINE_CLASS(_name, _type, if (!__GUARD_IS_ERR(_T)) { _unlock; }, ({ _lock; _T; }), _type _T); \
| ^~~~~~~~~~~~
kcompat_cleanup.h:204:1: note: in expansion of macro ‘DEFINE_GUARD’
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~~~~~~~~
kcompat_cleanup.h:204:28: warning: ‘gnu_inline’ attribute ignored [-Wattributes]
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:553:37: note: in definition of macro ‘WITH_LOCK_GUARD_1_ATTRS’
553 | class_##_name##_constructor(_T), \
| ^~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:285:30: note: in expansion of macro ‘class_mutex_constructor’
285 | static __always_inline _type class_##_name##_constructor(_init_args) \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:397:9: note: in expansion of macro ‘DEFINE_CLASS’
397 | DEFINE_CLASS(_name, _type, if (!__GUARD_IS_ERR(_T)) { _unlock; }, ({ _lock; _T; }), _type _T); \
| ^~~~~~~~~~~~
kcompat_cleanup.h:204:1: note: in expansion of macro ‘DEFINE_GUARD’
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/compiler.h:168:17: error: ‘no_instrument_function’ attribute applies only to functions
168 | __PASTE(__UNIQUE_ID_, \
| ^~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/compiler_types.h:15:24: note: in definition of macro ‘___PASTE’
15 | #define ___PASTE(a, b) a##b
| ^
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/compiler.h:168:9: note: in expansion of macro ‘__PASTE’
168 | __PASTE(__UNIQUE_ID_, \
| ^~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:554:10: note: in expansion of macro ‘__UNIQUE_ID’
554 | *__UNIQUE_ID(unlock) __cleanup(__class_##_name##_cleanup_ctx) = (void *)(unsigned long)(_T)
| ^~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/mutex.h:259:37: note: in expansion of macro ‘WITH_LOCK_GUARD_1_ATTRS’
259 | #define class_mutex_constructor(_T) WITH_LOCK_GUARD_1_ATTRS(mutex, _T)
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:285:30: note: in expansion of macro ‘class_mutex_constructor’
285 | static __always_inline _type class_##_name##_constructor(_init_args) \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:397:9: note: in expansion of macro ‘DEFINE_CLASS’
397 | DEFINE_CLASS(_name, _type, if (!__GUARD_IS_ERR(_T)) { _unlock; }, ({ _lock; _T; }), _type _T); \
| ^~~~~~~~~~~~
kcompat_cleanup.h:204:1: note: in expansion of macro ‘DEFINE_GUARD’
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~~~~~~~~
kcompat_cleanup.h:204:28: warning: ‘always_inline’ attribute ignored [-Wattributes]
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:553:37: note: in definition of macro ‘WITH_LOCK_GUARD_1_ATTRS’
553 | class_##_name##_constructor(_T), \
| ^~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:285:30: note: in expansion of macro ‘class_mutex_constructor’
285 | static __always_inline _type class_##_name##_constructor(_init_args) \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:397:9: note: in expansion of macro ‘DEFINE_CLASS’
397 | DEFINE_CLASS(_name, _type, if (!__GUARD_IS_ERR(_T)) { _unlock; }, ({ _lock; _T; }), _type _T); \
| ^~~~~~~~~~~~
kcompat_cleanup.h:204:1: note: in expansion of macro ‘DEFINE_GUARD’
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:397:99: error: expected ‘)’ before ‘_T’
397 | DEFINE_CLASS(_name, _type, if (!__GUARD_IS_ERR(_T)) { _unlock; }, ({ _lock; _T; }), _type _T); \
| ^~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:554:97: note: in definition of macro ‘WITH_LOCK_GUARD_1_ATTRS’
554 | *__UNIQUE_ID(unlock) __cleanup(__class_##_name##_cleanup_ctx) = (void *)(unsigned long)(_T)
| ^~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:285:30: note: in expansion of macro ‘class_mutex_constructor’
285 | static __always_inline _type class_##_name##_constructor(_init_args) \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:397:9: note: in expansion of macro ‘DEFINE_CLASS’
397 | DEFINE_CLASS(_name, _type, if (!__GUARD_IS_ERR(_T)) { _unlock; }, ({ _lock; _T; }), _type _T); \
| ^~~~~~~~~~~~
kcompat_cleanup.h:204:1: note: in expansion of macro ‘DEFINE_GUARD’
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:554:96: note: to match this ‘(’
554 | *__UNIQUE_ID(unlock) __cleanup(__class_##_name##_cleanup_ctx) = (void *)(unsigned long)(_T)
| ^
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/mutex.h:259:37: note: in expansion of macro ‘WITH_LOCK_GUARD_1_ATTRS’
259 | #define class_mutex_constructor(_T) WITH_LOCK_GUARD_1_ATTRS(mutex, _T)
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:285:30: note: in expansion of macro ‘class_mutex_constructor’
285 | static __always_inline _type class_##_name##_constructor(_init_args) \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:397:9: note: in expansion of macro ‘DEFINE_CLASS’
397 | DEFINE_CLASS(_name, _type, if (!__GUARD_IS_ERR(_T)) { _unlock; }, ({ _lock; _T; }), _type _T); \
| ^~~~~~~~~~~~
kcompat_cleanup.h:204:1: note: in expansion of macro ‘DEFINE_GUARD’
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~~~~~~~~
kcompat_cleanup.h:204:21: error: expected expression before ‘struct’
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:287:3: note: in definition of macro ‘DEFINE_CLASS’
287 | { _type t = _init; return t; }
| ^~~~~
kcompat_cleanup.h:204:1: note: in expansion of macro ‘DEFINE_GUARD’
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:354:34: error: redefinition of ‘class_mutex_is_conditional’
354 | static __maybe_unused const bool class_##_name##_is_conditional = _is_cond
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:389:9: note: in expansion of macro ‘__DEFINE_CLASS_IS_CONDITIONAL’
389 | __DEFINE_CLASS_IS_CONDITIONAL(_name, false); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:398:9: note: in expansion of macro ‘DEFINE_CLASS_IS_GUARD’
398 | DEFINE_CLASS_IS_GUARD(_name)
| ^~~~~~~~~~~~~~~~~~~~~
kcompat_cleanup.h:204:1: note: in expansion of macro ‘DEFINE_GUARD’
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:354:34: note: previous definition of ‘class_mutex_is_conditional’ with type ‘bool’ {aka ‘const _Bool’}
354 | static __maybe_unused const bool class_##_name##_is_conditional = _is_cond
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:557:1: note: in expansion of macro ‘__DEFINE_CLASS_IS_CONDITIONAL’
557 | __DEFINE_CLASS_IS_CONDITIONAL(_name, false); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/mutex.h:253:1: note: in expansion of macro ‘DEFINE_LOCK_GUARD_1’
253 | DEFINE_LOCK_GUARD_1(mutex, struct mutex, mutex_lock(_T->lock), mutex_unlock(_T->lock))
| ^~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:368:38: error: conflicting types for ‘class_mutex_lock_ptr’; have ‘void *(int *)’
368 | static __always_inline void *class_##_name##_lock_ptr(class_##_name##_t *_T) \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:390:9: note: in expansion of macro ‘__DEFINE_GUARD_LOCK_PTR’
390 | __DEFINE_GUARD_LOCK_PTR(_name, _T)
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:398:9: note: in expansion of macro ‘DEFINE_CLASS_IS_GUARD’
398 | DEFINE_CLASS_IS_GUARD(_name)
| ^~~~~~~~~~~~~~~~~~~~~
kcompat_cleanup.h:204:1: note: in expansion of macro ‘DEFINE_GUARD’
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:368:38: note: previous definition of ‘class_mutex_lock_ptr’ with type ‘void *(class_mutex_t *)’
368 | static __always_inline void *class_##_name##_lock_ptr(class_##_name##_t *_T) \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:494:1: note: in expansion of macro ‘__DEFINE_GUARD_LOCK_PTR’
494 | __DEFINE_GUARD_LOCK_PTR(_name, &_T->lock)
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:558:1: note: in expansion of macro ‘__DEFINE_UNLOCK_GUARD’
558 | __DEFINE_UNLOCK_GUARD(_name, _type, _unlock, __VA_ARGS__) \
| ^~~~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/mutex.h:253:1: note: in expansion of macro ‘DEFINE_LOCK_GUARD_1’
253 | DEFINE_LOCK_GUARD_1(mutex, struct mutex, mutex_lock(_T->lock), mutex_unlock(_T->lock))
| ^~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:376:36: error: conflicting types for ‘class_mutex_lock_err’; have ‘int(int *)’
376 | static __always_inline int class_##_name##_lock_err(class_##_name##_t *_T) \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:390:9: note: in expansion of macro ‘__DEFINE_GUARD_LOCK_PTR’
390 | __DEFINE_GUARD_LOCK_PTR(_name, _T)
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:398:9: note: in expansion of macro ‘DEFINE_CLASS_IS_GUARD’
398 | DEFINE_CLASS_IS_GUARD(_name)
| ^~~~~~~~~~~~~~~~~~~~~
kcompat_cleanup.h:204:1: note: in expansion of macro ‘DEFINE_GUARD’
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:376:36: note: previous definition of ‘class_mutex_lock_err’ with type ‘int(class_mutex_t *)’
376 | static __always_inline int class_##_name##_lock_err(class_##_name##_t *_T) \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:494:1: note: in expansion of macro ‘__DEFINE_GUARD_LOCK_PTR’
494 | __DEFINE_GUARD_LOCK_PTR(_name, &_T->lock)
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:558:1: note: in expansion of macro ‘__DEFINE_UNLOCK_GUARD’
558 | __DEFINE_UNLOCK_GUARD(_name, _type, _unlock, __VA_ARGS__) \
| ^~~~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/mutex.h:253:1: note: in expansion of macro ‘DEFINE_LOCK_GUARD_1’
253 | DEFINE_LOCK_GUARD_1(mutex, struct mutex, mutex_lock(_T->lock), mutex_unlock(_T->lock))
| ^~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:553:9: warning: ‘class_mutex_constructor’ declared ‘static’ but never defined [-Wunused-function]
553 | class_##_name##_constructor(_T), \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/mutex.h:259:37: note: in expansion of macro ‘WITH_LOCK_GUARD_1_ATTRS’
259 | #define class_mutex_constructor(_T) WITH_LOCK_GUARD_1_ATTRS(mutex, _T)
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:285:30: note: in expansion of macro ‘class_mutex_constructor’
285 | static __always_inline _type class_##_name##_constructor(_init_args) \
| ^~~~~~
/usr/lib/modules/7.0.3-arch1-2/build/include/linux/cleanup.h:397:9: note: in expansion of macro ‘DEFINE_CLASS’
397 | DEFINE_CLASS(_name, _type, if (!__GUARD_IS_ERR(_T)) { _unlock; }, ({ _lock; _T; }), _type _T); \
| ^~~~~~~~~~~~
kcompat_cleanup.h:204:1: note: in expansion of macro ‘DEFINE_GUARD’
204 | DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
| ^~~~~~~~~~~~
make[4]: *** [/usr/lib/modules/7.0.3-arch1-2/build/scripts/Makefile.build:289: igb_main.o] Error 1
make[3]: *** [/usr/lib/modules/7.0.3-arch1-2/build/Makefile:2105: .] Error 2
make[2]: *** [/usr/lib/modules/7.0.3-arch1-2/build/Makefile:248: __sub-make] Error 2
make[2]: Leaving directory '/home/erwin/.cache/yay/igb/src/igb-5.19.10/src'
make[1]: *** [Makefile:248: __sub-make] Error 2
make[1]: Leaving directory '/usr/lib/modules/7.0.3-arch1-2/build'
make: *** [Makefile:90: default] Error 2
make: Leaving directory '/home/erwin/.cache/yay/igb/src/igb-5.19.10/src'
==> ERROR: A failure occurred in build().
Aborting...
-> error making: igb-exit status 4
-> Failed to install the following packages. Manual intervention is required:
igb - exit status 4
```
The exact kernel version I'm running:
```
$ uname -a
Linux framework13 7.0.3-arch1-2 #1 SMP PREEMPT_DYNAMIC Fri, 01 May 2026 15:49:22 +0000 x86_64 GNU/Linux
```
Contributor guide
Assessment
This issue has not been assessed yet.