All of lore.kernel.org
 help / color / mirror / Atom feed
From: Helge Deller <deller@gmx.de>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: linux-parisc@vger.kernel.org,
	Linux Kernel Development <linux-kernel@vger.kernel.org>,
	Kyle McMartin <kyle@mcmartin.ca>,
	Randolph Chung <randolph@tausq.org>,
	Moritz Muehlenhoff <jmm@inutil.org>,
	Linus <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Helge Deller <deller@gmx.de>
Subject: Re: [PATCH 2/2] parisc: fix module loading failure of large modules
Date: Mon, 29 Dec 2008 17:09:44 +0100	[thread overview]
Message-ID: <4958F648.6010401@gmx.de> (raw)
In-Reply-To: <20081229154610.GA7871@uranus.ravnborg.org>

Sam Ravnborg wrote:
> On Mon, Dec 29, 2008 at 03:10:28PM +0100, Helge Deller wrote:
>> [PATCH 2/2] parisc: fix module loading failure of large modules
>>
>> On 32bit (and sometimes 64bit) and with big kernel modules like xfs or
>> ipv6 the relocation types R_PARISC_PCREL17F and R_PARISC_PCREL22F may
>> fail to reach their PLT stub if we only create one big stub array for
>> all sections at the beginning of the core or init section.
>>
>> With this patch we now instead append individual PLT stub entries
>> directly at the end of the code sections where the stubs are actually
>> called. This reduces the distance between the PCREL location and the
>> stub entry so that the relocations can be fulfilled.
>>
>> The kernel module loader will call module_additional_section_size() and
>> request us to return the amount of additional memory we need for the
>> stubs of each section. The final section size of the code segment will
>> then be increased by that value when the kernel layouts the final
>> addresses of all sections.
>>
>> Tested with 32- and 64bit kernels.
>>
>> Signed-off-by: Helge Deller <deller@gmx.de>
>>
> 
>> diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
>> index 644a70b..cbb622f 100644
>> --- a/arch/parisc/Kconfig
>> +++ b/arch/parisc/Kconfig
>> @@ -34,6 +34,9 @@ config RWSEM_GENERIC_SPINLOCK
>>  config RWSEM_XCHGADD_ALGORITHM
>>  	bool
>>  
>> +config ARCH_WANTS_STUBS_BEHIND_SECTIONS
>> +	def_bool y
>> +
> 
> The recommended practive today is:
> 
> In some relevant Kconfig file add:
> 
> config HAVE_MODULE_SECTION_STUBS
> 	bool
> 
> And then in arch/$ARCH/Kconfig do:
> 
> config PARISC
> 	...
> 	select HAVE_MODULE_SECTION_STUBS
> 	...
> 
> The select are supposed to be sorted alphabetically
> but people seems to use a different alphabet for
> each arch.

Thanks Sam,
I'll change that and respin.

Helge

  reply	other threads:[~2008-12-29 16:09 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-29 14:07 [PATCH] parisc: fix module loading failure of large kernel modules Helge Deller
2008-12-29 14:07 ` Helge Deller
2008-12-29 14:09 ` [PATCH 1/2] module.c: fix module loading failure of large modules Helge Deller
2008-12-29 14:09   ` Helge Deller
2008-12-29 14:10 ` [PATCH 2/2] parisc: " Helge Deller
2008-12-29 14:10   ` Helge Deller
2008-12-29 15:46   ` Sam Ravnborg
2008-12-29 16:09     ` Helge Deller [this message]
2008-12-29 16:14   ` John David Anglin
2008-12-29 17:56     ` Helge Deller
  -- strict thread matches above, loose matches on Subject: below --
2008-12-29 20:34 [PATCH] parisc: fix module loading failure of large kernel modules (take 2) Helge Deller
2008-12-30 22:45 ` Rusty Russell
2008-12-31 11:31   ` [PATCH] parisc: fix module loading failure of large kernel modules (take 4) Helge Deller
2008-12-31 11:36     ` [PATCH 2/2] parisc: fix module loading failure of large modules Helge Deller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4958F648.6010401@gmx.de \
    --to=deller@gmx.de \
    --cc=akpm@linux-foundation.org \
    --cc=jmm@inutil.org \
    --cc=kyle@mcmartin.ca \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=randolph@tausq.org \
    --cc=sam@ravnborg.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.