<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arm/mm, branch linux-4.10.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.10.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.10.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-01-30T12:04:12Z</updated>
<entry>
<title>ARM: 8642/1: LPAE: catch pending imprecise abort on unmask</title>
<updated>2017-01-30T12:04:12Z</updated>
<author>
<name>Alexander Sverdlin</name>
</author>
<published>2017-01-17T20:10:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=97a98ae5b8acf08d07d972c087b2def060bc9b73'/>
<id>urn:sha1:97a98ae5b8acf08d07d972c087b2def060bc9b73</id>
<content type='text'>
Asynchronous external abort is coded differently in DFSR with LPAE enabled.

Fixes: 9254970c "ARM: 8447/1: catch pending imprecise abort on unmask".
Signed-off-by: Alexander Sverdlin &lt;alexander.sverdlin@nokia.com&gt;
Cc: Russell King &lt;linux@armlinux.org.uk&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>cpu/hotplug: Cleanup state names</title>
<updated>2016-12-25T09:47:44Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2016-12-21T19:19:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=73c1b41e63f040e92669e61a02c7893933bfe743'/>
<id>urn:sha1:73c1b41e63f040e92669e61a02c7893933bfe743</id>
<content type='text'>
When the state names got added a script was used to add the extra argument
to the calls. The script basically converted the state constant to a
string, but the cleanup to convert these strings into meaningful ones did
not happen.

Replace all the useless strings with 'subsys/xxx/yyy:state' strings which
are used in all the other places already.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Sebastian Siewior &lt;bigeasy@linutronix.de&gt;
Link: http://lkml.kernel.org/r/20161221192112.085444152@linutronix.de
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;

</content>
</entry>
<entry>
<title>Merge branches 'clkdev', 'fixes', 'misc' and 'sa1100-base' into for-linus</title>
<updated>2016-12-14T11:13:46Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2016-12-14T11:13:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=41884629fe579bde263dfc3d1284d0f5c7af7d1a'/>
<id>urn:sha1:41884629fe579bde263dfc3d1284d0f5c7af7d1a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ARM: mm: allow set_memory_*() to be used on the vmalloc region</title>
<updated>2016-11-29T18:00:34Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2016-11-21T16:07:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=76fb051d42945d142fe265b6ec79e06aa9cfb250'/>
<id>urn:sha1:76fb051d42945d142fe265b6ec79e06aa9cfb250</id>
<content type='text'>
We can allow modules to be loaded into the vmalloc region, where they
should also benefit from the same protections as those loaded into
the more efficient module region.  Allow these functions to operate
there as well.

Signed-off-by: Russell King &lt;rmk+kernel@armlinux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: mm: fix set_memory_*() bounds checks</title>
<updated>2016-11-29T18:00:34Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2016-11-21T16:02:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=580218f9678e76f712a1cf6cff5a903917fa9558'/>
<id>urn:sha1:580218f9678e76f712a1cf6cff5a903917fa9558</id>
<content type='text'>
The set_memory_*() bounds checks are buggy on several fronts:

1. They fail to round the region size up if the passed address is not
   page aligned.
2. The region check was incomplete, and didn't correspond with what
   was being asked of apply_to_page_range()

So, rework change_memory_common() to fix these problems, adding an
"in_region()" helper to determine whether the start &amp; size fit within
the provided region start and stop addresses.

Signed-off-by: Russell King &lt;rmk+kernel@armlinux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: 8623/1: mm: add ARM_L1_CACHE_SHIFT_7 for UniPhier outer cache</title>
<updated>2016-11-15T15:31:03Z</updated>
<author>
<name>Masahiro Yamada</name>
</author>
<published>2016-10-31T13:37:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=01bf92788ee701d39064ea42874b0eb37da67716'/>
<id>urn:sha1:01bf92788ee701d39064ea42874b0eb37da67716</id>
<content type='text'>
The UniPhier outer cache (arch/arm/mm/cache-uniphier.c) has 128 byte
line length and its tags are also managed per 128 byte line.  This
is very unfortunate, but the current 64 byte alignment for kmalloc()
causes sharing problems on DMA if used with this outer cache.

This commit adds ARM_L1_CACHE_SHIFT_7 to increase the DMA minimum
alignment to 128 byte if CACHE_UNIPHIER is enabled.  There are
several drivers that assume aligning to L1_CACHE_BYTES will be DMA
safe, so this commit also changes the L1_CACHE_BYTES for safety.

