[elrepo] Announcement: EL6 and EL7 Updated kmod-r8168 Release [8.046.00-1]

Phil Perry phil at elrepo.org
Mon Sep 10 15:08:06 EDT 2018


On 10/09/18 11:31, Nick Howitt wrote:
> On 09/09/2018 13:02, Phil Perry wrote:
>>
>> On 09/09/18 12:39, Nick Howitt wrote:
>>> Thanks for this.
>>> The el6 version compiles cleanly with a 6.9 kernel. Do you know if 
>>> the package is in any way limited to 6.10 kernels as I don't have a 
>>> current 6.10 installation I can test against.
>>>
>>> Regards,
>>>
>>> Nick
>>>
>>
>> The module only weak links against 6.10 kernels when build against 6.10:
>>
>> $ find /lib/modules/ -name r8168.ko
>> /lib/modules/2.6.32-754.el6.x86_64/extra/r8168/r8168.ko
>> /lib/modules/2.6.32-754.2.1.el6.x86_64/weak-updates/r8168/r8168.ko
>> /lib/modules/2.6.32-754.3.5.el6.x86_64/weak-updates/r8168/r8168.ko
>>
>> due to the new retpoline __x86_indirect_thunk_* functions:
>>
>> $ rpm -q --requires kmod-r8168 | grep __x86_indirect_thunk_
>> kernel(__x86_indirect_thunk_r10) = 0x7e526bfa
>> kernel(__x86_indirect_thunk_r11) = 0xbfdcb43a
>> kernel(__x86_indirect_thunk_r8) = 0x1ed8b599
>> kernel(__x86_indirect_thunk_rax) = 0x2ea2c95c
>> kernel(__x86_indirect_thunk_rcx) = 0xc29957c3
>> kernel(__x86_indirect_thunk_rdx) = 0xb601be4c
>>
>> hence the .el6_10.elrepo dist tag used to signify the package is 
>> specific to 6.10.
>>
>> I can't answer as to what you are doing if you are rebuilding against 
>> older non-RHEL compatible kernels, so your guess is as good as mine.
>>

> Hi Phil
> 
> Wacky but it looks like it will weak-link forwards from 2.6.32-690.30 
> when compiled with a 2.6.32-690.30.1 kernel, but it will not weak-link 
> backwards. Anyway, to avoid possible issues I have set a kernel 
> dependency for >= 2.6.32-754. You did that type of Requires in the 7.5 
> src.rpm but not the 6.10.

IIRC, kernel-2.6.32-690.30 contains the retpoline fixes, so yes if built 
against that kernel with a compiler (gcc) which also supports 
retpolines, then the resultant module will not weak link back to older 
kernels missing the __x86_indirect_thunk_* symbols, but may well forward 
link assuming the kABI of other used symbols has not changed. You need 
to look carefully at the kernel symbols used and their versions.

The hard kernel Requires is not so much required as a courtesy. Yum will 
resolve deps based on kernel symbols and do the right thing, but 
sometimes it's more helpful to a user to see the kmod package requires 
kernel >= 2.6.32-754.el6 than it is to see it requires 
kernel(__x86_indirect_thunk_r10) = 0x7e526bfa. That said, it normally 
ends up getting lost amongst all the other noise so users still end up 
asking anyway. Looks like in this case we forgot to add/update the 
requires - no biggie, it's cosmetic at best.

> Also worth noting is that if you compile these from the src.rpm, neither 
> the 6_10 nor the 7_5 packages get the 6_10 or the 7_5 tag in the 
> generated rpm. With the 7.4 packages you overwrote the Release parameter 
> in the r8168-kmod.spec file.
> 

Yes, we recently reverted this as others were rebuilding our SRPMs 
without updating the dist tag and producing packages with 'elrepo' in 
the release thus creating support load and headaches for us. We now set 
dist as we see fit at build time. Similarly, you may do as you see fit 
when you rebuild as they become your packages, not ours. The only thing 
we ask is please do not use/replicate 'elrepo' in the release as they 
are no longer elrepo packages.



More information about the elrepo mailing list