| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The samsung_extdisp driver for GT-I9500 was affected by CVE-2015-1800 and
CVE-2015-1801. The Galaxy S3 uses an older version of this driver and is at
least affected by CVE-2015-1801. Newer kernel versions for the GT-I9500
had the driver completely removed. I also found no indication that the
driver is actually needed for the S3, so let's disable it.
vulnerability disclosure and further information:
http://blog.quarkslab.com/kernel-vulnerabilities-in-the-samsung-s4.html
Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
|
|
|
|
|
|
| |
derp
Change-Id: I565a4467ae321359e5b1ba38741cf109a45f0f60
|
|
|
|
|
|
|
|
| |
* this actually makes everything worse
This reverts commit 1765c98fb7b0e24527baa3dbaf1fa4cdf5905232.
Change-Id: Idc4d0d888cf29da191bf4b8423a45c1fda81f7b0
|
|
|
|
| |
Change-Id: Ic5e9ac846259583f5e6be540b760d97b8d214709
|
|
|
|
| |
Change-Id: Ie8ad0c5aa13d8af306c4d77a49f85c786b5454e5
|
|
|
|
| |
Change-Id: I17cb6159c241772e4da50f233da34eb48a241c96
|
|
|
|
| |
Change-Id: Ic8eb87571644fbe8ca0429e35932eae704b740b4
|
|
|
|
| |
Change-Id: Id74edd83db7c9196546f2e38f40370bc33409b3b
|
|
|
|
| |
Change-Id: Iaa6bab722bb5ffb31fc9863d1841680f2ea157dd
|
|
|
|
| |
Change-Id: I1859403f3090df5b1a82392983c9524ce0a3d701
|
|
|
|
|
|
|
| |
A free user space implementation doesn't seem to exist and they are not needed otherwise
also unset accessory as none of the drivers is set anyway
Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
Conflicts:
Makefile
firmware/Makefile
firmware/epen/W9001_B713.bin.ihex
firmware/epen/W9001_B746.bin.ihex
firmware/epen/W9001_B746JD.bin.ihex
firmware/epen/W9001_B746L.bin.ihex
firmware/epen/W9001_B746S.bin.ihex
|
| |
| |
| |
| | |
Change-Id: I987c949a42d49c8e5daf9b4a83822b459aac657d
|
| |
| |
| |
| | |
Change-Id: I5e6af9b08214db7432ec9911447063591229c377
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The following scenario leads to the i9100 getting stuck at 150 MHz:
1. Initially, only CPU0 is online.
2. CPU0 starts to bring CPU1 online.
3. CPU0 is waiting for CPU1 to come online, and meanwhile enters idle. Since it
is the only online CPU, it lowers the CPU speed to save power.
4. CPU1 goes online (NOTE: While CPU0 is still idling!)
Note that local_irq_disable does not help here because CPU1 could
already be starting up (most_likely idle could be entered on CPU0 while in
"wait_for_completion_timeout(&cpu_running, ...)" in arch/arm/kernel/smp.c:126.
This patch treats CPUs as online ("onlining") as soon as the CPU_UP_PREPARE
notifier is fired.
Change-Id: I7964ec3ea79084c3050db79d7d6c89db9f378326
(cherry picked from commit c96e5ebbfa00c07a7867b68799ac4c24a7a1535f)
|
| |
| |
| |
| |
| |
| | |
This reverts commit ab6a2b873f19b1fde020b339aab8b830ede31f74.
Change-Id: I9eb51664151d6d3b94c70a323d927f6dc9d0d56f
|
| |
| |
| |
| |
| |
| | |
Stop the modem from crashing and rebooting the device for no real reason
Change-Id: I6d0931a6558eb4ae9530a1dcdf44b0e57827b2e3
|
| |
| |
| |
| |
| |
| | |
This reverts commit 5ddd587f9564e31f0767b3f352aadbba5ab69e9e.
Change-Id: Idc6f8c9c70081eaa0bd95b9703c0731c48edb5bd
|
| |
| |
| |
| |
| |
| | |
Allow vold to process all partitions on MMC
Change-Id: I3dc38e5554ffa56b65dd0c80cbc41b49c18df062
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Revert "cpufreq: pegasusq: allow keeping at least two cores awake", and
revert "i9300: we have bluetooth deadlocks"
This reverts commits 73bb47e7f14bb1d88b70cc46e532b2ec71d66049 and
008e15d4745c3a359ee01ed76529dee2366bac10.
Change-Id: I6ecc5fc2bec9a68d80c9c3cf8d23d4ec448e1c73
|
| |
| |
| |
| | |
Change-Id: I9cf4c2606e91b5be5bf4d7b0dada5a966fb87230
|
| |
| |
| |
| | |
Change-Id: I5f98f69759b024c160ebee7b1dc939a89f2d5ca5
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The {get,put}_user macros don't perform range checking on the provided
__user address when !CPU_HAS_DOMAINS.
This patch reworks the out-of-line assembly accessors to check the user
address against a specified limit, returning -EFAULT if is is out of
range.
[will: changed get_user register allocation to match put_user]
[rmk: fixed building on older ARM architectures]
CRs-Fixed: 504011
Reported-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Cc: stable@vger.kernel.org
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Git-commit: 8404663f81d212918ff85f493649a7991209fa04
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Conflicts:
arch/arm/include/asm/assembler.h
arch/arm/lib/getuser.S
arch/arm/lib/putuser.S
Change-Id: I3818045a136fcdf72deb1371b132e090fd7ed643
|
| |
| |
| |
| | |
Change-Id: Iacf2f02620a1144dfdde616ea01414e0e76ab32e
|
| |
| |
| |
| | |
Change-Id: Ie60d2124d7835e85f03008d3dfe259b70490b4f2
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The Virtualization Extensions introduce the requirement for an ARMv7-A
implementation to include SDIV and UDIV. Any implementation of the
Virtualization Extensions must include the SDIV and UDIV instructions
in the Thumb and ARM instruction sets.
In an ARMv7-A implementation that does not include the Virtualization
Extensions, it is IMPLEMENTATION DEFINED whether:
* SDIV and UDIV are not implemented
* SDIV and UDIV are implemented only in the Thumb instruction set
* SDIV and UDIV are implemented in the Thumb and ARM instruction sets.
This patch adds a handler to trap and emulate unimplemented SDIV and
UDIV instructions in ARM and Thumb modes. Also some basic statistic is
exported via /proc/cpu/idiv_emulation
Change-Id: I8e721ecac62a05fab42ed7db7951b4c837a59bc7
Signed-off-by: Vladimir Murzin <murzin.v@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch breaks the ARM condition checking code out of nwfpe/fpopcode.{ch}
into a standalone file for opcode operations. It also modifies the code
somewhat for coding style adherence, and adds some temporary variables for
increased readability.
Change-Id: I9935fbdebff9ddd263007412edd6a2b3eb06ae69
Signed-off-by: Leif Lindholm <leif.lindholm@arm.com>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
| |
| |
| |
| | |
Change-Id: I5bc8fa43ea6ebabc893df6bd203656bec66f7db2
|
| |
| |
| |
| | |
Change-Id: I24670b8b8cf76fdc386a9e2592a370a11114aa82
|
| |
| |
| |
| | |
Change-Id: I108fc60dad0a6a5401d6bcdbc3e29dfe15bed167
|
| |
| |
| |
| | |
Change-Id: I4ed713ec9281a4e313f314b2e04ab3aea1c0d5e6
|
| |
| |
| |
| |
| |
| | |
-Needs http://review.cyanogenmod.org/#/c/111996
Change-Id: If8cc973909ace34465a0c355fc1ccc87af911889
|
| |
| |
| |
| | |
Change-Id: Ie06e9dcec7b3ff764779ad42753bcd31a767a614
|
| |
| |
| |
| | |
Change-Id: Ie51affdf3fd45ccc450f401117043f98e11a76bd
|
| |
| |
| |
| | |
Change-Id: Ia2c272ef71349659ee479f9ceaea80c91c309733
|
| |
| |
| |
| |
| |
| | |
* recovery image is now too big :(
Change-Id: Ie51707f544f8397f563f08fc0ed5c3d7a3c2f827
|
| |
| |
| |
| | |
Change-Id: Ia90fe3253d25fdfa11a887c4899afd85cc4b532f
|
| |
| |
| |
| | |
Change-Id: I7120e38069e3faeae35f139ef60fe9507fcbe356
|
| |
| |
| |
| | |
Change-Id: I36c07bd373ca05881b94475098c12650712fbcb2
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
crypto/algapi.c
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/intel_display.c
drivers/video/fbmem.c
include/linux/nls.h
kernel/cgroup.c
kernel/signal.c
kernel/timeconst.pl
net/ipv4/ping.c
Change-Id: I1f532925d1743df74d66bcdd6fc92f05c72ee0dd
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit 59b33f148cc08fb33cbe823fca1e34f7f023765e upstream.
Running an "echo t > /proc/sysrq-trigger" crashes the parisc kernel. The
problem is, that in print_worker_info() we try to read the workqueue info via
the probe_kernel_read() functions which use pagefault_disable() to avoid
crashes like this:
probe_kernel_read(&pwq, &worker->current_pwq, sizeof(pwq));
probe_kernel_read(&wq, &pwq->wq, sizeof(wq));
probe_kernel_read(name, wq->name, sizeof(name) - 1);
The problem here is, that the first probe_kernel_read(&pwq) might return zero
in pwq and as such the following probe_kernel_reads() try to access contents of
the page zero which is read protected and generate a kernel segfault.
With this patch we fix the interruption handler to call parisc_terminate()
directly only if pagefault_disable() was not called (in which case
preempt_count()==0). Otherwise we hand over to the pagefault handler which
will try to look up the faulting address in the fixup tables.
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit f862eefec0b68e099a9fa58d3761ffb10bad97e1 upstream.
It turns out the kernel relies on barrier() to force a reload of the
percpu offset value. Since we can't easily modify the definition of
barrier() to include "tp" as an output register, we instead provide a
definition of __my_cpu_offset as extended assembly that includes a fake
stack read to hazard against barrier(), forcing gcc to know that it
must reread "tp" and recompute anything based on "tp" after a barrier.
This fixes observed hangs in the slub allocator when we are looping
on a percpu cmpxchg_double.
A similar fix for ARMv7 was made in June in change 509eb76ebf97.
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ Upstream commit 7a3b0f89e3fea680f93932691ca41a68eee7ab5e ]
Pass 1 in %o1 to indicate that syscall_trace accounts exit.
Signed-off-by: Kirill Tkhai <tkhai@yandex.ru>
CC: David Miller <davem@davemloft.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ Upstream commit ab2abda6377723e0d5fbbfe5f5aa16a5523344d1 ]
(From v1 to v2: changed comment)
On the way linux_sparc_syscall32->linux_syscall_trace32->goto 2f,
register %o5 doesn't clear its second 32-bit.
Fix that.
Signed-off-by: Kirill Tkhai <tkhai@yandex.ru>
CC: David Miller <davem@davemloft.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ Upstream commit 63d499662aeec1864ec36d042aca8184ea6a938e ]
Reported-by: Kirill Tkhai <tkhai@yandex.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ Upstream commit 61d9b9355b0d427bd1e732bd54628ff9103e496f ]
The functions
__down_read
__down_read_trylock
__down_write
__down_write_trylock
__up_read
__up_write
__downgrade_write
are implemented inline, so remove corresponding EXPORT_SYMBOLs
(They lead to compile errors on RT kernel).
Signed-off-by: Kirill Tkhai <tkhai@yandex.ru>
CC: David Miller <davem@davemloft.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ Upstream commit 1c2696cdaad84580545a2e9c0879ff597880b1a9 ]
1)Use kvmap_itlb_longpath instead of kvmap_dtlb_longpath.
2)Handle page #0 only, don't handle page #1: bleu -> blu
(KERNBASE is 0x400000, so #1 does not exist too. But everything
is possible in the future. Fix to not to have problems later.)
3)Remove unused kvmap_itlb_nonlinear.
Signed-off-by: Kirill Tkhai <tkhai@yandex.ru>
CC: David Miller <davem@davemloft.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit d9813c3681a36774b254c0cdc9cce53c9e22c756 upstream.
The csum_partial_copy_generic() uses register r7 to adjust the remaining
bytes to process. Unfortunately, r7 also holds a parameter, namely the
address of the flag to set in case of access exceptions while reading
the source buffer. Lacking a quantum implementation of PowerPC, this
commit instead uses register r9 to do the adjusting, leaving r7's
pointer uncorrupted.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit e82b89a6f19bae73fb064d1b3dd91fcefbb478f4 upstream.
modalias_show() should return an empty string on error, not -ENODEV.
This causes the following false and annoying error:
> find /sys/devices -name modalias -print0 | xargs -0 cat >/dev/null
cat: /sys/devices/vio/4000/modalias: No such device
cat: /sys/devices/vio/4001/modalias: No such device
cat: /sys/devices/vio/4002/modalias: No such device
cat: /sys/devices/vio/4004/modalias: No such device
cat: /sys/devices/vio/modalias: No such device
Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit 1cf389df090194a0976dc867b7fffe99d9d490cb upstream.
Under heavy (DLPAR?) stress, we tripped this panic() in
arch/powerpc/kernel/iommu.c::iommu_init_table():
page = alloc_pages_node(nid, GFP_ATOMIC, get_order(sz));
if (!page)
panic("iommu_init_table: Can't allocate %ld bytes\n", sz);
Before the panic() we got a page allocation failure for an order-2
allocation. There appears to be memory free, but perhaps not in the
ATOMIC context. I looked through all the call-sites of
iommu_init_table() and didn't see any obvious reason to need an ATOMIC
allocation. Most call-sites in fact have an explicit GFP_KERNEL
allocation shortly before the call to iommu_init_table(), indicating we
are not in an atomic context. There is some indirection for some paths,
but I didn't see any locks indicating that GFP_KERNEL is inappropriate.
With this change under the same conditions, we have not been able to
reproduce the panic.
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|