Having said that, I hesitate to align all the other SoCs in Multi
platform to the UniPhier's requirement.  So, I am disabling the
CONFIG_CACHE_UNIPHIER by default, so that multi_v7_defconfig will
still stay with CONFIG_ARM_L1_CACHE_SHIFT=6.  With this commit,
UniPhier SoCs will become slower, but it is much better than system
crash.  If desired, the outer-cache can be enabled by merge_config
or something.

Note:
The UniPhier PH1-Pro5 SoC is equipped also with L3 cache with 256
byte line size but its tags are managed per 128 byte sub-line.
So, ARM_L1_CACHE_SHIFT_7 should be fine for all the UniPhier SoCs.

Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: 8628/1: dma-mapping: preallocate DMA-debug hash tables in core_initcall</title>
<updated>2016-11-15T15:29:37Z</updated>
<author>
<name>Marek Szyprowski</name>
</author>
<published>2016-11-15T13:00:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=256ff1cf6b44cba9c9c2059f4516259e9319a808'/>
<id>urn:sha1:256ff1cf6b44cba9c9c2059f4516259e9319a808</id>
<content type='text'>
fs_initcall is definitely too late to initialize DMA-debug hash tables,
because some drivers might get probed and use DMA mapping framework
already in core_initcall. Late initialization of DMA-debug results in
false warning about accessing memory, that was not allocated, like this
one:
------------[ cut here ]------------
WARNING: CPU: 5 PID: 1 at lib/dma-debug.c:1104 check_unmap+0xa1c/0xe50
exynos-sysmmu 10a60000.sysmmu: DMA-API: device driver tries to free DMA memory it has not allocated [device
address=0x000000006ebd0000] [size=16384 bytes]
Modules linked in:
CPU: 5 PID: 1 Comm: swapper/0 Not tainted 4.9.0-rc5-00028-g39dde3d-dirty #44
Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[&lt;c0119dd4&gt;] (unwind_backtrace) from [&lt;c01122bc&gt;] (show_stack+0x20/0x24)
[&lt;c01122bc&gt;] (show_stack) from [&lt;c062714c&gt;] (dump_stack+0x84/0xa0)
[&lt;c062714c&gt;] (dump_stack) from [&lt;c0132560&gt;] (__warn+0x14c/0x180)
[&lt;c0132560&gt;] (__warn) from [&lt;c01325dc&gt;] (warn_slowpath_fmt+0x48/0x50)
[&lt;c01325dc&gt;] (warn_slowpath_fmt) from [&lt;c06814f8&gt;] (check_unmap+0xa1c/0xe50)
[&lt;c06814f8&gt;] (check_unmap) from [&lt;c06819c4&gt;] (debug_dma_unmap_page+0x98/0xc8)
[&lt;c06819c4&gt;] (debug_dma_unmap_page) from [&lt;c076c3e8&gt;] (exynos_iommu_domain_free+0x158/0x380)
[&lt;c076c3e8&gt;] (exynos_iommu_domain_free) from [&lt;c0764a30&gt;] (iommu_domain_free+0x34/0x60)
[&lt;c0764a30&gt;] (iommu_domain_free) from [&lt;c011f168&gt;] (release_iommu_mapping+0x30/0xb8)
[&lt;c011f168&gt;] (release_iommu_mapping) from [&lt;c011f23c&gt;] (arm_iommu_release_mapping+0x4c/0x50)
[&lt;c011f23c&gt;] (arm_iommu_release_mapping) from [&lt;c0b061ac&gt;] (s5p_mfc_probe+0x640/0x80c)
[&lt;c0b061ac&gt;] (s5p_mfc_probe) from [&lt;c07e6750&gt;] (platform_drv_probe+0x70/0x148)
[&lt;c07e6750&gt;] (platform_drv_probe) from [&lt;c07e25c0&gt;] (driver_probe_device+0x12c/0x6b0)
[&lt;c07e25c0&gt;] (driver_probe_device) from [&lt;c07e2c6c&gt;] (__driver_attach+0x128/0x17c)
[&lt;c07e2c6c&gt;] (__driver_attach) from [&lt;c07df74c&gt;] (bus_for_each_dev+0x88/0xc8)
[&lt;c07df74c&gt;] (bus_for_each_dev) from [&lt;c07e1b6c&gt;] (driver_attach+0x34/0x58)
[&lt;c07e1b6c&gt;] (driver_attach) from [&lt;c07e1350&gt;] (bus_add_driver+0x18c/0x32c)
[&lt;c07e1350&gt;] (bus_add_driver) from [&lt;c07e4198&gt;] (driver_register+0x98/0x148)
[&lt;c07e4198&gt;] (driver_register) from [&lt;c07e5cb0&gt;] (__platform_driver_register+0x58/0x74)
[&lt;c07e5cb0&gt;] (__platform_driver_register) from [&lt;c174cb30&gt;] (s5p_mfc_driver_init+0x1c/0x20)
[&lt;c174cb30&gt;] (s5p_mfc_driver_init) from [&lt;c0102690&gt;] (do_one_initcall+0x64/0x258)
[&lt;c0102690&gt;] (do_one_initcall) from [&lt;c17014c0&gt;] (kernel_init_freeable+0x3d0/0x4d0)
[&lt;c17014c0&gt;] (kernel_init_freeable) from [&lt;c116eeb4&gt;] (kernel_init+0x18/0x134)
[&lt;c116eeb4&gt;] (kernel_init) from [&lt;c010bbd8&gt;] (ret_from_fork+0x14/0x3c)
---[ end trace dc54c54bd3581296 ]---

