<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/sparc/include/asm/pgtable_32.h, branch linux-4.8.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.8.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.8.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-05-21T00:55:42Z</updated>
<entry>
<title>sparc32: fix build with STRICT_MM_TYPECHECKS</title>
<updated>2016-05-21T00:55:42Z</updated>
<author>
<name>Sam Ravnborg</name>
</author>
<published>2016-04-22T17:41:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6e6e41879e07daccb967bc75a31f29689354d11b'/>
<id>urn:sha1:6e6e41879e07daccb967bc75a31f29689354d11b</id>
<content type='text'>
Based on recent thread on linux-arch (some weeks ago) I
decided to check how much work was required to build sparc32
with STRICT_MM_TYPECHECKS enabled.

The resulting binary (checked srmmu.o) was to my suprise smaller with
STRICT_MM_TYPECHECKS defined, than without.

As I have no working gear to test sparc32 bits at for the moment,
I did not enable STRICT_MM_TYPECHECKS - but was tempeted to do so.

Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sparc32: do not include swap.h from pgtable_32.h</title>
<updated>2015-09-08T22:35:28Z</updated>
<author>
<name>Michal Hocko</name>
</author>
<published>2015-09-08T22:00:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b3d9ed3fd872fc074286674ae8595ee880938bbf'/>
<id>urn:sha1:b3d9ed3fd872fc074286674ae8595ee880938bbf</id>
<content type='text'>
"memcg: export struct mem_cgroup" will add includes into
linux/memcontrol.h which lead to further header dependency issues as
reported by Guenter Roeck:

  In file included from include/linux/highmem.h:7:0,
                   from include/linux/bio.h:23,
                   from include/linux/writeback.h:192,
                   from include/linux/memcontrol.h:30,
                   from include/linux/swap.h:8,
                   from ./arch/sparc/include/asm/pgtable_32.h:17,
                   from ./arch/sparc/include/asm/pgtable.h:6,
                   from arch/sparc/kernel/traps_32.c:23:
  include/linux/mm.h: In function 'is_vmalloc_addr':
  include/linux/mm.h:371:17: error: 'VMALLOC_START' undeclared (first use in this function)
  include/linux/mm.h:371:17: note: each undeclared identifier is reported only once for each function it appears in
  include/linux/mm.h:371:41: error: 'VMALLOC_END' undeclared (first use in this function)
  include/linux/mm.h: In function 'maybe_mkwrite':
  include/linux/mm.h:556:3: error: implicit declaration of function 'pte_mkwrite'

The issue is that pgtable_32.h depends on swap.h to get swap_entry_t but
that goes all the way down to linux/mm.h which wants to have VMALLOC_*
which is defined later in pgtable_32.h, though.

swap_entry_t is defined in include/mm_types.h so it should be sufficient
to include this header without more dependencies.

Signed-off-by: Michal Hocko &lt;mhocko@suse.com&gt;
Reported-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Tested-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Cc: David Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>mm: make FIRST_USER_ADDRESS unsigned long on all archs</title>
<updated>2015-02-12T01:06:03Z</updated>
<author>
<name>Kirill A. Shutemov</name>
</author>
<published>2015-02-11T23:26:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d016bf7ece53b2b947bfd769e0842fd2feb7556b'/>
<id>urn:sha1:d016bf7ece53b2b947bfd769e0842fd2feb7556b</id>
<content type='text'>
LKP has triggered a compiler warning after my recent patch "mm: account
pmd page tables to the process":

    mm/mmap.c: In function 'exit_mmap':
 &gt;&gt; mm/mmap.c:2857:2: warning: right shift count &gt;= width of type [enabled by default]

The code:

 &gt; 2857                WARN_ON(mm_nr_pmds(mm) &gt;
   2858                                round_up(FIRST_USER_ADDRESS, PUD_SIZE) &gt;&gt; PUD_SHIFT);

In this, on tile, we have FIRST_USER_ADDRESS defined as 0.  round_up() has
the same type -- int.  PUD_SHIFT.

I think the best way to fix it is to define FIRST_USER_ADDRESS as unsigned
long.  On every arch for consistency.

Signed-off-by: Kirill A. Shutemov &lt;kirill.shutemov@linux.intel.com&gt;
Reported-by: Wu Fengguang &lt;fengguang.wu@intel.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>sparc32: fix broken set_pte()</title>
<updated>2015-02-12T01:06:01Z</updated>
<author>
<name>Kirill A. Shutemov</name>
</author>
<published>2015-02-11T23:25:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4ecf886045152d2ddf98ae74e39f789868ac1f98'/>
<id>urn:sha1:4ecf886045152d2ddf98ae74e39f789868ac1f98</id>
<content type='text'>
32-bit sparc uses swap instruction to implement set_pte().  It called
using GCC inline assembler.  But it misses the "memory" clobber to
indicate that pte value will be updated in memory.

