<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/s390/kernel, branch linux-3.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2015-05-06T20:01:43Z</updated>
<entry>
<title>s390/hibernate: fix save and restore of kernel text section</title>
<updated>2015-05-06T20:01:43Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2015-03-25T09:13:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0b9f85366c8e13e54df01ac190d33f58f87c9fd7'/>
<id>urn:sha1:0b9f85366c8e13e54df01ac190d33f58f87c9fd7</id>
<content type='text'>
commit d74419495633493c9cd3f2bbeb7f3529d0edded6 upstream.

Sebastian reported a crash caused by a jump label mismatch after resume.
This happens because we do not save the kernel text section during suspend
and therefore also do not restore it during resume, but use the kernel image
that restores the old system.

This means that after a suspend/resume cycle we lost all modifications done
to the kernel text section.
The reason for this is the pfn_is_nosave() function, which incorrectly
returns that read-only pages don't need to be saved. This is incorrect since
we mark the kernel text section read-only.
We still need to make sure to not save and restore pages contained within
NSS and DCSS segment.
To fix this add an extra case for the kernel text section and only save
those pages if they are not contained within an NSS segment.

Fixes the following crash (and the above bugs as well):

Jump label code mismatch at netif_receive_skb_internal+0x28/0xd0
Found:    c0 04 00 00 00 00
Expected: c0 f4 00 00 00 11
New:      c0 04 00 00 00 00
Kernel panic - not syncing: Corrupted kernel text
CPU: 0 PID: 9 Comm: migration/0 Not tainted 3.19.0-01975-gb1b096e70f23 #4
Call Trace:
  [&lt;0000000000113972&gt;] show_stack+0x72/0xf0
  [&lt;000000000081f15e&gt;] dump_stack+0x6e/0x90
  [&lt;000000000081c4e8&gt;] panic+0x108/0x2b0
  [&lt;000000000081be64&gt;] jump_label_bug.isra.2+0x104/0x108
  [&lt;0000000000112176&gt;] __jump_label_transform+0x9e/0xd0
  [&lt;00000000001121e6&gt;] __sm_arch_jump_label_transform+0x3e/0x50
  [&lt;00000000001d1136&gt;] multi_cpu_stop+0x12e/0x170
  [&lt;00000000001d1472&gt;] cpu_stopper_thread+0xb2/0x168
  [&lt;000000000015d2ac&gt;] smpboot_thread_fn+0x134/0x1b0
  [&lt;0000000000158baa&gt;] kthread+0x10a/0x110
  [&lt;0000000000824a86&gt;] kernel_thread_starter+0x6/0xc

Reported-and-tested-by: Sebastian Ott &lt;sebott@linux.vnet.ibm.com&gt;
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux</title>
<updated>2015-01-22T18:40:36Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2015-01-22T18:40:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=193934123c84fa168d0326aa6ab8d58cd173b32a'/>
<id>urn:sha1:193934123c84fa168d0326aa6ab8d58cd173b32a</id>
<content type='text'>
Pull module and param fixes from Rusty Russell:
 "Surprising number of fixes this merge window :(

  The first two are minor fallout from the param rework which went in
  this merge window.

  The next three are a series which fixes a longstanding (but never
  previously reported and unlikely , so no CC stable) race between
  kallsyms and freeing the init section.

  Finally, a minor cleanup as our module refcount will now be -1 during
  unload"

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
  module: make module_refcount() a signed integer.
  module: fix race in kallsyms resolution during module load success.
  module: remove mod arg from module_free, rename module_memfree().
  module_arch_freeing_init(): new hook for archs before module-&gt;module_init freed.
  param: fix uninitialized read with CONFIG_DEBUG_LOCK_ALLOC
  param: initialize store function to NULL if not available.
</content>
</entry>
<entry>
<title>module_arch_freeing_init(): new hook for archs before module-&gt;module_init freed.</title>
<updated>2015-01-20T01:08:32Z</updated>
<author>
<name>Rusty Russell</name>
</author>
<published>2015-01-19T22:37:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d453cded05ee219b77815ea194dc36efa5398bca'/>
<id>urn:sha1:d453cded05ee219b77815ea194dc36efa5398bca</id>
<content type='text'>
Archs have been abusing module_free() to clean up their arch-specific
allocations.  Since module_free() is also (ab)used by BPF and trace code,
let's keep it to simple allocations, and provide a hook called before
that.