This patch moves initialization of DMA-debug to core_initcall. This is
safe from the initialization perspective. dma_debug_do_init() internally calls
debugfs functions and debugfs also gets initialised at core_initcall(), and
that is earlier than arch code in the link order, so it will get initialized
just before the DMA-debug.

Reported-by: Seung-Woo Kim &lt;sw0312.kim@samsung.com&gt;
Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: 8624/1: proc-v7m.S: fix init section name</title>
<updated>2016-11-15T15:28:57Z</updated>
<author>
<name>Nicolas Pitre</name>
</author>
<published>2016-11-01T20:58:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=544457fa278216c5fcea6a16e9b2ee8aadaca0ca'/>
<id>urn:sha1:544457fa278216c5fcea6a16e9b2ee8aadaca0ca</id>
<content type='text'>
There is no .text.init sections.

Signed-off-by: Nicolas Pitre &lt;nico@linaro.org&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: fix oops when using older ARMv4T CPUs</title>
<updated>2016-10-19T09:18:43Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2016-10-18T09:24:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=04946fb60fb157faafa01658dff3131d49f49ccb'/>
<id>urn:sha1:04946fb60fb157faafa01658dff3131d49f49ccb</id>
<content type='text'>
Alexander Shiyan reports that CLPS711x fails at boot time in the data
exception handler due to a NULL pointer dereference.  This is caused by
the late-v4t abort handler overwriting R9 (which becomes zero).  Fix
this by making the abort handler save and restore R9.

