<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/scripts/mod/modpost.c, branch imx-android-r10.4</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>param: silence .init.text references from param ops</title>
<updated>2011-06-03T21:52:43+00:00</updated>
<author>
<name>Rusty Russell</name>
<email>rusty@rustcorp.com.au</email>
</author>
<published>2010-08-12T05:04:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=66f925e1ce18a31ccc9719f76564c843559e8fb3'/>
<id>66f925e1ce18a31ccc9719f76564c843559e8fb3</id>
<content type='text'>
Ideally, we'd check that it was only the "set" function which was __init,
and that the permissions were r/o.  But that's a little hard.

Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Acked-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Tested-by: Phil Carmody &lt;ext-phil.2.carmody@nokia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ideally, we'd check that it was only the "set" function which was __init,
and that the permissions were r/o.  But that's a little hard.

Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Acked-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Tested-by: Phil Carmody &lt;ext-phil.2.carmody@nokia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>powerpc: Fix module building for gcc 4.5 and 64 bit</title>
<updated>2010-07-08T08:11:38+00:00</updated>
<author>
<name>Stephen Rothwell</name>
<email>sfr@canb.auug.org.au</email>
</author>
<published>2010-06-29T20:08:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7fca5dc8aa7aaa6a1023bd3587901b88ebfe8154'/>
<id>7fca5dc8aa7aaa6a1023bd3587901b88ebfe8154</id>
<content type='text'>
Gcc 4.5 is now generating out of line register save and restore
in the function prefix and postfix when we use -Os.

Signed-off-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Gcc 4.5 is now generating out of line register save and restore
in the function prefix and postfix when we use -Os.

Signed-off-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>kbuild: Fix modpost segfault</title>
<updated>2010-06-11T22:21:58+00:00</updated>
<author>
<name>Krzysztof Halasa</name>
<email>khc@pm.waw.pl</email>
</author>
<published>2010-06-10T23:08:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1c938663d58b5b2965976a6f54cc51b5d6f691aa'/>
<id>1c938663d58b5b2965976a6f54cc51b5d6f691aa</id>
<content type='text'>
Alan &lt;alan@clueserver.org&gt; writes:

&gt; program: /home/alan/GitTrees/linux-2.6-mid-ref/scripts/mod/modpost -o
&gt; Module.symvers -S vmlinux.o
&gt;
&gt; Program received signal SIGSEGV, Segmentation fault.

It just hit me.
It's the offset calculation in reloc_location() which overflows:
        return (void *)elf-&gt;hdr + sechdrs[section].sh_offset +
               (r-&gt;r_offset - sechdrs[section].sh_addr);

E.g. for the first rodata r entry:
r-&gt;r_offset &lt; sechdrs[section].sh_addr
and the expression in the parenthesis produces 0xFFFFFFE0 or something
equally wise.

Reported-by: Alan &lt;alan@clueserver.org&gt;
Signed-off-by: Krzysztof Hałasa &lt;khc@pm.waw.pl&gt;
Tested-by: Alan &lt;alan@clueserver.org&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Alan &lt;alan@clueserver.org&gt; writes:

&gt; program: /home/alan/GitTrees/linux-2.6-mid-ref/scripts/mod/modpost -o
&gt; Module.symvers -S vmlinux.o
&gt;
&gt; Program received signal SIGSEGV, Segmentation fault.

It just hit me.
It's the offset calculation in reloc_location() which overflows:
        return (void *)elf-&gt;hdr + sechdrs[section].sh_offset +
               (r-&gt;r_offset - sechdrs[section].sh_addr);

E.g. for the first rodata r entry:
r-&gt;r_offset &lt; sechdrs[section].sh_addr
and the expression in the parenthesis produces 0xFFFFFFE0 or something
equally wise.

Reported-by: Alan &lt;alan@clueserver.org&gt;
Signed-off-by: Krzysztof Hałasa &lt;khc@pm.waw.pl&gt;
Tested-by: Alan &lt;alan@clueserver.org&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>modpost: don't allow *driver to reference .init.*</title>
<updated>2010-01-30T20:14:23+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2010-01-30T20:14:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0db252452378aa7a9e001a13226e1cd1dc61453d'/>
<id>0db252452378aa7a9e001a13226e1cd1dc61453d</id>
<content type='text'>
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>modpost: make symbol white list a per mismatch type variable</title>
<updated>2010-01-30T19:52:50+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2010-01-30T19:52:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=af92a82d0fec4dfd344b2ffd7a63e30f05c53938'/>
<id>af92a82d0fec4dfd344b2ffd7a63e30f05c53938</id>
<content type='text'>
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>modpost: remove now unused NO_MISMATCH constant</title>
<updated>2010-01-30T16:23:34+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2010-01-30T15:57:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fc2f7efadb755b020ad8fdf195515dacaf185e2d'/>
<id>fc2f7efadb755b020ad8fdf195515dacaf185e2d</id>
<content type='text'>
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>modpost: pass around const struct sectioncheck * instead of enum mismatch</title>
<updated>2010-01-30T16:20:52+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2010-01-30T15:56:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0d2a636ee6c3b8c292fbaae05976fe1537b70958'/>
<id>0d2a636ee6c3b8c292fbaae05976fe1537b70958</id>
<content type='text'>
This prepares having a per-check whitelist of symbol names.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This prepares having a per-check whitelist of symbol names.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>modpost: give most mismatch constants a better name</title>
<updated>2010-01-30T15:54:30+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2010-01-30T15:35:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bbd3f4fb84f8c4a04f22c9c6dc119b0c4856c7d9'/>
<id>bbd3f4fb84f8c4a04f22c9c6dc119b0c4856c7d9</id>
<content type='text'>
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>modpost: define ALL_XXX{IN,EX}IT_SECTIONS</title>
<updated>2010-01-29T20:57:00+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2010-01-29T11:04:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4a31a229fb6cbbeabf5ca9a0dcb55d53ca052048'/>
<id>4a31a229fb6cbbeabf5ca9a0dcb55d53ca052048</id>
<content type='text'>
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>modpost: members of *driver structs should not point to __init functions</title>
<updated>2010-01-29T20:56:55+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2010-01-29T10:40:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b75dcabd6c6c71d7cea64f78b06d18d9cda0ddd1'/>
<id>b75dcabd6c6c71d7cea64f78b06d18d9cda0ddd1</id>
<content type='text'>
Either the functions referred to in a driver struct should live in
.devinit or the driver should be registered using platform_driver_probe
(or equivalent for different driver types) with -&gt;probe being NULL.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Either the functions referred to in a driver struct should live in
.devinit or the driver should be registered using platform_driver_probe
(or equivalent for different driver types) with -&gt;probe being NULL.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
</feed>
