A change to RB_COLOR_INSERT, when merged into stable/13, broke binary compatibility. For 13, call the new function RB_DO_COLOR_INSERT, and restore the old function with the original name and parameters. Define RB_COLOR_INSERT in tree.h, and remove changes to the linux rbtree header.
Details
- Reviewers
alc • hselasky manu - Commits
- rGd8a88ec38149: rb_tree: restore binary compat w/ 13
Built GENERIC kernel
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Hi Doug,
This changes are probably right but I messed up yesterday and replied to the wrong commit message.
The offending commit is 72c99edafa49 ("rb_tree: reduce duplication in balancing code")
The struct RB_ENTRY changes are problably the reason for the hang I have in drm-kmod (and any other kmod that uses those).
Cheers,
Change usages of _RB_LINK to reorder the three pointers in RB_ENTRY to match the order in stable/13.
I compiled a GENERIC kernel successfully. I'll wait to hear if this fixes the drm-kmod problem that manu reported before I commit it.
Thanks a lot this fixes the issue !
For the record I've build rev 50f61166f7b9 ("Revert "LinuxKPI: Add pci_power querying for drm-kmod"") of stable/13 plus this patch and install drm-510-kmod from the 13.1 official repository and it worked for i915kms.
Again I have no clue about this code so I didn't review it but you can add Tested by: manu if you want.