Unable to handle kernel NULL pointer dereference at virtual address 00000008
pgd = c3b58000
[00000008] *pgd=800000000, *pte=00000000, *ppte=feff4140
Internal error: Oops: 63c11817 [#1] PREEMPT ARM
CPU: 0 PID: 448 Comm: ash Not tainted 4.8.1+ #1
Hardware name: Cirrus Logic CLPS711X (Device Tree Support)
task: c39e03a0 ti: c3b4e000 task.ti: c3b4e000
PC is at __dabt_svc+0x4c/0x60
LR is at do_page_fault+0x144/0x2ac
pc : [&lt;c000d3ac&gt;]    lr : [&lt;c000fcec&gt;]    psr: 60000093
sp : c3b4fe6c  ip : 00000001  fp : b6f1bf88
r10: c387a5a0  r9 : 00000000  r8 : e4e0e001
r7 : bee3ef83  r6 : 00100000  r5 : 80000013  r4 : c022fcf8
r3 : 00000000  r2 : 00000008  r1 : bf000000  r0 : 00000000
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 0000217f  Table: c3b58055  DAC: 00000055
Process ash (pid: 448, stack limit = 0xc3b4e190)
Stack: (0xc3b4fe6c to 0xc3b50000)
fe60:                            bee3ef83 c05168d1 ffffffff 00000000 c3adfe80
fe80: c3a03300 00000000 c3b4fed0 c3a03400 bee3ef83 c387a5a0 b6f1bf88 00000001
fea0: c3b4febc 00000076 c022fcf8 80000013 ffffffff 0000003f bf000000 bee3ef83
fec0: 00000004 00000000 c3adfe80 c00e432c 00000812 00000005 00000001 00000006
fee0: b6f1b000 00000000 00010000 0003c944 0004d000 0004d439 00010000 b6f1b000
ff00: 00000005 00000000 00015ecc c3b4fed0 0000000a 00000000 00000000 c00a1dc0
ff20: befff000 c3a03300 c3b4e000 c0507cd8 c0508024 fffffff8 c3a03300 00000000
ff40: c0516a58 c00a35bc c39e03a0 000001c0 bea84ce8 0004e008 c3b3a000 c00a3ac0
ff60: c3b40374 c3b3a000 bea84d11 00000000 c0500188 bea84d11 bea84ce8 00000001
ff80: 0000000b c000a304 c3b4e000 00000000 bea84ce4 c00a3cd0 00000000 bea84d11
ffa0: bea84ce8 c000a160 bea84d11 bea84ce8 bea84d11 bea84ce8 0004e008 0004d450
ffc0: bea84d11 bea84ce8 00000001 0000000b b6f45ee4 00000000 b6f5ff70 bea84ce4
ffe0: b6f2f130 bea84cb0 b6f2f194 b6ef29f4 a0000010 bea84d11 02c7cffa 02c7cffd
[&lt;c000d3ac&gt;] (__dabt_svc) from [&lt;c022fcf8&gt;] (__copy_to_user_std+0xf8/0x330)
[&lt;c022fcf8&gt;] (__copy_to_user_std) from [&lt;c00e432c&gt;]
+(load_elf_binary+0x920/0x107c)
[&lt;c00e432c&gt;] (load_elf_binary) from [&lt;c00a35bc&gt;]
+(search_binary_handler+0x80/0x16c)
[&lt;c00a35bc&gt;] (search_binary_handler) from [&lt;c00a3ac0&gt;]
+(do_execveat_common+0x418/0x600)
[&lt;c00a3ac0&gt;] (do_execveat_common) from [&lt;c00a3cd0&gt;] (do_execve+0x28/0x30)
[&lt;c00a3cd0&gt;] (do_execve) from [&lt;c000a160&gt;] (ret_fast_syscall+0x0/0x30)
Code: e1a0200d eb00136b e321f093 e59d104c (e5891008)
---[ end trace 4b4f8086ebef98c5 ]---

Fixes: e6978e4bf181 ("ARM: save and reset the address limit when entering an exception")
Reported-by: Alexander Shiyan &lt;shc_work@mail.ru&gt;
Tested-by: Alexander Shiyan &lt;shc_work@mail.ru&gt;
Signed-off-by: Russell King &lt;rmk+kernel@armlinux.org.uk&gt;
</content>
</entry>
<entry>
<title>Merge branch 'work.uaccess2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs</title>
<updated>2016-10-12T06:38:39Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2016-10-12T06:38:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4cdf8dbe2d4b3891a9abd9f9ec32acbe58de0cf6'/>
<id>urn:sha1:4cdf8dbe2d4b3891a9abd9f9ec32acbe58de0cf6</id>
<content type='text'>
Pull uaccess.h prepwork from Al Viro:
 "Preparations to tree-wide switch to use of linux/uaccess.h (which,
  obviously, will allow to start unifying stuff for real). The last step
  there, ie

    PATT='^[[:blank:]]*#[[:blank:]]*include[[:blank:]]*&lt;asm/uaccess.h&gt;'
    sed -i -e "s!$PATT!#include &lt;linux/uaccess.h&gt;!" \
            `git grep -l "$PATT"|grep -v ^include/linux/uaccess.h`

  is not taken here - I would prefer to do it once just before or just
  after -rc1.  However, everything should be ready for it"

* 'work.uaccess2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  remove a stray reference to asm/uaccess.h in docs
  sparc64: separate extable_64.h, switch elf_64.h to it
  score: separate extable.h, switch module.h to it
  mips: separate extable.h, switch module.h to it
  x86: separate extable.h, switch sections.h to it
  remove stray include of asm/uaccess.h from cacheflush.h
  mn10300: remove a bogus processor.h-&gt;uaccess.h include
  xtensa: split uaccess.h into C and asm sides
  bonding: quit messing with IOCTL
  kill __kernel_ds_p off
  mn10300: finish verify_area() off
  frv: move HAVE_ARCH_UNMAPPED_AREA to pgtable.h
  exceptions: detritus removal
</content>
</entry>
</feed>