As result GCC doesn't know that it cannot postpone pte pointer dereference
which occurs before set_pte() to post-set_pte() time.

It leads to real-world bugs -- [1]. In this situation we have code:

	ptent = ptep_modify_prot_start(mm, addr, pte);
	ptent = pte_modify(ptent, newprot);
	...
	ptep_modify_prot_commit(mm, addr, pte, ptent);

ptep_modify_prot_start() in sparc case is just 'pte' dereference plus
pte_clear().  pte_clear() calls broken set_pte().  GCC thinks it's valid
to dereference 'pte' again on pte_modify() and gets cleared pte.
ptep_modify_prot_commit() puts 'pteent' with pfn==0 back to page table,
which eventually leads to the crash.

[1] http://lkml.kernel.org/r/54C06B19.8060305@roeck-us.net

Signed-off-by: Kirill A. Shutemov &lt;kirill.shutemov@linux.intel.com&gt;
Reported-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Tested-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Cc: Paul Moore &lt;pmoore@redhat.com&gt;
Cc: Joonsoo Kim &lt;iamjoonsoo.kim@lge.com&gt;
Cc: David Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>sparc: drop pte_file()-related helpers</title>
<updated>2015-02-10T22:30:33Z</updated>
<author>
<name>Kirill A. Shutemov</name>
</author>
<published>2015-02-10T22:11:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6a8c4820895cf1dd2a128aef67ce079ba6eded80'/>
<id>urn:sha1:6a8c4820895cf1dd2a128aef67ce079ba6eded80</id>
<content type='text'>
We've replaced remap_file_pages(2) implementation with emulation.  Nobody
creates non-linear mapping anymore.

This patch also increase number of bits availble for swap offset.

Signed-off-by: Kirill A. Shutemov &lt;kirill.shutemov@linux.intel.com&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>sparc: drop use of extern for prototypes in arch/sparc/include/asm</title>
<updated>2014-05-19T02:01:29Z</updated>
<author>
<name>Sam Ravnborg</name>
</author>
<published>2014-05-16T21:25:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f05a68653e56ca2f23bccf7e50be69486886f052'/>
<id>urn:sha1:f05a68653e56ca2f23bccf7e50be69486886f052</id>
<content type='text'>
Drop extern for all prototypes and adjust alignment of parameters
as required after the removal.
In a few rare cases adjust linelength to conform to maximum 80 chars,
and likewise in a few rare cases adjust alignment of parameters
to static functions.

Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sparc32: fix sparse warning in init_32.c</title>
<updated>2014-04-29T05:12:24Z</updated>
<author>
<name>Sam Ravnborg</name>
</author>
<published>2014-04-21T19:39:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4c9660f796fca741013e9ea7fc32db0638d0d193'/>
<id>urn:sha1:4c9660f796fca741013e9ea7fc32db0638d0d193</id>
<content type='text'>
Fix following warning:
init_32.c:112:22: warning: symbol 'bootmem_init' was not declared. Should it be static?

Fix by adding a proper prototype in pgtable_32.h and drop
the local prototype in srmmu.c

Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>consolidate io_remap_pfn_range definitions</title>
<updated>2013-06-29T08:46:35Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2013-05-11T16:13:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=40d158e61840fbbe23be3f37302a3ca237c15491'/>
<id>urn:sha1:40d158e61840fbbe23be3f37302a3ca237c15491</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>sparc32: drop unused BAD_PAGE stuff</title>
<updated>2012-07-26T23:46:16Z</updated>
<author>
<name>Sam Ravnborg</name>
</author>
<published>2012-07-26T11:02:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2acdf2cefe8065a35844566bf996628fbcc9e014'/>
<id>urn:sha1:2acdf2cefe8065a35844566bf996628fbcc9e014</id>
<content type='text'>
Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sparc32: centralize all mmu context handling in srmmu.c</title>
<updated>2012-07-26T23:46:16Z</updated>
<author>
<name>Sam Ravnborg</name>
</author>
<published>2012-07-26T11:02:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b585e8551b352cee95cf060b7eddc76d16e6120a'/>
<id>urn:sha1:b585e8551b352cee95cf060b7eddc76d16e6120a</id>
<content type='text'>
Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
