Re: [PATCH] modules: Fix display of wrong module .text address

From: Christian Borntraeger
Date: Tue Apr 17 2018 - 13:35:03 EST




On 04/17/2018 06:20 PM, Arnaldo Carvalho de Melo wrote:
> Em Tue, Apr 17, 2018 at 10:24:35AM +0200, Christian Borntraeger escreveu:
>>
>>
>> On 04/17/2018 10:20 AM, Thomas Richter wrote:
>>> In kernel v4.16.0 the module .text address is displayed
>>> wrong when using /sys/module/*/sections/.text file.
>>> Commit ef0010a30935 ("vsprintf: don't use 'restricted_pointer()' when
>>> not restricting")
>>> is the first bad commit.
>>>
>>> Here is the issue, using module qeth_l2 on s390 which is the
>>> ethernet device driver:
>>>
>>> [root@s35lp76 ~]# lsmod
>>> Module Size Used by
>>> qeth_l2 94208 1
>>> ...
>>>
>>> [root@s35lp76 ~]# cat /proc/modules | egrep '^qeth_l2'
>>> qeth_l2 94208 1 - Live 0x000003ff80401000
>>> ^ This is the correct address in memory
>>> [root@s35lp76 ~]# cat /sys/module/qeth_l2/sections/.text
>>> 0x0000000018ea8363 <---- This is a wrong address
>>> [root@s35lp76 ~]#
>>>
>>> This breaks the perf tool which uses this address on s390
>>> to calculate start of .text section in memory.
>>>
>>> Fix this by printing the correct (unhashed) address.
>>>
>>> Thanks to Jessica Yu for helping on this.
>>>
>>> Suggested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
>>> Signed-off-by: Thomas Richter <tmricht@xxxxxxxxxxxxx>
>>> Cc: Jessica Yu <jeyu@xxxxxxxxxx>
>>
>> CC stable?
>
> Adding the missing:
>
> Fixes: ef0010a30935 ("vsprintf: don't use 'restricted_pointer()' when not restricting")
>
> Should be enough?

Even better.