This means that avr32, ia64, parisc and s390 no longer need to implement
their own module_free() at all.  avr32 doesn't need module_finalize()
either.

Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Chris Metcalf &lt;cmetcalf@ezchip.com&gt;
Cc: Haavard Skinnemoen &lt;hskinnemoen@gmail.com&gt;
Cc: Hans-Christian Egtvedt &lt;egtvedt@samfundet.no&gt;
Cc: Tony Luck &lt;tony.luck@intel.com&gt;
Cc: Fenghua Yu &lt;fenghua.yu@intel.com&gt;
Cc: "James E.J. Bottomley" &lt;jejb@parisc-linux.org&gt;
Cc: Helge Deller &lt;deller@gmx.de&gt;
Cc: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Cc: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Cc: linux-kernel@vger.kernel.org
Cc: linux-ia64@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-s390@vger.kernel.org
</content>
</entry>
<entry>
<title>s390/uprobes: fix user space PER events</title>
<updated>2015-01-12T09:24:58Z</updated>
<author>
<name>Jan Willeke</name>
</author>
<published>2015-01-08T15:56:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8d1a2427d8fc0cb26ee72dfad7ad1033420089a1'/>
<id>urn:sha1:8d1a2427d8fc0cb26ee72dfad7ad1033420089a1</id>
<content type='text'>
If uprobes are single stepped for example with gdb, the behavior should
now be correct. Before this patch, when gdb was single stepping a uprobe,
the result was a SIGILL.
When PER is active for any storage alteration and a uprobe is hit, a storage
alteration event is indicated. These over indications are filterd out by gdb,
if no change has happened within the observed area.

Signed-off-by: Jan Willeke &lt;willeke@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390: wire up execveat syscall</title>
<updated>2014-12-18T12:37:17Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2014-12-18T09:04:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=98590460d44f4dc2020e594c5ac3357c8278f45b'/>
<id>urn:sha1:98590460d44f4dc2020e594c5ac3357c8278f45b</id>
<content type='text'>
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/vtime: Get rid of redundant WARN_ON</title>
<updated>2014-12-18T08:55:56Z</updated>
<author>
<name>Christian Borntraeger</name>
</author>
<published>2014-12-12T09:44:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=032014bc04ae97fd0474f311259db7d669e47507'/>
<id>urn:sha1:032014bc04ae97fd0474f311259db7d669e47507</id>
<content type='text'>
in the cpu time accounting function vtime_account_irq_enter
(vtime_account_system) we use a WARN_ON_ONCE(!irqs_disabled()).
This is redundant as the function virt_timer_forward is always
called and has a BUG_ON(!irqs_disabled()).

This saves several nanoseconds in my specific testcase (KVM entry/exit)
and probably all other callers like (soft)irq entry/exit.

Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Reviewed-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace</title>
<updated>2014-12-17T20:31:40Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2014-12-17T20:31:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=87c31b39abcb6fb6bd7d111200c9627a594bf6a9'/>
<id>urn:sha1:87c31b39abcb6fb6bd7d111200c9627a594bf6a9</id>
<content type='text'>
Pull user namespace related fixes from Eric Biederman:
 "As these are bug fixes almost all of thes changes are marked for
  backporting to stable.

  The first change (implicitly adding MNT_NODEV on remount) addresses a
  regression that was created when security issues with unprivileged
  remount were closed.  I go on to update the remount test to make it
  easy to detect if this issue reoccurs.

  Then there are a handful of mount and umount related fixes.

  Then half of the changes deal with the a recently discovered design
  bug in the permission checks of gid_map.  Unix since the beginning has
  allowed setting group permissions on files to less than the user and
  other permissions (aka ---rwx---rwx).  As the unix permission checks
  stop as soon as a group matches, and setgroups allows setting groups
  that can not later be dropped, results in a situtation where it is
  possible to legitimately use a group to assign fewer privileges to a
  process.  Which means dropping a group can increase a processes
  privileges.

  The fix I have adopted is that gid_map is now no longer writable
  without privilege unless the new file /proc/self/setgroups has been
  set to permanently disable setgroups.

  The bulk of user namespace using applications even the applications
  using applications using user namespaces without privilege remain
  unaffected by this change.  Unfortunately this ix breaks a couple user
  space applications, that were relying on the problematic behavior (one
  of which was tools/selftests/mount/unprivileged-remount-test.c).

  To hopefully prevent needing a regression fix on top of my security
  fix I rounded folks who work with the container implementations mostly
  like to be affected and encouraged them to test the changes.

    &gt; So far nothing broke on my libvirt-lxc test bed. :-)
    &gt; Tested with openSUSE 13.2 and libvirt 1.2.9.
    &gt; Tested-by: Richard Weinberger &lt;richard@nod.at&gt;

    &gt; Tested on Fedora20 with libvirt 1.2.11, works fine.
    &gt; Tested-by: Chen Hanxiao &lt;chenhanxiao@cn.fujitsu.com&gt;

    &gt; Ok, thanks - yes, unprivileged lxc is working fine with your kernels.
    &gt; Just to be sure I was testing the right thing I also tested using
    &gt; my unprivileged nsexec testcases, and they failed on setgroup/setgid
    &gt; as now expected, and succeeded there without your patches.
    &gt; Tested-by: Serge Hallyn &lt;serge.hallyn@ubuntu.com&gt;

    &gt; I tested this with Sandstorm.  It breaks as is and it works if I add
    &gt; the setgroups thing.
    &gt; Tested-by: Andy Lutomirski &lt;luto@amacapital.net&gt; # breaks things as designed :("

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
  userns: Unbreak the unprivileged remount tests
  userns; Correct the comment in map_write
  userns: Allow setting gid_maps without privilege when setgroups is disabled
  userns: Add a knob to disable setgroups on a per user namespace basis
  userns: Rename id_map_mutex to userns_state_mutex
  userns: Only allow the creator of the userns unprivileged mappings
  userns: Check euid no fsuid when establishing an unprivileged uid mapping
  userns: Don't allow unprivileged creation of gid mappings
  userns: Don't allow setgroups until a gid mapping has been setablished
  userns: Document what the invariant required for safe unprivileged mappings.
  groups: Consolidate the setgroups permission checks
  mnt: Clear mnt_expire during pivot_root
  mnt: Carefully set CL_UNPRIVILEGED in clone_mnt
  mnt: Move the clear of MNT_LOCKED from copy_tree to it's callers.
  umount: Do not allow unmounting rootfs.
  umount: Disallow unprivileged mount force
  mnt: Update unprivileged remount test
  mnt: Implicitly add MNT_NODEV on remount when it was implicitly added by mount
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux</title>
<updated>2014-12-12T01:30:55Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2014-12-12T01:30:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=27afc5dbda52ee3dbcd0bda7375c917c6936b470'/>
<id>urn:sha1:27afc5dbda52ee3dbcd0bda7375c917c6936b470</id>
<content type='text'>
Pull s390 updates from Martin Schwidefsky:
 "The most notable change for this pull request is the ftrace rework
  from Heiko.  It brings a small performance improvement and the ground
  work to support a new gcc option to replace the mcount blocks with a
  single nop.

  Two new s390 specific system calls are added to emulate user space
  mmio for PCI, an artifact of the how PCI memory is accessed.

  Two patches for the memory management with changes to common code.
  For KVM mm_forbids_zeropage is added which disables the empty zero
  page for an mm that is used by a KVM process.  And an optimization,
  pmdp_get_and_clear_full is added analog to ptep_get_and_clear_full.

  Some micro optimization for the cmpxchg and the spinlock code.

  And as usual bug fixes and cleanups"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (46 commits)
  s390/cputime: fix 31-bit compile
  s390/scm_block: make the number of reqs per HW req configurable
  s390/scm_block: handle multiple requests in one HW request
  s390/scm_block: allocate aidaw pages only when necessary
  s390/scm_block: use mempool to manage aidaw requests
  s390/eadm: change timeout value
  s390/mm: fix memory leak of ptlock in pmd_free_tlb
  s390: use local symbol names in entry[64].S
  s390/ptrace: always include vector registers in core files
  s390/simd: clear vector register pointer on fork/clone
  s390: translate cputime magic constants to macros
  s390/idle: convert open coded idle time seqcount
  s390/idle: add missing irq off lockdep annotation
  s390/debug: avoid function call for debug_sprintf_*
  s390/kprobes: fix instruction copy for out of line execution
  s390: remove diag 44 calls from cpu_relax()
  s390/dasd: retry partition detection
  s390/dasd: fix list corruption for sleep_on requests
  s390/dasd: fix infinite term I/O loop
  s390/dasd: remove unused code
  ...
</content>
</entry>
<entry>
<title>s390: use local symbol names in entry[64].S</title>
<updated>2014-12-08T08:42:38Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2014-12-03T16:00:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=86ed42f401cb8fa54a8c553e075ea411caac7404'/>
<id>urn:sha1:86ed42f401cb8fa54a8c553e075ea411caac7404</id>
<content type='text'>
To improve the output of the perf tool hide most of the symbols
from entry[64].S by using the '.L' prefix.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/ptrace: always include vector registers in core files</title>
<updated>2014-12-08T08:42:37Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2014-12-02T15:07:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7490daf01f11b5b692f69963eaee9be4adc135c3'/>
<id>urn:sha1:7490daf01f11b5b692f69963eaee9be4adc135c3</id>
<content type='text'>
On machines with support for vector registers the signal frame includes
an area for the vector registers and the ptrace regset interface allow
read and write. This is true even if the task never used any vector
instruction. Only elf core dumps do not include the vector registers,
to make things consistent always include the vector register note in
core dumps create on a machine with vector register support.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
</feed>
