mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
891 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
|
f35ef94f36
|
Revert "ANDROID: sched/fair: add support for 12ms half-life PELT"
This reverts commit 8dc7d6629a12ad08ffdc75bf86b3a671151925eb. |
||
|
8dc7d6629a
|
ANDROID: sched/fair: add support for 12ms half-life PELT
Signed-off-by: sohamxda7 <sensoham135@gmail.com> [azrim: regen with sched-pelt.c] Signed-off-by: azrim <mirzaspc@gmail.com> |
||
|
e169f43453
|
kbuild: Allow LD_DEAD_CODE_DATA_ELIMINATION to be selectable if enabled
Architectures that are capable can select HAVE_LD_DEAD_CODE_DATA_ELIMINATION to enable selection of that option (as an EXPERT kernel option). Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: azrim <mirzaspc@gmail.com> |
||
|
e7cc001a78
|
BACKPORT: init: Add support for zstd compressed kernel
- Add the zstd and zstd22 cmds to scripts/Makefile.lib - Add the HAVE_KERNEL_ZSTD and KERNEL_ZSTD options Architecture specific support is still needed for decompression. Signed-off-by: Nick Terrell <terrelln@fb.com> Signed-off-by: Ingo Molnar <mingo@kernel.org> Tested-by: Sedat Dilek <sedat.dilek@gmail.com> Reviewed-by: Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/r/20200730190841.2071656-4-nickrterrell@gmail.com [cyberknight777: backport to 4.14] Signed-off-by: Cyber Knight <cyberknight755@gmail.com> Signed-off-by: azrim <mirzaspc@gmail.com> |
||
|
3f31303623
|
scripts: Add a prettier version of autolocalversion
Enable CONFIG_LOCALVERSION_BRANCH_SHA if you want to see kernel version like this: 4.14.175-F1xy-Q-raphael/2a7e9d16cd - CONFIG_LOCALVERSION-branch name-commit sha. I had this in the build script for a few years but since there is a surge of ROMs using my kernel it's good to have this in the kernel code for the ease of tracking which version ROMs ship. Signed-off-by: Yaroslav Furman <yaro330@gmail.com> Signed-off-by: KenHV <yo@kenharris.xyz> Signed-off-by: Forenche <prahul2003@gmail.com> Signed-off-by: azrim <mirzaspc@gmail.com> |
||
|
e4b85764a0
|
init: Kconfig: Don't force DEBUG_KERNEL when EXPERT is enabled
Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com> Signed-off-by: Subhajeet Muhuri <subhajeet.muhuri@aosip.dev> Signed-off-by: azrim <mirzaspc@gmail.com> |
||
|
3a330c6445 |
Merge branch 'android-4.14-stable' of https://android.googlesource.com/kernel/common into HEAD
Change-Id: I714223aa1f97959bd97b6bf758511466c9394bd8 |
||
|
409d37b568 |
Merge 4.14.267 into android-4.14-stable
Changes in 4.14.267 integrity: check the return value of audit_log_start() ima: Remove ima_policy file before directory ima: Allow template selection with ima_template[_fmt]= after ima_hash= mmc: sdhci-of-esdhc: Check for error num after setting mask net: phy: marvell: Fix MDI-x polarity setting in 88e1118-compatible PHYs NFS: Fix initialisation of nfs_client cl_flags field NFSD: Clamp WRITE offsets NFSv4 only print the label when its queried nfs: nfs4clinet: check the return value of kstrdup() NFSv4.1: Fix uninitialised variable in devicenotify NFSv4 remove zero number of fs_locations entries error check NFSv4 expose nfs_parse_server_name function scsi: target: iscsi: Make sure the np under each tpg is unique usb: dwc2: gadget: don't try to disable ep0 in dwc2_hsotg_suspend net: stmmac: dwmac-sun8i: use return val of readl_poll_timeout() Revert "net: axienet: Wait for PhyRstCmplt after core reset" bpf: Add kconfig knob for disabling unpriv bpf by default ARM: dts: imx23-evk: Remove MX23_PAD_SSP1_DETECT from hog group ARM: dts: meson: Fix the UART compatible strings staging: fbtft: Fix error path in fbtft_driver_module_init() ARM: dts: imx6qdl-udoo: Properly describe the SD card detect usb: f_fs: Fix use-after-free for epfile bonding: pair enable_port with slave_arr_updates ipmr,ip6mr: acquire RTNL before calling ip[6]mr_free_table() on failure path net: do not keep the dst cache when uncloning an skb dst and its metadata net: fix a memleak when uncloning an skb dst and its metadata tipc: rate limit warning for received illegal binding update net: amd-xgbe: disable interrupts during pci removal vt_ioctl: fix array_index_nospec in vt_setactivate vt_ioctl: add array_index_nospec to VT_ACTIVATE n_tty: wake up poll(POLLRDNORM) on receiving data usb: ulpi: Move of_node_put to ulpi_dev_release usb: ulpi: Call of_node_put correctly usb: dwc3: gadget: Prevent core from processing stale TRBs USB: gadget: validate interface OS descriptor requests usb: gadget: rndis: check size of RNDIS_MSG_SET command USB: serial: ftdi_sio: add support for Brainboxes US-159/235/320 USB: serial: option: add ZTE MF286D modem USB: serial: ch341: add support for GW Instek USB2.0-Serial devices USB: serial: cp210x: add NCR Retail IO box id USB: serial: cp210x: add CPI Bulk Coin Recycler id seccomp: Invalidate seccomp mode to catch death failures hwmon: (dell-smm) Speed up setting of fan speed perf: Fix list corruption in perf_cgroup_switch() Linux 4.14.267 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Ie562265e833202e361fd0734d18731990c0b1cbc |
||
|
e69f08ba23 |
bpf: Add kconfig knob for disabling unpriv bpf by default
commit 08389d888287c3823f80b0216766b71e17f0aba5 upstream. Add a kconfig knob which allows for unprivileged bpf to be disabled by default. If set, the knob sets /proc/sys/kernel/unprivileged_bpf_disabled to value of 2. This still allows a transition of 2 -> {0,1} through an admin. Similarly, this also still keeps 1 -> {1} behavior intact, so that once set to permanently disabled, it cannot be undone aside from a reboot. We've also added extra2 with max of 2 for the procfs handler, so that an admin still has a chance to toggle between 0 <-> 2. Either way, as an additional alternative, applications can make use of CAP_BPF that we added a while ago. Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://lore.kernel.org/bpf/74ec548079189e4e4dffaeb42b8987bb3c852eee.1620765074.git.daniel@iogearbox.net [fllinden@amazon.com: backported to 4.14] Signed-off-by: Frank van der Linden <fllinden@amazon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
|
7368be9e24 |
This is the 4.14.230 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmBxigAACgkQONu9yGCS aT7QRhAAmB19bMTh7ezIjmWPNfReizOdMBVXcR894fvRvwhelHkGVQsJnMXAe2XB IcXNmsMFKoDyqh7gsJyAq8aPWdFugOYbGbLHOpcWagu5ROGnpp+6r8Hg1DjPtnnp bR3Z+U+p6nYsr7TDYX4e4zTohNkWBEgKX6VnbRGBGqcY0KuBcu7nCr4yPZ4Oas3j bidhkMv1orIBWoNqjp6k3uxtP1qaPHeFYa+aXq0/TfQGOd1jWl4xnMjF6UoidlkH UUn0mW0ckoOmWQLe6J1J1acN6wvC8VMfYk4j2dkHIB3pfCGTK9yPe7PEojJn+sqP eEX9CnDg9xIXhwQwYLldXssAp/zCw54K21UGbrp+ztv6qdPiQSX4ARNG0qsBdONf HnFLJ5ubtAybe+4rWmcncYSdCZ2L5n52j3br2N0V/40xtk7HAKewIHpV1c6TMx4Z /2p3ZpgxfCmnlkPilwzXkYKrzEibdbN2QdTYaPDNTycRe9njCtg+L/KoRKVLF+yr mnJ80m1WfS60BL2udhSCkPkqz0LcY0CSJz4E58/5mqeO9fKdwYkbNWTLrDpJaE9Q /PL0yHz2xPyu9Wnec3Sy1ihAuoGA12RozcpU95sajzCiBcY9Gt7rFr4D8/r3voaE tLs7jg7z1kHeNyxXX7Tgwf2jWoeYR8/FDh5Mb9fE9EgCFhwTvhA= =lOlV -----END PGP SIGNATURE----- Merge 4.14.230 into android-4.14-stable Changes in 4.14.230 ARM: dts: am33xx: add aliases for mmc interfaces net: pxa168_eth: Fix a potential data race in pxa168_eth_remove mISDN: fix crash in fritzpci mac80211: choose first enabled channel for monitor drm/msm: Ratelimit invalid-fence message platform/x86: thinkpad_acpi: Allow the FnLock LED to change state x86/build: Turn off -fcf-protection for realmode targets scsi: target: pscsi: Clean up after failure in pscsi_map_sg() ia64: mca: allocate early mca with GFP_ATOMIC cifs: revalidate mapping when we open files for SMB1 POSIX cifs: Silently ignore unknown oplock break handle bpf, x86: Validate computation of branch displacements for x86-64 init/Kconfig: make COMPILE_TEST depend on !S390 init/Kconfig: make COMPILE_TEST depend on HAS_IOMEM can: flexcan: flexcan_chip_freeze(): fix chip freeze for missing bitrate Linux 4.14.230 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I6475dfba7ab1e2993c67db7564a45c7e694ba339 |
||
|
4086850f79 |
init/Kconfig: make COMPILE_TEST depend on HAS_IOMEM
commit ea29b20a828511de3348334e529a3d046a180416 upstream. I read the commit log of the following two: - bc083a64b6c0 ("init/Kconfig: make COMPILE_TEST depend on !UML") - 334ef6ed06fa ("init/Kconfig: make COMPILE_TEST depend on !S390") Both are talking about HAS_IOMEM dependency missing in many drivers. So, 'depends on HAS_IOMEM' seems the direct, sensible solution to me. This does not change the behavior of UML. UML still cannot enable COMPILE_TEST because it does not provide HAS_IOMEM. The current dependency for S390 is too strong. Under the condition of CONFIG_PCI=y, S390 provides HAS_IOMEM, hence can enable COMPILE_TEST. I also removed the meaningless 'default n'. Link: https://lkml.kernel.org/r/20210224140809.1067582-1-masahiroy@kernel.org Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Cc: Heiko Carstens <hca@linux.ibm.com> Cc: Guenter Roeck <linux@roeck-us.net> Cc: Arnd Bergmann <arnd@kernel.org> Cc: Kees Cook <keescook@chromium.org> Cc: Daniel Borkmann <daniel@iogearbox.net> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: KP Singh <kpsingh@google.com> Cc: Nathan Chancellor <nathan@kernel.org> Cc: Nick Terrell <terrelln@fb.com> Cc: Quentin Perret <qperret@google.com> Cc: Valentin Schneider <valentin.schneider@arm.com> Cc: "Enrico Weigelt, metux IT consult" <lkml@metux.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Cc: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
|
fa4261496d |
init/Kconfig: make COMPILE_TEST depend on !S390
commit 334ef6ed06fa1a54e35296b77b693bcf6d63ee9e upstream. While allmodconfig and allyesconfig build for s390 there are also various bots running compile tests with randconfig, where PCI is disabled. This reveals that a lot of drivers should actually depend on HAS_IOMEM. Adding this to each device driver would be a never ending story, therefore just disable COMPILE_TEST for s390. The reasoning is more or less the same as described in commit bc083a64b6c0 ("init/Kconfig: make COMPILE_TEST depend on !UML"). Reported-by: kernel test robot <lkp@intel.com> Suggested-by: Arnd Bergmann <arnd@kernel.org> Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Cc: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
|
890226def6 |
This is the 4.14.204 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl+jzuAACgkQONu9yGCS aT7HQhAAgdVyTKGg2cRfirxFQ8L4kHNU7Zf0NYSeFwL9lTEaC/f6jHhqzzHln/W8 fN7u7c5KM9P7w6YjemqCeRt4b7jXuUtyx0dvGblXAGaabbUaa34yLshwv4zAW37h FMPBjORfmI9JIh2EgcWpmECDE6HjeP5b828LL/5FTfcOamhA6XiOFO+0vNRlMRXX IJY+GwfmcBRb7j7ks9q5At6bigow1UvAc7NXZPCTZRrM/RVK36nOq6aDyhegHtKg h4UN2NzJcR0ItyBGKiKbeyPOQfWAVzEhvD8gjNLBRt3kb5Uc0z8XWfXhFtQiBEGm EK4Wb8JOOcQDpUmobG9klT49sgC84qsGzwNgbSIUwyLRYxS66ouDsXf7p4T6vlKY Msz5sEKLXGJncDPPy3E5wtIzm7Htp8cNBUkrcjjD2mZx8CuDRy7NTKrX2mjdJa5n zLoW4QeMZAcMYqmfz+Z5edWY3PXflWv69kQhDXEs70rpnNg51OmeqSiJWfUnx+FT o0UOVsqmUqOQfDsOIY7L2rem7K7HBX14QyYAi6ZaoXzglz1ev5VBI+PgfJtc9uLf SMoY8K5l215zc3BWTLkLj8sq/QiZ03Jj3QKIpCZyxDiZP2/3Tn7hnprfy0x1JbqE bX3A8DZfkH7MvW8U42vlxQNHoFYBKUx27BP8yirwkhspLt0oHxo= =2cR2 -----END PGP SIGNATURE----- Merge 4.14.204 into android-4.14-stable Changes in 4.14.204 scripts/setlocalversion: make git describe output more reliable arm64: link with -z norelro regardless of CONFIG_RELOCATABLE efivarfs: Replace invalid slashes with exclamation marks in dentries. gtp: fix an use-before-init in gtp_newlink() ravb: Fix bit fields checking in ravb_hwtstamp_get() tipc: fix memory leak caused by tipc_buf_append() arch/x86/amd/ibs: Fix re-arming IBS Fetch x86/xen: disable Firmware First mode for correctable memory errors fuse: fix page dereference after free p54: avoid accessing the data mapped to streaming DMA mtd: lpddr: Fix bad logic in print_drs_error ata: sata_rcar: Fix DMA boundary mask fscrypt: return -EXDEV for incompatible rename or link into encrypted dir x86/unwind/orc: Fix inactive tasks with stack pointer in %sp on GCC 10 compiled kernels mlxsw: core: Fix use-after-free in mlxsw_emad_trans_finish() futex: Fix incorrect should_fail_futex() handling powerpc/powernv/smp: Fix spurious DBG() warning powerpc: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM sparc64: remove mm_cpumask clearing to fix kthread_use_mm race f2fs: add trace exit in exception path f2fs: fix to check segment boundary during SIT page readahead um: change sigio_spinlock to a mutex ARM: 8997/2: hw_breakpoint: Handle inexact watchpoint addresses xfs: fix realtime bitmap/summary file truncation when growing rt volume video: fbdev: pvr2fb: initialize variables ath10k: start recovery process when payload length exceeds max htc length for sdio ath10k: fix VHT NSS calculation when STBC is enabled drm/brige/megachips: Add checking if ge_b850v3_lvds_init() is working correctly media: videodev2.h: RGB BT2020 and HSV are always full range media: platform: Improve queue set up flow for bug fixing usb: typec: tcpm: During PR_SWAP, source caps should be sent only after tSwapSourceStart media: tw5864: check status of tw5864_frameinterval_get mmc: via-sdmmc: Fix data race bug drm/bridge/synopsys: dsi: add support for non-continuous HS clock printk: reduce LOG_BUF_SHIFT range for H8300 kgdb: Make "kgdbcon" work properly with "kgdb_earlycon" cpufreq: sti-cpufreq: add stih418 support USB: adutux: fix debugging uio: free uio id after uio file node is freed arm64/mm: return cpu_all_mask when node is NUMA_NO_NODE ACPI: Add out of bounds and numa_off protections to pxm_to_node() drivers/net/wan/hdlc_fr: Correctly handle special skb->protocol values bus/fsl_mc: Do not rely on caller to provide non NULL mc_io power: supply: test_power: add missing newlines when printing parameters by sysfs md/bitmap: md_bitmap_get_counter returns wrong blocks bnxt_en: Log unknown link speed appropriately. clk: ti: clockdomain: fix static checker warning net: 9p: initialize sun_server.sun_path to have addr's value only when addr is valid drivers: watchdog: rdc321x_wdt: Fix race condition bugs ext4: Detect already used quota file early gfs2: add validation checks for size of superblock arm64: dts: renesas: ulcb: add full-pwr-cycle-in-suspend into eMMC nodes memory: emif: Remove bogus debugfs error handling ARM: dts: s5pv210: remove DMA controller bus node name to fix dtschema warnings ARM: dts: s5pv210: move PMU node out of clock controller ARM: dts: s5pv210: remove dedicated 'audio-subsystem' node nbd: make the config put is called before the notifying the waiter sgl_alloc_order: fix memory leak nvme-rdma: fix crash when connect rejected md/raid5: fix oops during stripe resizing perf/x86/amd/ibs: Don't include randomized bits in get_ibs_op_count() perf/x86/amd/ibs: Fix raw sample data accumulation leds: bcm6328, bcm6358: use devres LED registering function fs: Don't invalidate page buffers in block_write_full_page() NFS: fix nfs_path in case of a rename retry ACPI / extlog: Check for RDMSR failure ACPI: video: use ACPI backlight for HP 635 Notebook ACPI: debug: don't allow debugging when ACPI is disabled acpi-cpufreq: Honor _PSD table setting on new AMD CPUs w1: mxc_w1: Fix timeout resolution problem leading to bus error scsi: mptfusion: Fix null pointer dereferences in mptscsih_remove() btrfs: reschedule if necessary when logging directory items btrfs: send, recompute reference path after orphanization of a directory btrfs: use kvzalloc() to allocate clone_roots in btrfs_ioctl_send() btrfs: cleanup cow block on error btrfs: fix use-after-free on readahead extent after failure to create it usb: dwc3: ep0: Fix ZLP for OUT ep0 requests usb: dwc3: core: add phy cleanup for probe error handling usb: dwc3: core: don't trigger runtime pm when remove driver usb: cdc-acm: fix cooldown mechanism usb: host: fsl-mph-dr-of: check return of dma_set_mask() drm/i915: Force VT'd workarounds when running as a guest OS vt: keyboard, simplify vt_kdgkbsent vt: keyboard, extend func_buf_lock to readers dmaengine: dma-jz4780: Fix race in jz4780_dma_tx_status iio:light:si1145: Fix timestamp alignment and prevent data leak. iio:adc:ti-adc0832 Fix alignment issue with timestamp iio:adc:ti-adc12138 Fix alignment issue with timestamp iio:gyro:itg3200: Fix timestamp alignment and prevent data leak. s390/stp: add locking to sysfs functions powerpc/rtas: Restrict RTAS requests from userspace powerpc: Warn about use of smt_snooze_delay powerpc/powernv/elog: Fix race while processing OPAL error log event. NFSv4.2: support EXCHGID4_FLAG_SUPP_FENCE_OPS 4.2 EXCHANGE_ID flag NFSD: Add missing NFSv2 .pc_func methods ubifs: dent: Fix some potential memory leaks while iterating entries perf python scripting: Fix printable strings in python3 scripts ubi: check kthread_should_stop() after the setting of task state ia64: fix build error with !COREDUMP drm/amdgpu: don't map BO in reserved region ceph: promote to unsigned long long before shifting libceph: clear con->out_msg on Policy::stateful_server faults 9P: Cast to loff_t before multiplying ring-buffer: Return 0 on success from ring_buffer_resize() vringh: fix __vringh_iov() when riov and wiov are different ext4: fix leaking sysfs kobject after failed mount ext4: fix error handling code in add_new_gdb ext4: fix invalid inode checksum drm/ttm: fix eviction valuable range check. rtc: rx8010: don't modify the global rtc ops tty: make FONTX ioctl use the tty pointer they were actually passed arm64: berlin: Select DW_APB_TIMER_OF cachefiles: Handle readpage error correctly hil/parisc: Disable HIL driver when it gets stuck arm: dts: mt7623: add missing pause for switchport ARM: samsung: fix PM debug build with DEBUG_LL but !MMU ARM: s3c24xx: fix missing system reset device property: Keep secondary firmware node secondary by type device property: Don't clear secondary pointer for shared primary firmware node KVM: arm64: Fix AArch32 handling of DBGD{CCINT,SCRext} and DBGVCR staging: comedi: cb_pcidas: Allow 2-channel commands for AO subdevice staging: octeon: repair "fixed-link" support staging: octeon: Drop on uncorrectable alignment or FCS error Linux 4.14.204 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Ibed153216ddb983a9ef0640ae9c82781f51880fe |
||
|
f8cbb02930 |
printk: reduce LOG_BUF_SHIFT range for H8300
[ Upstream commit 550c10d28d21bd82a8bb48debbb27e6ed53262f6 ] The .bss section for the h8300 is relatively small. A value of CONFIG_LOG_BUF_SHIFT that is larger than 19 will create a static printk ringbuffer that is too large. Limit the range appropriately for the H8300. Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: John Ogness <john.ogness@linutronix.de> Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Signed-off-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/20200812073122.25412-1-john.ogness@linutronix.de Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
|
4cdd5c0c6b |
Stop the ad-hoc games with -Wno-maybe-initialized
commit 78a5255ffb6a1af189a83e493d916ba1c54d8c75 upstream. We have some rather random rules about when we accept the "maybe-initialized" warnings, and when we don't. For example, we consider it unreliable for gcc versions < 4.9, but also if -O3 is enabled, or if optimizing for size. And then various kernel config options disabled it, because they know that they trigger that warning by confusing gcc sufficiently (ie PROFILE_ALL_BRANCHES). And now gcc-10 seems to be introducing a lot of those warnings too, so it falls under the same heading as 4.9 did. At the same time, we have a very straightforward way to _enable_ that warning when wanted: use "W=2" to enable more warnings. So stop playing these ad-hoc games, and just disable that warning by default, with the known and straight-forward "if you want to work on the extra compiler warnings, use W=123". Would it be great to have code that is always so obvious that it never confuses the compiler whether a variable is used initialized or not? Yes, it would. In a perfect world, the compilers would be smarter, and our source code would be simpler. That's currently not the world we live in, though. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
|
859ea9726d |
kbuild: compute false-positive -Wmaybe-uninitialized cases in Kconfig
commit b303c6df80c9f8f13785aa83a0471fca7e38b24d upstream. Since -Wmaybe-uninitialized was introduced by GCC 4.7, we have patched various false positives: - commit e74fc973b6e5 ("Turn off -Wmaybe-uninitialized when building with -Os") turned off this option for -Os. - commit 815eb71e7149 ("Kbuild: disable 'maybe-uninitialized' warning for CONFIG_PROFILE_ALL_BRANCHES") turned off this option for CONFIG_PROFILE_ALL_BRANCHES - commit a76bcf557ef4 ("Kbuild: enable -Wmaybe-uninitialized warning for "make W=1"") turned off this option for GCC < 4.9 Arnd provided more explanation in https://lkml.org/lkml/2017/3/14/903 I think this looks better by shifting the logic from Makefile to Kconfig. Link: https://github.com/ClangBuiltLinux/linux/issues/350 Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Nathan Chancellor <natechancellor@gmail.com> Tested-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
|
cd67bf9df2 |
Merge android-4.14.156 (f9b4ab5) into msm-4.14
* refs/heads/tmp-f9b4ab5: FROMGIT: pinctrl: devicetree: Avoid taking direct reference to device name string ANDROID: uid_sys_stats: avoid double accounting of dying threads ANDROID: cuttlefish_defconfig: enable fs-verity BACKPORT:FROMGIT: coresight: replicator: Fix missing spin_lock_init() BACKPORT:FROMGIT: coresight: funnel: Fix missing spin_lock_init() BACKPORT:FROMGIT: coresight: Serialize enabling/disabling a link device. UPSTREAM: coresight: tmc-etr: Add barrier packets when moving offset forward UPSTREAM: coresight: tmc-etr: Decouple buffer sync and barrier packet insertion UPSTREAM: coresight: tmc: Make memory width mask computation into a function UPSTREAM: coresight: tmc-etr: Fix perf_data check UPSTREAM: coresight: tmc-etr: Fix updating buffer in not-snapshot mode. UPSTREAM: coresight: tmc-etr: Check if non-secure access is enabled UPSTREAM: coresight: tmc-etr: Handle memory errors BACKPORT: coresight: etr_buf: Consolidate refcount initialization UPSTREAM: coresight: Fix DEBUG_LOCKS_WARN_ON for uninitialized attribute UPSTREAM: coresight: Use coresight device names for sinks in PMU attribute UPSTREAM: coresight: tmc-etr: alloc_perf_buf: Do not call smp_processor_id from preemptible UPSTREAM: coresight: tmc-etr: Do not call smp_processor_id() from preemptible UPSTREAM: coresight: perf: Don't set the truncated flag in snapshot mode UPSTREAM: coresight: tmc-etf: Fix snapshot mode update function UPSTREAM: coresight: tmc-etr: Properly set AUX buffer head in snapshot mode UPSTREAM: coresight: funnel: Support static funnel UPSTREAM: coresight: tmc-etr: Add support for CPU-wide trace scenarios UPSTREAM: coresight: tmc-etr: Allocate and free ETR memory buffers for CPU-wide scenarios UPSTREAM: coresight: tmc-etr: Introduce the notion of IDR to ETR devices UPSTREAM: coresight: tmc-etr: Introduce the notion of reference counting to ETR devices UPSTREAM: coresight: tmc-etr: Introduce the notion of process ID to ETR devices UPSTREAM: coresight: tmc-etr: Create per-thread buffer allocation function UPSTREAM: coresight: tmc-etr: Refactor function tmc_etr_setup_perf_buf() UPSTREAM: coresight: Communicate perf event to sink buffer allocation functions UPSTREAM: coresight: perf: Refactor function free_event_data() UPSTREAM: coresight: perf: Clean up function etm_setup_aux() UPSTREAM: coresight: Properly address concurrency in sink::update() functions UPSTREAM: coresight: Properly address errors in sink::disable() functions UPSTREAM: coresight: Move reference counting inside sink drivers UPSTREAM: coresight: Adding return code to sink::disable() operation UPSTREAM: coresight: etm4x: Configure tracers to emit timestamps UPSTREAM: coresight: etm4x: Skip selector pair 0 UPSTREAM: coresight: etm4x: Add kernel configuration for CONTEXTID UPSTREAM: coresight: pmu: Adding ITRACE property to cs_etm PMU UPSTREAM: coresight: tmc: Cleanup power management UPSTREAM: coresight: Fix freeing up the coresight connections UPSTREAM: coresight: tmc: Report DMA setup failures UPSTREAM: coresight: catu: fix clang build warning UPSTREAM: perf/core: Fix the address filtering fix UPSTREAM: perf, pt, coresight: Fix address filters for vmas with non-zero offset BACKPORT: perf: Copy parent's address filter offsets on clone UPSTREAM: coresight: Use event attributes for sink selection UPSTREAM: coresight: perf: Add "sinks" group to PMU directory BACKPORT: perf/aux: Make perf_event accessible to setup_aux() UPSTREAM: coresight: etb10: Add support for CLAIM tag UPSTREAM: coreisght: tmc: Claim device before use UPSTREAM: coresight: dynamic-replicator: Claim device for use UPSTREAM: coresight: funnel: Claim devices before use UPSTREAM: coresight: etmx: Claim devices before use UPSTREAM: coresight: Add support for CLAIM tag protocol UPSTREAM: coresight: dynamic-replicator: Handle multiple connections UPSTREAM: coresight: etb10: Handle errors enabling the device UPSTREAM: coresight: etm3: Add support for handling errors UPSTREAM: coresight: etm4x: Add support for handling errors UPSTREAM: coresight: tmc-etb/etf: Prepare to handle errors enabling UPSTREAM: coresight: tmc-etr: Handle errors enabling CATU UPSTREAM: coresight: tmc-etr: Refactor for handling errors UPSTREAM: coresight: Handle failures in enabling a trace path UPSTREAM: coresight: tmc: Fix byte-address alignment for RRP UPSTREAM: coresight: etm4x: Configure EL2 exception level when kernel is running in HYP UPSTREAM: coresight: etb10: Splitting function etb_enable() UPSTREAM: coresight: etb10: Refactor etb_drvdata::mode handling UPSTREAM: coresight: etm-perf: Add support for ETR backend UPSTREAM: coresight: perf: Remove set_buffer call back UPSTREAM: coresight: perf: Add helper to retrieve sink configuration UPSTREAM: coresight: perf: Remove reset_buffer call back for sinks UPSTREAM: coresight: Convert driver messages to dev_dbg UPSTREAM: coresight: tmc-etr: Relax collection of trace from sysfs mode UPSTREAM: coresight: tmc-etr: Handle driver mode specific ETR buffers UPSTREAM: coresight: perf: Disable trace path upon source error UPSTREAM: coresight: perf: Allow tracing on hotplugged CPUs UPSTREAM: coresight: perf: Avoid unncessary CPU hotplug read lock UPSTREAM: coresight: perf: Fix per cpu path management UPSTREAM: coresight: Fix handling of sinks UPSTREAM: coresight: Use ERR_CAST instead of ERR_PTR UPSTREAM: coresight: Fix remote endpoint parsing UPSTREAM: coresight: platform: Fix leaking device reference UPSTREAM: coresight: platform: Fix refcounting for graph nodes UPSTREAM: coresight: platform: Refactor graph endpoint parsing UPSTREAM: coresight: Document error handling in coresight_register UPSTREAM: coresight: catu: Plug in CATU as a backend for ETR buffer UPSTREAM: coresight: catu: Add support for scatter gather tables UPSTREAM: coresight: Introduce support for Coresight Address Translation Unit UPSTREAM: coresight: Add helper device type UPSTREAM: coresight: Cleanup device subtype struct UPSTREAM: coresight: Fix check in coresight_tmc_etr_buf_insert_barrier_packet UPSTREAM: coresight: include vmalloc.h for vmap/vunmap UPSTREAM: coresight: tmc: Add configuration support for trace buffer size UPSTREAM: coresight: tmc-etr buf: Add TMC scatter gather mode backend UPSTREAM: coresight: tmc-etr: Add transparent buffer management UPSTREAM: coresight: Add support for TMC ETR SG unit UPSTREAM: coresight: Add generic TMC sg table framework UPSTREAM: dts: bindings: Restrict coresight tmc-etr scatter-gather mode UPSTREAM: coresight: Add helper for inserting synchronization packets UPSTREAM: coresight: tmc-etr: Disallow perf mode UPSTREAM: coresight: tmc-etr: Do not clean trace buffer UPSTREAM: coresight: tmc: Hide trace buffer handling for file read UPSTREAM: coresight tmc etr: Fix uninitialised variable UPSTREAM: coresight tmc etr: Make memory check consistent in the same function UPSTREAM: coresight: use put_device() instead of kfree() UPSTREAM: perf/core: Fix bad use of igrab() UPSTREAM: coresight: Use PTR_ERR_OR_ZERO() ANDROID: nf: IDLETIMER: Fix possible use before initialization in idletimer_resume UPSTREAM: HID: steam: fix deadlock with input devices. UPSTREAM: HID: steam: fix boot loop with bluetooth firmware UPSTREAM: HID: steam: remove input device when a hid client is running. UPSTREAM: HID: steam: use hid_device.driver_data instead of hid_set_drvdata() UPSTREAM: HID: steam: add missing fields in client initialization UPSTREAM: HID: steam: add battery device. UPSTREAM: HID: add driver for Valve Steam Controller ANDROID: overlayfs: fix printk format BACKPORT: ANDROID: overlayfs: internal getxattr operations without sepolicy checking ANDROID: overlayfs: add __get xattr method ANDROID: Add optional __get xattr method paired to __vfs_getxattr ANDROID: regression introduced override_creds=off ANDROID: don't enable TOOLS_SUPPORT_RELR in all{mod,yes}config BACKPORT: dm bufio: introduce a global cache replacement BACKPORT: dm bufio: remove old-style buffer cleanup BACKPORT: dm bufio: introduce a global queue BACKPORT: dm bufio: refactor adjust_total_allocated BACKPORT: dm bufio: call adjust_total_allocated from __link_buffer and __unlink_buffer Conflicts: Documentation/devicetree/bindings/arm/coresight.txt drivers/hwtracing/coresight/Makefile drivers/hwtracing/coresight/coresight-etm-perf.c drivers/hwtracing/coresight/coresight-funnel.c drivers/hwtracing/coresight/coresight-tmc-etf.c drivers/hwtracing/coresight/coresight-tmc-etr.c drivers/hwtracing/coresight/coresight-tmc.c drivers/hwtracing/coresight/coresight-tmc.h drivers/hwtracing/coresight/coresight.c drivers/hwtracing/coresight/of_coresight.c include/linux/coresight.h Fixed build errors in below files: drivers/hwtracing/coresight/coresight-byte-cntr.c drivers/hwtracing/coresight/coresight-dummy.c drivers/hwtracing/coresight/coresight-funnel.c drivers/hwtracing/coresight/coresight-tmc-etr.c drivers/hwtracing/coresight/coresight-tmc.c drivers/hwtracing/coresight/coresight-tmc.h drivers/hwtracing/coresight/of_coresight.c Below downstream changes are deprecated so removed unwanted code: coresight: byte-cntr: Add scatter-gather support for byte-counter coresight: tmc: add scatter-gather support for tmc etr Change-Id: I945ffe94def441862a9fbad6b92e42fe44fa9451 Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org> Signed-off-by: Srinivasarao P <spathi@codeaurora.org> |
||
|
8ad87c80a2 |
Merge android-4.14.151 (2bb70f4) into msm-4.14
* refs/heads/tmp-2bb70f4: ANDROID: virtio: virtio_input: Set the amount of multitouch slots in virtio input ANDROID: dummy_cpufreq: Implement get() rtlwifi: Fix potential overflow on P2P code ANDROID: cpufreq: create dummy cpufreq driver ANDROID: Allow DRM_IOCTL_MODE_*_DUMB for render clients. ANDROID: sdcardfs: evict dentries on fscrypt key removal ANDROID: fscrypt: add key removal notifier chain ANDROID: Move from clang r353983c to r365631c ANDROID: move up spin_unlock_bh() ahead of remove_proc_entry() BACKPORT: arm64: tags: Preserve tags for addresses translated via TTBR1 UPSTREAM: arm64: memory: Implement __tag_set() as common function UPSTREAM: arm64/mm: fix variable 'tag' set but not used UPSTREAM: arm64: avoid clang warning about self-assignment ANDROID: refactor build.config files to remove duplication UPSTREAM: mm: vmalloc: show number of vmalloc pages in /proc/meminfo BACKPORT: PM/sleep: Expose suspend stats in sysfs UPSTREAM: power: supply: Init device wakeup after device_add() UPSTREAM: PM / wakeup: Unexport wakeup_source_sysfs_{add,remove}() UPSTREAM: PM / wakeup: Register wakeup class kobj after device is added BACKPORT: PM / wakeup: Fix sysfs registration error path BACKPORT: PM / wakeup: Show wakeup sources stats in sysfs UPSTREAM: PM / wakeup: Print warn if device gets enabled as wakeup source during sleep UPSTREAM: PM / wakeup: Use wakeup_source_register() in wakelock.c UPSTREAM: PM / wakeup: Only update last time for active wakeup sources UPSTREAM: PM / core: Add support to skip power management in device/driver model cuttlefish-4.14: Enable CONFIG_DM_SNAPSHOT ANDROID: cuttlefish_defconfig: Enable BPF_JIT and BPF_JIT_ALWAYS_ON UPSTREAM: netfilter: xt_IDLETIMER: fix sysfs callback function type UPSTREAM: mm: untag user pointers in mmap/munmap/mremap/brk UPSTREAM: vfio/type1: untag user pointers in vaddr_get_pfn UPSTREAM: media/v4l2-core: untag user pointers in videobuf_dma_contig_user_get UPSTREAM: drm/radeon: untag user pointers in radeon_gem_userptr_ioctl BACKPORT: drm/amdgpu: untag user pointers UPSTREAM: userfaultfd: untag user pointers UPSTREAM: fs/namespace: untag user pointers in copy_mount_options UPSTREAM: mm: untag user pointers in get_vaddr_frames UPSTREAM: mm: untag user pointers in mm/gup.c BACKPORT: mm: untag user pointers passed to memory syscalls BACKPORT: lib: untag user pointers in strn*_user UPSTREAM: arm64: Fix reference to docs for ARM64_TAGGED_ADDR_ABI UPSTREAM: selftests, arm64: add kernel headers path for tags_test BACKPORT: arm64: Relax Documentation/arm64/tagged-pointers.rst UPSTREAM: arm64: Define Documentation/arm64/tagged-address-abi.rst UPSTREAM: arm64: Change the tagged_addr sysctl control semantics to only prevent the opt-in UPSTREAM: arm64: Tighten the PR_{SET, GET}_TAGGED_ADDR_CTRL prctl() unused arguments UPSTREAM: selftests, arm64: fix uninitialized symbol in tags_test.c UPSTREAM: arm64: mm: Really fix sparse warning in untagged_addr() UPSTREAM: selftests, arm64: add a selftest for passing tagged pointers to kernel BACKPORT: arm64: Introduce prctl() options to control the tagged user addresses ABI UPSTREAM: thread_info: Add update_thread_flag() helpers UPSTREAM: arm64: untag user pointers in access_ok and __uaccess_mask_ptr UPSTREAM: uaccess: add noop untagged_addr definition BACKPORT: block: annotate refault stalls from IO submission ext4: add verity flag check for dax ANDROID: usb: gadget: Fix dependency for f_accessory ANDROID: sched: fair: balance for single core cluster UPSTREAM: mm/kasan: fix false positive invalid-free reports with CONFIG_KASAN_SW_TAGS=y f2fs: add a condition to detect overflow in f2fs_ioc_gc_range() f2fs: fix to add missing F2FS_IO_ALIGNED() condition f2fs: fix to fallback to buffered IO in IO aligned mode f2fs: fix to handle error path correctly in f2fs_map_blocks f2fs: fix extent corrupotion during directIO in LFS mode f2fs: check all the data segments against all node ones f2fs: Add a small clarification to CONFIG_FS_F2FS_FS_SECURITY f2fs: fix inode rwsem regression f2fs: fix to avoid accessing uninitialized field of inode page in is_alive() f2fs: avoid infinite GC loop due to stale atomic files f2fs: Fix indefinite loop in f2fs_gc() f2fs: convert inline_data in prior to i_size_write f2fs: fix error path of f2fs_convert_inline_page() f2fs: add missing documents of reserve_root/resuid/resgid f2fs: fix flushing node pages when checkpoint is disabled f2fs: enhance f2fs_is_checkpoint_ready()'s readability f2fs: clean up __bio_alloc()'s parameter f2fs: fix wrong error injection path in inc_valid_block_count() f2fs: fix to writeout dirty inode during node flush f2fs: optimize case-insensitive lookups f2fs: introduce f2fs_match_name() for cleanup f2fs: Fix indefinite loop in f2fs_gc() f2fs: allocate memory in batch in build_sit_info() f2fs: fix to avoid data corruption by forbidding SSR overwrite f2fs: Fix build error while CONFIG_NLS=m Revert "f2fs: avoid out-of-range memory access" f2fs: cleanup the code in build_sit_entries. f2fs: fix wrong available node count calculation f2fs: remove duplicate code in f2fs_file_write_iter f2fs: fix to migrate blocks correctly during defragment f2fs: use wrapped f2fs_cp_error() f2fs: fix to use more generic EOPNOTSUPP f2fs: use wrapped IS_SWAPFILE() f2fs: Support case-insensitive file name lookups f2fs: include charset encoding information in the superblock fs: Reserve flag for casefolding f2fs: fix to avoid call kvfree under spinlock fs: f2fs: Remove unnecessary checks of SM_I(sbi) in update_general_status() f2fs: disallow direct IO in atomic write f2fs: fix to handle quota_{on,off} correctly f2fs: fix to detect cp error in f2fs_setxattr() f2fs: fix to spread f2fs_is_checkpoint_ready() f2fs: support fiemap() for directory inode f2fs: fix to avoid discard command leak f2fs: fix to avoid tagging SBI_QUOTA_NEED_REPAIR incorrectly f2fs: fix to drop meta/node pages during umount f2fs: disallow switching io_bits option during remount f2fs: fix panic of IO alignment feature f2fs: introduce {page,io}_is_mergeable() for readability f2fs: fix livelock in swapfile writes f2fs: add fs-verity support ext4: update on-disk format documentation for fs-verity ext4: add fs-verity read support ext4: add basic fs-verity support fs-verity: support builtin file signatures fs-verity: add SHA-512 support fs-verity: implement FS_IOC_MEASURE_VERITY ioctl fs-verity: implement FS_IOC_ENABLE_VERITY ioctl fs-verity: add data verification hooks for ->readpages() fs-verity: add the hook for file ->setattr() fs-verity: add the hook for file ->open() fs-verity: add inode and superblock fields fs-verity: add Kconfig and the helper functions for hashing fs: uapi: define verity bit for FS_IOC_GETFLAGS fs-verity: add UAPI header fs-verity: add MAINTAINERS file entry fs-verity: add a documentation file ext4: fix kernel oops caused by spurious casefold flag ext4: fix coverity warning on error path of filename setup ext4: optimize case-insensitive lookups ext4: fix dcache lookup of !casefolded directories unicode: update to Unicode 12.1.0 final unicode: add missing check for an error return from utf8lookup() ext4: export /sys/fs/ext4/feature/casefold if Unicode support is present unicode: refactor the rule for regenerating utf8data.h ext4: Support case-insensitive file name lookups ext4: include charset encoding information in the superblock unicode: update unicode database unicode version 12.1.0 unicode: introduce test module for normalized utf8 implementation unicode: implement higher level API for string handling unicode: reduce the size of utf8data[] unicode: introduce code for UTF-8 normalization unicode: introduce UTF-8 character database ext4 crypto: fix to check feature status before get policy fscrypt: document the new ioctls and policy version ubifs: wire up new fscrypt ioctls f2fs: wire up new fscrypt ioctls ext4: wire up new fscrypt ioctls fscrypt: require that key be added when setting a v2 encryption policy fscrypt: add FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS ioctl fscrypt: allow unprivileged users to add/remove keys for v2 policies fscrypt: v2 encryption policy support fscrypt: add an HKDF-SHA512 implementation fscrypt: add FS_IOC_GET_ENCRYPTION_KEY_STATUS ioctl fscrypt: add FS_IOC_REMOVE_ENCRYPTION_KEY ioctl fscrypt: add FS_IOC_ADD_ENCRYPTION_KEY ioctl fscrypt: rename keyinfo.c to keysetup.c fscrypt: move v1 policy key setup to keysetup_v1.c fscrypt: refactor key setup code in preparation for v2 policies fscrypt: rename fscrypt_master_key to fscrypt_direct_key fscrypt: add ->ci_inode to fscrypt_info fscrypt: use FSCRYPT_* definitions, not FS_* fscrypt: use FSCRYPT_ prefix for uapi constants fs, fscrypt: move uapi definitions to new header <linux/fscrypt.h> fscrypt: use ENOPKG when crypto API support missing fscrypt: improve warnings for missing crypto API support fscrypt: improve warning messages for unsupported encryption contexts fscrypt: make fscrypt_msg() take inode instead of super_block fscrypt: clean up base64 encoding/decoding fscrypt: remove loadable module related code ANDROID: arm64: bpf: implement arch_bpf_jit_check_func ANDROID: bpf: validate bpf_func when BPF_JIT is enabled with CFI UPSTREAM: kcm: use BPF_PROG_RUN UPSTREAM: psi: get poll_work to run when calling poll syscall next time UPSTREAM: sched/psi: Do not require setsched permission from the trigger creator UPSTREAM: sched/psi: Reduce psimon FIFO priority BACKPORT: arm64: Add support for relocating the kernel with RELR relocations ANDROID: Log which device failed to suspend in dpm_suspend_start() ANDROID: Revert "ANDROID: sched: Disallow WALT with CFS bandwidth control" ANDROID: sched: WALT: Add support for CFS_BANDWIDTH ANDROID: sched: WALT: Refactor cumulative runnable average fixup ANDROID: sched: Disallow WALT with CFS bandwidth control fscrypt: document testing with xfstests fscrypt: remove selection of CONFIG_CRYPTO_SHA256 fscrypt: remove unnecessary includes of ratelimit.h fscrypt: don't set policy for a dead directory fscrypt: decrypt only the needed blocks in __fscrypt_decrypt_bio() fscrypt: support decrypting multiple filesystem blocks per page fscrypt: introduce fscrypt_decrypt_block_inplace() fscrypt: handle blocksize < PAGE_SIZE in fscrypt_zeroout_range() fscrypt: support encrypting multiple filesystem blocks per page fscrypt: introduce fscrypt_encrypt_block_inplace() fscrypt: clean up some BUG_ON()s in block encryption/decryption fscrypt: rename fscrypt_do_page_crypto() to fscrypt_crypt_block() fscrypt: remove the "write" part of struct fscrypt_ctx fscrypt: simplify bounce page handling ANDROID: fiq_debugger: remove UPSTREAM: lib/test_meminit.c: use GFP_ATOMIC in RCU critical section UPSTREAM: mm: slub: Fix slab walking for init_on_free UPSTREAM: lib/test_meminit.c: minor test fixes UPSTREAM: lib/test_meminit.c: fix -Wmaybe-uninitialized false positive UPSTREAM: lib: introduce test_meminit module UPSTREAM: mm: init: report memory auto-initialization features at boot time BACKPORT: mm: security: introduce init_on_alloc=1 and init_on_free=1 boot options UPSTREAM: arm64: move jump_label_init() before parse_early_param() ANDROID: Add a tracepoint for mapping inode to full path BACKPORT: arch: add pidfd and io_uring syscalls everywhere UPSTREAM: dma-buf: add show_fdinfo handler UPSTREAM: dma-buf: add DMA_BUF_SET_NAME ioctls BACKPORT: dma-buf: give each buffer a full-fledged inode ANDROID: fix kernelci build-break UPSTREAM: drm/virtio: Fix cache entry creation race. UPSTREAM: drm/virtio: Wake up all waiters when capset response comes in. UPSTREAM: drm/virtio: Ensure cached capset entries are valid before copying. UPSTREAM: drm/virtio: use u64_to_user_ptr macro UPSTREAM: drm/virtio: remove irrelevant DRM_UNLOCKED flag UPSTREAM: drm/virtio: Remove redundant return type UPSTREAM: drm/virtio: allocate fences with GFP_KERNEL UPSTREAM: drm/virtio: add trace events for commands UPSTREAM: drm/virtio: trace drm_fence_emit BACKPORT: drm/virtio: set seqno for dma-fence BACKPORT: drm/virtio: move drm_connector_update_edid_property() call UPSTREAM: drm/virtio: add missing drm_atomic_helper_shutdown() call. BACKPORT: drm/virtio: rework resource creation workflow. UPSTREAM: drm/virtio: params struct for virtio_gpu_cmd_create_resource_3d() BACKPORT: drm/virtio: params struct for virtio_gpu_cmd_create_resource() BACKPORT: drm/virtio: use struct to pass params to virtio_gpu_object_create() UPSTREAM: drm/virtio: add virtio-gpu-features debugfs file. UPSTREAM: drm/virtio: remove set but not used variable 'vgdev' BACKPORT: drm/virtio: implement prime export UPSTREAM: drm/virtio: remove prime pin/unpin callbacks. UPSTREAM: drm/virtio: implement prime mmap UPSTREAM: drm/virtio: drop virtio_gpu_fence_cleanup() UPSTREAM: drm/virtio: fix pageflip flush UPSTREAM: drm/virtio: log error responses UPSTREAM: drm/virtio: Add missing virtqueue reset UPSTREAM: drm/virtio: Remove incorrect kfree() UPSTREAM: drm/virtio: virtio_gpu_cmd_resource_create_3d: drop unused fence arg UPSTREAM: drm/virtio: fence: pass plain pointer BACKPORT: drm/virtio: add edid support UPSTREAM: virtio-gpu: add VIRTIO_GPU_F_EDID feature BACKPORT: drm/virtio: fix memory leak of vfpriv on error return path UPSTREAM: drm/virtio: bump driver version after explicit synchronization addition UPSTREAM: drm/virtio: add in/out fence support for explicit synchronization UPSTREAM: drm/virtio: add uapi for in and out explicit fences UPSTREAM: drm/virtio: add virtio_gpu_alloc_fence() UPSTREAM: drm/virtio: Handle error from virtio_gpu_resource_id_get UPSTREAM: gpu/drm/virtio/virtgpu_vq.c: Use kmem_cache_zalloc UPSTREAM: drm/virtio: fix resource id handling UPSTREAM: drm/virtio: drop resource_id argument. UPSTREAM: drm/virtio: use virtio_gpu_object->hw_res_handle in virtio_gpu_resource_create_ioctl() UPSTREAM: drm/virtio: use virtio_gpu_object->hw_res_handle in virtio_gpu_mode_dumb_create() UPSTREAM: drm/virtio: use virtio_gpu_object->hw_res_handle in virtio_gpufb_create() BACKPORT: drm/virtio: track created object state UPSTREAM: drm/virtio: document drm_dev_set_unique workaround UPSTREAM: virtio: Support prime objects vmap/vunmap UPSTREAM: virtio: Rework virtio_gpu_object_kmap() UPSTREAM: virtio: Add virtio_gpu_object_kunmap() UPSTREAM: drm/virtio: pass virtio_gpu_object to virtio_gpu_cmd_transfer_to_host_{2d, 3d} UPSTREAM: drm/virtio: add dma sync for dma mapped virtio gpu framebuffer pages UPSTREAM: drm/virtio: Remove set but not used variable 'bo' UPSTREAM: drm/virtio: add iommu support. UPSTREAM: drm/virtio: add virtio_gpu_object_detach() function UPSTREAM: drm/virtio: track virtual output state UPSTREAM: drm/virtio: fix bounds check in virtio_gpu_cmd_get_capset() UPSTREAM: gpu: drm: virtio: code cleanup UPSTREAM: drm/virtio: Place GEM BOs in drm_framebuffer UPSTREAM: drm/virtio: fix mode_valid's return type UPSTREAM: drm/virtio: Add spaces around operators UPSTREAM: drm/virtio: Remove multiple blank lines UPSTREAM: drm/virtio: Replace 'unsigned' for 'unsigned int' UPSTREAM: drm/virtio: Remove return from void function UPSTREAM: drm/virtio: Add */ in block comments to separate line UPSTREAM: drm/virtio: Add blank line after variable declarations UPSTREAM: drm/virtio: Add tabs at the start of a line UPSTREAM: drm/virtio: Don't return invalid caps on timeout UPSTREAM: virtgpu: remove redundant task_comm copying UPSTREAM: drm/virtio: add create_handle support. UPSTREAM: drm: virtio: replace reference/unreference with get/put UPSTREAM: drm/virtio: Replace instances of reference/unreference with get/put UPSTREAM: drm: byteorder: add DRM_FORMAT_HOST_* UPSTREAM: drm: add drm_connector_attach_edid_property() BACKPORT: drm/prime: Add drm_gem_prime_mmap() f2fs: fix build error on android tracepoints ANDROID: cuttlefish_defconfig: Enable CAN/VCAN UPSTREAM: pidfd: fix a poll race when setting exit_state BACKPORT: arch: wire-up pidfd_open() BACKPORT: pid: add pidfd_open() UPSTREAM: pidfd: add polling support UPSTREAM: signal: improve comments UPSTREAM: fork: do not release lock that wasn't taken BACKPORT: signal: support CLONE_PIDFD with pidfd_send_signal BACKPORT: clone: add CLONE_PIDFD UPSTREAM: Make anon_inodes unconditional UPSTREAM: signal: use fdget() since we don't allow O_PATH UPSTREAM: signal: don't silently convert SI_USER signals to non-current pidfd BACKPORT: signal: add pidfd_send_signal() syscall UPSTREAM: net-ipv6-ndisc: add support for RFC7710 RA Captive Portal Identifier ANDROID: fix up 9p filesystem due to CFI non-upstream patches f2fs: use EINVAL for superblock with invalid magic f2fs: fix to read source block before invalidating it f2fs: remove redundant check from f2fs_setflags_common() f2fs: use generic checking function for FS_IOC_FSSETXATTR f2fs: use generic checking and prep function for FS_IOC_SETFLAGS ubifs, fscrypt: cache decrypted symlink target in ->i_link vfs: use READ_ONCE() to access ->i_link fs, fscrypt: clear DCACHE_ENCRYPTED_NAME when unaliasing directory ANDROID: (arm64) cuttlefish_defconfig: enable CONFIG_CPU_FREQ_TIMES ANDROID: xfrm: remove in_compat_syscall() checks ANDROID: enable CONFIG_RTC_DRV_TEST on cuttlefish UPSTREAM: binder: Set end of SG buffer area properly. ANDROID: x86_64_cuttlefish_defconfig: enable CONFIG_CPU_FREQ_TIMES ANDROID: f2fs: add android fsync tracepoint ANDROID: f2fs: fix wrong android tracepoint fscrypt: cache decrypted symlink target in ->i_link fscrypt: fix race where ->lookup() marks plaintext dentry as ciphertext fscrypt: only set dentry_operations on ciphertext dentries fscrypt: fix race allowing rename() and link() of ciphertext dentries fscrypt: clean up and improve dentry revalidation fscrypt: use READ_ONCE() to access ->i_crypt_info fscrypt: remove WARN_ON_ONCE() when decryption fails fscrypt: drop inode argument from fscrypt_get_ctx() f2fs: improve print log in f2fs_sanity_check_ckpt() f2fs: avoid out-of-range memory access f2fs: fix to avoid long latency during umount f2fs: allow all the users to pin a file f2fs: support swap file w/ DIO f2fs: allocate blocks for pinned file f2fs: fix is_idle() check for discard type f2fs: add a rw_sem to cover quota flag changes f2fs: set SBI_NEED_FSCK for xattr corruption case f2fs: use generic EFSBADCRC/EFSCORRUPTED f2fs: Use DIV_ROUND_UP() instead of open-coding f2fs: print kernel message if filesystem is inconsistent f2fs: introduce f2fs_<level> macros to wrap f2fs_printk() f2fs: avoid get_valid_blocks() for cleanup f2fs: ioctl for removing a range from F2FS f2fs: only set project inherit bit for directory f2fs: separate f2fs i_flags from fs_flags and ext4 i_flags UPSTREAM: kasan: initialize tag to 0xff in __kasan_kmalloc UPSTREAM: x86/boot: Provide KASAN compatible aliases for string routines UPSTREAM: mm/kasan: Remove the ULONG_MAX stack trace hackery UPSTREAM: x86/uaccess, kasan: Fix KASAN vs SMAP UPSTREAM: x86/uaccess: Introduce user_access_{save,restore}() UPSTREAM: kasan: fix variable 'tag' set but not used warning UPSTREAM: Revert "x86_64: Increase stack size for KASAN_EXTRA" UPSTREAM: kasan: fix coccinelle warnings in kasan_p*_table UPSTREAM: kasan: fix kasan_check_read/write definitions BACKPORT: kasan: remove use after scope bugs detection. BACKPORT: kasan: turn off asan-stack for clang-8 and earlier UPSTREAM: slub: fix a crash with SLUB_DEBUG + KASAN_SW_TAGS UPSTREAM: kasan, slab: remove redundant kasan_slab_alloc hooks UPSTREAM: kasan, slab: make freelist stored without tags UPSTREAM: kasan, slab: fix conflicts with CONFIG_HARDENED_USERCOPY UPSTREAM: kasan: prevent tracing of tags.c UPSTREAM: kasan: fix random seed generation for tag-based mode UPSTREAM: slub: fix SLAB_CONSISTENCY_CHECKS + KASAN_SW_TAGS UPSTREAM: kasan, slub: fix more conflicts with CONFIG_SLAB_FREELIST_HARDENED UPSTREAM: kasan, slub: fix conflicts with CONFIG_SLAB_FREELIST_HARDENED UPSTREAM: kasan, slub: move kasan_poison_slab hook before page_address UPSTREAM: kasan, kmemleak: pass tagged pointers to kmemleak UPSTREAM: kasan: fix assigning tags twice UPSTREAM: kasan: mark file common so ftrace doesn't trace it UPSTREAM: kasan, arm64: remove redundant ARCH_SLAB_MINALIGN define UPSTREAM: kasan: fix krealloc handling for tag-based mode UPSTREAM: kasan: make tag based mode work with CONFIG_HARDENED_USERCOPY UPSTREAM: kasan, arm64: use ARCH_SLAB_MINALIGN instead of manual aligning BACKPORT: mm/memblock.c: skip kmemleak for kasan_init() UPSTREAM: kasan: add SPDX-License-Identifier mark to source files BACKPORT: kasan: update documentation UPSTREAM: kasan, arm64: select HAVE_ARCH_KASAN_SW_TAGS UPSTREAM: kasan: add __must_check annotations to kasan hooks BACKPORT: kasan, mm, arm64: tag non slab memory allocated via pagealloc UPSTREAM: kasan, arm64: add brk handler for inline instrumentation UPSTREAM: kasan: add hooks implementation for tag-based mode UPSTREAM: mm: move obj_to_index to include/linux/slab_def.h UPSTREAM: kasan: add bug reporting routines for tag-based mode UPSTREAM: kasan: split out generic_report.c from report.c UPSTREAM: kasan, mm: perform untagged pointers comparison in krealloc BACKPORT: kasan, arm64: enable top byte ignore for the kernel BACKPORT: kasan, arm64: fix up fault handling logic UPSTREAM: kasan: preassign tags to objects with ctors or SLAB_TYPESAFE_BY_RCU UPSTREAM: kasan, arm64: untag address in _virt_addr_is_linear UPSTREAM: kasan: add tag related helper functions BACKPORT: arm64: move untagged_addr macro from uaccess.h to memory.h BACKPORT: kasan: initialize shadow to 0xff for tag-based mode BACKPORT: kasan: rename kasan_zero_page to kasan_early_shadow_page BACKPORT: kasan, arm64: adjust shadow size for tag-based mode BACKPORT: kasan: add CONFIG_KASAN_GENERIC and CONFIG_KASAN_SW_TAGS UPSTREAM: kasan: rename source files to reflect the new naming scheme BACKPORT: kasan: move common generic and tag-based code to common.c UPSTREAM: kasan, slub: handle pointer tags in early_kmem_cache_node_alloc UPSTREAM: kasan, mm: change hooks signatures UPSTREAM: arm64: add EXPORT_SYMBOL_NOKASAN() BACKPORT: compiler: remove __no_sanitize_address_or_inline again UPSTREAM: mm/kasan/quarantine.c: make quarantine_lock a raw_spinlock_t UPSTREAM: lib/test_kasan.c: add tests for several string/memory API functions UPSTREAM: arm64: lib: use C string functions with KASAN enabled UPSTREAM: compiler: introduce __no_sanitize_address_or_inline UPSTREAM: arm64: Fix typo in a comment in arch/arm64/mm/kasan_init.c BACKPORT: kernel/memremap, kasan: make ZONE_DEVICE with work with KASAN BACKPORT: mm/mempool.c: remove unused argument in kasan_unpoison_element() and remove_element() UPSTREAM: kasan: only select SLUB_DEBUG with SYSFS=y UPSTREAM: kasan: depend on CONFIG_SLUB_DEBUG UPSTREAM: KASAN: prohibit KASAN+STRUCTLEAK combination UPSTREAM: arm64: kasan: avoid pfn_to_nid() before page array is initialized UPSTREAM: kasan: fix invalid-free test crashing the kernel UPSTREAM: kasan, slub: fix handling of kasan_slab_free hook UPSTREAM: slab, slub: skip unnecessary kasan_cache_shutdown() BACKPORT: kasan: make kasan_cache_create() work with 32-bit slab cache sizes UPSTREAM: locking/atomics: Instrument cmpxchg_double*() UPSTREAM: locking/atomics: Instrument xchg() UPSTREAM: locking/atomics: Simplify cmpxchg() instrumentation UPSTREAM: locking/atomics/x86: Reduce arch_cmpxchg64*() instrumentation UPSTREAM: locking/atomic, asm-generic, x86: Add comments for atomic instrumentation UPSTREAM: locking/atomic, asm-generic: Add KASAN instrumentation to atomic operations UPSTREAM: locking/atomic/x86: Switch atomic.h to use atomic-instrumented.h UPSTREAM: locking/atomic, asm-generic: Add asm-generic/atomic-instrumented.h BACKPORT: kasan, arm64: clean up KASAN_SHADOW_SCALE_SHIFT usage UPSTREAM: kasan: clean up KASAN_SHADOW_SCALE_SHIFT usage UPSTREAM: kasan: fix prototype author email address UPSTREAM: kasan: detect invalid frees UPSTREAM: kasan: unify code between kasan_slab_free() and kasan_poison_kfree() UPSTREAM: kasan: detect invalid frees for large mempool objects UPSTREAM: kasan: don't use __builtin_return_address(1) UPSTREAM: kasan: detect invalid frees for large objects UPSTREAM: kasan: add functions for unpoisoning stack variables UPSTREAM: kasan: add tests for alloca poisoning UPSTREAM: kasan: support alloca() poisoning UPSTREAM: kasan/Makefile: support LLVM style asan parameters BACKPORT: kasan: add compiler support for clang BACKPORT: fs: dcache: Revert "manually unpoison dname after allocation to shut up kasan's reports" UPSTREAM: fs/dcache: Use read_word_at_a_time() in dentry_string_cmp() UPSTREAM: lib/strscpy: Shut up KASAN false-positives in strscpy() UPSTREAM: compiler.h: Add read_word_at_a_time() function. UPSTREAM: compiler.h, kasan: Avoid duplicating __read_once_size_nocheck() UPSTREAM: arm64/mm/kasan: don't use vmemmap_populate() to initialize shadow UPSTREAM: Documentation/features/KASAN: mark KASAN as supported only on 64-bit on x86 f2fs: Add option to limit required GC for checkpoint=disable f2fs: Fix accounting for unusable blocks f2fs: Fix root reserved on remount f2fs: Lower threshold for disable_cp_again f2fs: fix sparse warning f2fs: fix f2fs_show_options to show nodiscard mount option f2fs: add error prints for debugging mount failure f2fs: fix to do sanity check on segment bitmap of LFS curseg f2fs: add missing sysfs entries in documentation f2fs: fix to avoid deadloop if data_flush is on f2fs: always assume that the device is idle under gc_urgent f2fs: add bio cache for IPU f2fs: allow ssr block allocation during checkpoint=disable period f2fs: fix to check layout on last valid checkpoint park Conflicts: arch/arm64/configs/cuttlefish_defconfig arch/arm64/include/asm/memory.h arch/arm64/include/asm/thread_info.h arch/x86/configs/x86_64_cuttlefish_defconfig build.config.common drivers/dma-buf/dma-buf.c fs/crypto/Makefile fs/crypto/bio.c fs/crypto/fscrypt_private.h fs/crypto/keyinfo.c fs/ext4/page-io.c fs/f2fs/data.c fs/f2fs/f2fs.h fs/f2fs/inode.c fs/f2fs/segment.c fs/userfaultfd.c include/linux/dma-buf.h include/linux/fscrypt.h include/linux/kasan.h include/linux/platform_data/ds2482.h include/uapi/linux/fs.h kernel/sched/deadline.c kernel/sched/fair.c kernel/sched/rt.c kernel/sched/sched.h kernel/sched/stop_task.c kernel/sched/walt.c kernel/sched/walt.h lib/test_kasan.c mm/kasan/common.c mm/kasan/kasan.h mm/kasan/report.c mm/slub.c mm/vmalloc.c scripts/Makefile.kasan Changed below files to fix build errors: drivers/char/diag/diagchar_core.c drivers/power/supply/qcom/battery.c drivers/power/supply/qcom/smb1390-charger-psy.c drivers/power/supply/qcom/smb1390-charger.c drivers/power/supply/qcom/step-chg-jeita.c fs/crypto/fscrypt_ice.c fs/crypto/fscrypt_private.h fs/f2fs/inode.c include/uapi/linux/fscrypt.h net/qrtr/qrtr.c gen_headers_arm.bp gen_headers_arm64.bp Extra added fixes in fs/f2fs/data.c for FBE: * Fix FBE regression with 9937c21ce1 ("f2fs: add bio cache for IPU"). The above commit is not setting the DUN for bio, due to which the bio's could get corrupted when FBE is enabled. * The f2fs_merge_page_bio() incorrectly uses the bio after it is submitted for IO when fscrypt_mergeable_bio() returns false. Fix it by making the submitted bio NULL so that a new bio gets allocated for the next/new page. Ignored the below scheduler patches as they are already present: ANDROID: sched: WALT: Add support for CFS_BANDWIDTH ANDROID: sched: WALT: Refactor cumulative runnable average fixup picked below patches from 4.14.159 and 4.14.172 versions to fix issues 0e39aa9d5 "UPSTREAM: arm64: Validate tagged addresses in access_ok() called from kernel threads" 352902650 "fscrypt: support passing a keyring key to FS_IOC_ADD_ENCRYPTION_KEY" Change-Id: I205b796ee125fa6e9d27fa30f881e4e8fe8bea29 Signed-off-by: Srinivasarao P <spathi@codeaurora.org> Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org> |
||
|
2b2bb0cce0 |
ANDROID: don't enable TOOLS_SUPPORT_RELR in all{mod,yes}config
We can't have this option enabled by default in all{mod,yes}config builds because the tools might not support RELR. Follow the pattern used elsewhere in the kernel and specify "depends on !COMPILE_TEST" in order to prevent it from being turned on in these builds. Bug: 143966059 Signed-off-by: Peter Collingbourne <pcc@google.com> Change-Id: I0c728bd8973791b1879257b343aa53bd1f91c3f1 |
||
|
3b572c9bfa |
Merge android-4.14-q.146 (a3d6259) into msm-4.14
* refs/heads/tmp-a3d6259: Linux 4.14.146 media: technisat-usb2: break out of loop at end of buffer tcp: Don't dequeue SYN/FIN-segments from write-queue tcp: Reset send_head when removing skb from write-queue binfmt_elf: move brk out of mmap when doing direct loader exec floppy: fix usercopy direction PCI: kirin: Fix section mismatch warning iommu/amd: Fix race in increase_address_space() iommu/amd: Flush old domains in kdump kernel keys: Fix missing null pointer check in request_key_auth_describe() x86/hyper-v: Fix overflow bug in fill_gva_list() x86/uaccess: Don't leak the AC flags into __get_user() argument evaluation dmaengine: ti: omap-dma: Add cleanup in omap_dma_probe() dmaengine: ti: dma-crossbar: Fix a memory leak bug net: seeq: Fix the function used to release some memory in an error handling path tools/power turbostat: fix buffer overrun tools/power x86_energy_perf_policy: Fix argument parsing tools/power x86_energy_perf_policy: Fix "uninitialized variable" warnings at -O2 amd-xgbe: Fix error path in xgbe_mod_init() perf/x86/amd/ibs: Fix sample bias for dispatched micro-ops perf/x86/intel: Restrict period on Nehalem i2c: designware: Synchronize IRQs when unregistering slave client sky2: Disable MSI on yet another ASUS boards (P6Xxxx) ARM: 8901/1: add a criteria for pfn_valid of arm cifs: Use kzfree() to zero out the password cifs: set domainName when a domain-key is used in multiuser kallsyms: Don't let kallsyms_lookup_size_offset() fail on retrieving the first symbol NFSv2: Fix write regression NFSv2: Fix eof handling netfilter: nf_conntrack_ftp: Fix debug output x86/apic: Fix arch_dynirq_lower_bound() bug for DT enabled machines r8152: Set memory to all 0xFFs on failed reg reads batman-adv: Only read OGM2 tvlv_len after buffer len check ARM: 8874/1: mm: only adjust sections of valid mm structures qed: Add cleanup in qed_slowpath_start() Kconfig: Fix the reference to the IDT77105 Phy driver in the description of ATM_NICSTAR_USE_IDT77105 NFS: Fix initialisation of I/O result struct in nfs_pgio_rpcsetup NFSv4: Fix return value in nfs_finish_open() NFSv4: Fix return values for nfs4_file_open() netfilter: xt_nfacct: Fix alignment mismatch in xt_nfacct_match_info fpga: altera-ps-spi: Fix getting of optional confd gpio s390/bpf: use 32-bit index for tail calls ARM: dts: dra74x: Fix iodelay configuration for mmc3 ARM: OMAP2+: Fix omap4 errata warning on other SoCs s390/bpf: fix lcgr instruction encoding ARM: OMAP2+: Fix missing SYSC_HAS_RESET_STATUS for dra7 epwmss nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds mwifiex: Fix three heap overflow at parsing element in cfg80211_ap_settings tty/serial: atmel: reschedule TX after RX was started serial: sprd: correct the wrong sequence of arguments firmware: google: check if size is valid when decoding VPD data KVM: coalesced_mmio: add bounds checking net_sched: let qdisc_put() accept NULL pointer xen-netfront: do not assume sk_buff_head list is empty in error handling media: tm6000: double free if usb disconnect while streaming phy: renesas: rcar-gen3-usb2: Disable clearing VBUS in over-current USB: usbcore: Fix slab-out-of-bounds bug during device reset powerpc/mm/radix: Use the right page size for vmemmap mapping Input: elan_i2c - remove Lenovo Legion Y7000 PnpID HID: wacom: generic: read HID_DG_CONTACTMAX from any feature report ANDROID: regression introduced override_creds=off Linux 4.14.145 x86/build: Add -Wnoaddress-of-packed-member to REALMODE_CFLAGS, to silence GCC9 build warning nvmem: Use the same permissions for eeprom as for nvmem platform/x86: pmc_atom: Add CB4063 Beckhoff Automation board to critclk_systems DMI table Revert "Bluetooth: btusb: driver to enable the usb-wakeup feature" drm/mediatek: mtk_drm_drv.c: Add of_node_put() before goto firmware: ti_sci: Always request response from firmware crypto: talitos - HMAC SNOOP NO AFEU mode requires SW icv checking. crypto: talitos - Do not modify req->cryptlen on decryption. crypto: talitos - fix ECB algs ivsize crypto: talitos - check data blocksize in ablkcipher. crypto: talitos - fix CTR alg blocksize crypto: talitos - check AES key size driver core: Fix use-after-free and double free on glue directory ubifs: Correctly use tnc_next() in search_dh_cookie() PCI: Always allow probing with driver_override mtd: rawnand: mtk: Fix wrongly assigned OOB buffer pointer issue clk: rockchip: Don't yell about bad mmc phases when getting drm/meson: Add support for XBGR8888 & ABGR8888 formats powerpc: Add barrier_nospec to raw_copy_in_user() MIPS: VDSO: Use same -m%-float cflag as the kernel proper MIPS: VDSO: Prevent use of smp_processor_id() KVM: nVMX: handle page fault in vmread KVM: x86: work around leak of uninitialized stack contents KVM: s390: Do not leak kernel stack data in the KVM_S390_INTERRUPT ioctl genirq: Prevent NULL pointer dereference in resend_irqs() Btrfs: fix assertion failure during fsync and use of stale transaction gpio: fix line flag validation in lineevent_create gpio: fix line flag validation in linehandle_create gpiolib: acpi: Add gpiolib_acpi_run_edge_events_on_boot option and blacklist Revert "MIPS: SiByte: Enable swiotlb for SWARM, LittleSur and BigSur" btrfs: correctly validate compression type btrfs: compression: add helper for type to string conversion tun: fix use-after-free when register netdev failed tipc: add NULL pointer check before calling kfree_rcu tcp: fix tcp_ecn_withdraw_cwr() to clear TCP_ECN_QUEUE_CWR sctp: use transport pf_retrans in sctp_do_8_2_transport_strike sctp: Fix the link time qualifier of 'sctp_ctrlsock_exit()' sch_hhf: ensure quantum and hhf_non_hh_weight are non-zero net: phylink: Fix flow control resolution net: gso: Fix skb_segment splat when splitting gso_size mangled skb having linear-headed frag_list net: Fix null de-reference of device refcount isdn/capi: check message length in capi_write() ipv6: Fix the link time qualifier of 'ping_v6_proc_exit_net()' cdc_ether: fix rndis support for Mediatek based smartphones bridge/mdb: remove wrong use of NLM_F_MULTI Linux 4.14.144 vhost: make sure log_num < in_num kernel/module: Fix mem leak in module_add_modinfo_attrs clk: s2mps11: Add used attribute to s2mps11_dt_match scripts/decode_stacktrace: match basepath using shell prefix operator, not regex arm64: dts: rockchip: enable usb-host regulators at boot on rk3328-rock64 powerpc/64: mark start_here_multiplatform as __ref hv_sock: Fix hang when a connection is closed batman-adv: Only read OGM tvlv_len after buffer len check batman-adv: fix uninit-value in batadv_netlink_get_ifindex() vhost/test: fix build for vhost test PCI: dra7xx: Fix legacy INTD IRQ handling PCI: designware-ep: Fix find_first_zero_bit() usage ip6: fix skb leak in ip6frag_expire_frag_queue() xfrm: clean up xfrm protocol checks powerpc/tm: Fix FP/VMX unavailable exceptions inside a transaction drm/vmwgfx: Fix double free in vmw_recv_msg() sched/fair: Don't assign runtime for throttled cfs_rq ALSA: hda/realtek - Fix the problem of two front mics on a ThinkCentre ALSA: hda/realtek - Fix overridden device-specific initialization ALSA: hda - Fix potential endless loop at applying quirks Linux 4.14.143 x86/boot: Preserve boot_params.secure_boot from sanitizing mld: fix memory leak in mld_del_delrec() net: sched: act_sample: fix psample group handling on overwrite tcp: remove empty skb from write queue in error cases tcp: inherit timestamp on mtu probe net: stmmac: dwmac-rk: Don't fail if phy regulator is absent net_sched: fix a NULL pointer deref in ipt action net: fix skb use after free in netpoll Revert "x86/apic: Include the LDR when clearing out APIC registers" spi: bcm2835aux: fix corruptions for longer spi transfers spi: bcm2835aux: remove dangerous uncontrolled read of fifo spi: bcm2835aux: unifying code between polling and interrupt driven code libceph: allow ceph_buffer_put() to receive a NULL ceph_buffer KVM: arm/arm64: Only skip MMIO insn once ceph: fix buffer free while holding i_ceph_lock in fill_inode() ceph: fix buffer free while holding i_ceph_lock in __ceph_build_xattrs_blob() ceph: fix buffer free while holding i_ceph_lock in __ceph_setxattr() IB/mlx4: Fix memory leaks Tools: hv: kvp: eliminate 'may be used uninitialized' warning Input: hyperv-keyboard: Use in-place iterator API in the channel callback HID: cp2112: prevent sleeping function called from invalid context kprobes: Fix potential deadlock in kprobe_optimizer() ravb: Fix use-after-free ravb_tstamp_skb wimax/i2400m: fix a memory leak bug net: kalmia: fix memory leaks cx82310_eth: fix a memory leak bug vfs: fix page locking deadlocks when deduping files lan78xx: Fix memory leaks net: myri10ge: fix memory leaks liquidio: add cleanup in octeon_setup_iq() cxgb4: fix a memory leak bug drm/mediatek: set DMA max segment size drm/mediatek: use correct device to import PRIME buffers gpio: Fix build error of function redefinition ibmveth: Convert multicast list size for little-endian system Bluetooth: btqca: Add a short delay before downloading the NVM net: tc35815: Explicitly check NET_IP_ALIGN is not zero in tc35815_rx hv_netvsc: Fix a warning of suspicious RCU usage net: tundra: tsi108: use spin_lock_irqsave instead of spin_lock_irq in IRQ context Linux 4.14.142 Revert "ASoC: Fail card instantiation if DAI format setup fails" x86/ptrace: fix up botched merge of spectrev1 fix i2c: piix4: Fix port selection for AMD Family 16h Model 30h NFS: Ensure O_DIRECT reports an error if the bytes read/written is 0 NFS: Pass error information to the pgio error cleanup routine NFSv4/pnfs: Fix a page lock leak in nfs_pageio_resend() NFS: Clean up list moves of struct nfs_page KVM: arm/arm64: vgic-v2: Handle SGI bits in GICD_I{S,C}PENDR0 as WI KVM: arm/arm64: vgic: Fix potential deadlock when ap_list is long KVM: PPC: Book3S: Fix incorrect guest-to-user-translation error handling mac80211: fix possible sta leak Revert "cfg80211: fix processing world regdomain when non modular" crypto: ccp - Ignore unconfigured CCP device on suspend/resume VMCI: Release resource if the work is already queued drm/i915: Don't deballoon unused ggtt drm_mm_node in linux guest intel_th: pci: Add Tiger Lake support intel_th: pci: Add support for another Lewisburg PCH stm class: Fix a double free of stm_source_device mmc: core: Fix init of SD cards reporting an invalid VDD range mmc: sdhci-of-at91: add quirk for broken HS200 uprobes/x86: Fix detection of 32-bit user mode USB: storage: ums-realtek: Whitelist auto-delink support USB: storage: ums-realtek: Update module parameter description for auto_delink_en usb: host: xhci: rcar: Fix typo in compatible string matching usb: host: ohci: fix a race condition between shutdown and irq usb: chipidea: udc: don't do hardware access if gadget has stopped USB: cdc-wdm: fix race between write and disconnect due to flag abuse usb-storage: Add new JMS567 revision to unusual_devs ftrace: Check for empty hash and comment the race with registering probes ftrace: Check for successful allocation of hash ftrace: Fix NULL pointer dereference in t_probe_next() x86/apic: Include the LDR when clearing out APIC registers x86/apic: Do not initialize LDR and DFR for bigsmp KVM: x86: Don't update RIP or do single-step on faulting emulation kvm: x86: skip populating logical dest map if apic is not sw enabled ALSA: seq: Fix potential concurrent access to the deleted pool ALSA: line6: Fix memory leak at line6_init_pcm() error path mm/zsmalloc.c: fix build when CONFIG_COMPACTION=n tcp: make sure EPOLLOUT wont be missed net/smc: make sure EPOLLOUT is raised ALSA: usb-audio: Fix an OOB bug in parse_audio_mixer_unit ALSA: usb-audio: Fix a stack buffer overflow bug in check_input_term tcp: fix tcp_rtx_queue_tail in case of empty retransmit queue drm/tilcdc: Register cpufreq notifier after we have initialized crtc scsi: ufs: Fix RX_TERMINATION_FORCE_ENABLE define value drm/bridge: tfp410: fix memleak in get_modes() watchdog: bcm2835_wdt: Fix module autoload tools: hv: fix KVP and VSS daemons exit code usb: host: fotg2: restart hcd after port reset drm/ast: Fixed reboot test may cause system hanged i2c: emev2: avoid race when unregistering slave client i2c: rcar: avoid race when unregistering slave client xen/blkback: fix memory leaks usb: gadget: mass_storage: Fix races between fsg_disable and fsg_set_alt usb: gadget: composite: Clear "suspended" on reset/disconnect iommu/dma: Handle SG length overflow better auxdisplay: panel: need to delete scan_timer when misc_register fails in panel_attach dmaengine: ste_dma40: fix unneeded variable warning ANDROID: sched: Disallow WALT with CFS bandwidth control ANDROID: fiq_debugger: remove Conflicts: drivers/base/core.c drivers/staging/android/fiq_debugger/fiq_debugger.c drivers/usb/gadget/function/f_mass_storage.c sound/usb/mixer.c Change-Id: Ifae45fc2fc7e7a777d77faacc1b3b88e371097df Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org> |
||
|
ca30356b2a |
BACKPORT: arm64: Add support for relocating the kernel with RELR relocations
RELR is a relocation packing format for relative relocations. The format is described in a generic-abi proposal: https://groups.google.com/d/topic/generic-abi/bX460iggiKg/discussion The LLD linker can be instructed to pack relocations in the RELR format by passing the flag --pack-dyn-relocs=relr. This patch adds a new config option, CONFIG_RELR. Enabling this option instructs the linker to pack vmlinux's relative relocations in the RELR format, and causes the kernel to apply the relocations at startup along with the RELA relocations. RELA relocations still need to be applied because the linker will emit RELA relative relocations if they are unrepresentable in the RELR format (i.e. address not a multiple of 2). Enabling CONFIG_RELR reduces the size of a defconfig kernel image with CONFIG_RANDOMIZE_BASE by 3.5MB/16% uncompressed, or 550KB/5% compressed (lz4). Signed-off-by: Peter Collingbourne <pcc@google.com> Tested-by: Nick Desaulniers <ndesaulniers@google.com> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Will Deacon <will@kernel.org> (cherry picked from commit 5cf896fb6be3effd9aea455b22213e27be8bdb1d) Bug: 137200966 Test: booted defconfig + CONFIG_RELR kernel on qemu Change-Id: I4c55bf5b10bc6c934543c651eca9fc8e260ffc6d [pcc: 4.14 lacks support for running shell commands in Kconfig, so CONFIG_TOOLS_SUPPORT_RELR is made user-configurable and users must self-declare tool support] Signed-off-by: Peter Collingbourne <pcc@google.com> |
||
|
5d41eafc92 |
ANDROID: Revert "ANDROID: sched: Disallow WALT with CFS bandwidth control"
This reverts commit d342ee64906fe8cb0a36ec8063ae4118aeb57620. The WALT code is updated to handle the CFS tasks throttling and unthrottling. So remove the limitation of disabling WALT to enable CFS_BANDWIDTH feature. Bug: 139071966 Change-Id: I3b3a17cd3e552b6238cfba24c9251b7b83e2bda3 Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org> Signed-off-by: Todd Kjos <tkjos@google.com> |
||
|
7055ef02fb |
ANDROID: sched: Disallow WALT with CFS bandwidth control
The WALT time accounting breaks when CFS tasks are throttled by the CPU bandwidth control mechanism of the CPU cgroups controller. This can result in a negative cumulative_runnable_avg, which can then lead to a kernel panic, and the device crashing. Although the right fix would be add support for throttled CFS tasks to WALT, the common kernel is now in stable maintenance mode and will not get new features which could cause issues for partners downstream. To work around the issue, make the CFS_BANDWIDTH Kconfig option depend on SCHED_WALT=n, hence preventing these two things from being enabled simultaneously. This should not be an issue for most partners (nobody had noticed the breakage for years), and those who do need the better fix can apply it in their device kernel. Bug: 139071966 Bug: 120440300 Change-Id: Ieb3c367ae7893ac93fb5b38c1580dc59151aacce Signed-off-by: Quentin Perret <quentin.perret@arm.com> |
||
|
38733badc0 |
ANDROID: sched: Disallow WALT with CFS bandwidth control
The WALT time accounting breaks when CFS tasks are throttled by the CPU bandwidth control mechanism of the CPU cgroups controller. This can result in a negative cumulative_runnable_avg, which can then lead to a kernel panic, and the device crashing. Although the right fix would be add support for throttled CFS tasks to WALT, the common kernel is now in stable maintenance mode and will not get new features which could cause issues for partners downstream. To work around the issue, make the CFS_BANDWIDTH Kconfig option depend on SCHED_WALT=n, hence preventing these two things from being enabled simultaneously. This should not be an issue for most partners (nobody had noticed the breakage for years), and those who do need the better fix can apply it in their device kernel. Bug: 139071966 Bug: 120440300 Change-Id: Ieb3c367ae7893ac93fb5b38c1580dc59151aacce Signed-off-by: Quentin Perret <quentin.perret@arm.com> |
||
|
fae859c849 |
UPSTREAM: Make anon_inodes unconditional
Make the anon_inodes facility unconditional so that it can be used by core VFS code. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> (cherry picked from commit dadd2299ab61fc2b55b95b7b3a8f674cdd3b69c9) Bug: 135608568 Test: test program using syscall(__NR_sys_pidfd_open,..) and poll() Change-Id: I2f97bda4f360d8d05bbb603de839717b3d8067ae Signed-off-by: Suren Baghdasaryan <surenb@google.com> |
||
|
80e9b1ab39 |
Merge android-4.14.126 (cfee25d) into msm-4.14
* refs/heads/tmp-cfee25d: Linux 4.14.126 ALSA: seq: Cover unsubscribe_port() in list_mutex drm: don't block fb changes for async plane updates Revert "drm/nouveau: add kconfig option to turn off nouveau legacy contexts. (v3)" Revert "Bluetooth: Align minimum encryption key size for LE and BR/EDR connections" percpu: do not search past bitmap when allocating an area gpio: vf610: Do not share irq_chip usb: typec: fusb302: Check vconn is off when we start toggling ARM: exynos: Fix undefined instruction during Exynos5422 resume pwm: Fix deadlock warning when removing PWM device ARM: dts: exynos: Always enable necessary APIO_1V8 and ABB_1V8 regulators on Arndale Octa pwm: tiehrpwm: Update shadow register for disabling PWMs dmaengine: idma64: Use actual device for DMA transfers gpio: gpio-omap: add check for off wake capable gpios PCI: xilinx: Check for __get_free_pages() failure block, bfq: increase idling for weight-raised queues video: imsttfb: fix potential NULL pointer dereferences video: hgafb: fix potential NULL pointer dereference PCI: rcar: Fix 64bit MSI message address handling PCI: rcar: Fix a potential NULL pointer dereference power: supply: max14656: fix potential use-before-alloc platform/x86: intel_pmc_ipc: adding error handling PCI: rpadlpar: Fix leaked device_node references in add/remove paths ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ipg" clock to SDMA ARM: dts: imx6ul: Specify IMX6UL_CLK_IPG as "ipg" clock to SDMA ARM: dts: imx7d: Specify IMX7D_CLK_IPG as "ipg" clock to SDMA ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ahb" clock to SDMA ARM: dts: imx53: Specify IMX5_CLK_IPG as "ahb" clock to SDMA ARM: dts: imx50: Specify IMX5_CLK_IPG as "ahb" clock to SDMA ARM: dts: imx51: Specify IMX5_CLK_IPG as "ahb" clock to SDMA soc: rockchip: Set the proper PWM for rk3288 clk: rockchip: Turn on "aclk_dmac1" for suspend on rk3288 soc: mediatek: pwrap: Zero initialize rdata in pwrap_init_cipher PCI: keystone: Prevent ARM32 specific code to be compiled for ARM64 platform/chrome: cros_ec_proto: check for NULL transfer function x86/PCI: Fix PCI IRQ routing table memory leak vfio: Fix WARNING "do not call blocking ops when !TASK_RUNNING" nfsd: allow fh_want_write to be called twice fuse: retrieve: cap requested size to negotiated max_write nvmem: core: fix read buffer in place ALSA: hda - Register irq handler after the chip initialization nvme-pci: unquiesce admin queue on shutdown misc: pci_endpoint_test: Fix test_reg_bar to be updated in pci_endpoint_test iommu/vt-d: Set intel_iommu_gfx_mapped correctly blk-mq: move cancel of requeue_work into blk_mq_release watchdog: fix compile time error of pretimeout governors watchdog: imx2_wdt: Fix set_timeout for big timeout values mmc: mmci: Prevent polling for busy detection in IRQ context uml: fix a boot splat wrt use of cpu_all_mask configfs: fix possible use-after-free in configfs_register_group percpu: remove spurious lock dependency between percpu and sched f2fs: fix to do sanity check on valid block count of segment f2fs: fix to avoid panic in dec_valid_block_count() f2fs: fix to clear dirty inode in error path of f2fs_iget() f2fs: fix to avoid panic in do_recover_data() ntp: Allow TAI-UTC offset to be set to zero pwm: meson: Use the spin-lock only to protect register modifications EDAC/mpc85xx: Prevent building as a module objtool: Don't use ignore flag for fake jumps drm/bridge: adv7511: Fix low refresh rate selection perf/x86/intel: Allow PEBS multi-entry in watermark mode mfd: twl6040: Fix device init errors for ACCCTL register drm/nouveau/disp/dp: respect sink limits when selecting failsafe link configuration mfd: intel-lpss: Set the device in reset state when init mfd: tps65912-spi: Add missing of table registration drivers: thermal: tsens: Don't print error message on -EPROBE_DEFER thermal: rcar_gen3_thermal: disable interrupt in .remove kernel/sys.c: prctl: fix false positive in validate_prctl_map() mm/slab.c: fix an infinite loop in leaks_show() mm/cma_debug.c: fix the break condition in cma_maxchunk_get() mm/cma.c: fix the bitmap status to show failed allocation reason mm/cma.c: fix crash on CMA allocation if bitmap allocation fails mem-hotplug: fix node spanned pages when we have a node with only ZONE_MOVABLE hugetlbfs: on restore reserve error path retain subpool reservation mm/hmm: select mmu notifier when selecting HMM ARM: prevent tracing IPI_CPU_BACKTRACE ipc: prevent lockup on alloc_msg and free_msg sysctl: return -EINVAL if val violates minmax fs/fat/file.c: issue flush after the writeback of FAT rapidio: fix a NULL pointer dereference when create_workqueue() fails BACKPORT: kheaders: Do not regenerate archive if config is not changed BACKPORT: kheaders: Move from proc to sysfs BACKPORT: Provide in-kernel headers to make extending kernel easier UPSTREAM: binder: check for overflow when alloc for security context Conflicts: arch/arm/kernel/smp.c Change-Id: I93aaeb09806bd05b4bb216aa12d7ba8007fbc3e9 Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org> |
||
|
f0d30a2a6f |
BACKPORT: kheaders: Move from proc to sysfs
The kheaders archive consisting of the kernel headers used for compiling bpf programs is in /proc. However there is concern that moving it here will make it permanent. Let us move it to /sys/kernel as discussed [1]. [1] https://lore.kernel.org/patchwork/patch/1067310/#1265969 (cherry picked from commit f7b101d33046a837c2aa4526cef28a3c785d7af2) Bug: 78013494 Suggested-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Change-Id: I3bf86d0b0f2b73094c2ed29bfda1a57436f9d956 |
||
|
7fda5932d7 |
BACKPORT: Provide in-kernel headers to make extending kernel easier
Introduce in-kernel headers which are made available as an archive through proc (/proc/kheaders.tar.xz file). This archive makes it possible to run eBPF and other tracing programs that need to extend the kernel for tracing purposes without any dependency on the file system having headers. A github PR is sent for the corresponding BCC patch at: https://github.com/iovisor/bcc/pull/2312 On Android and embedded systems, it is common to switch kernels but not have kernel headers available on the file system. Further once a different kernel is booted, any headers stored on the file system will no longer be useful. This is an issue even well known to distros. By storing the headers as a compressed archive within the kernel, we can avoid these issues that have been a hindrance for a long time. The best way to use this feature is by building it in. Several users have a need for this, when they switch debug kernels, they do not want to update the filesystem or worry about it where to store the headers on it. However, the feature is also buildable as a module in case the user desires it not being part of the kernel image. This makes it possible to load and unload the headers from memory on demand. A tracing program can load the module, do its operations, and then unload the module to save kernel memory. The total memory needed is 3.3MB. By having the archive available at a fixed location independent of filesystem dependencies and conventions, all debugging tools can directly refer to the fixed location for the archive, without concerning with where the headers on a typical filesystem which significantly simplifies tooling that needs kernel headers. The code to read the headers is based on /proc/config.gz code and uses the same technique to embed the headers. Other approaches were discussed such as having an in-memory mountable filesystem, but that has drawbacks such as requiring an in-kernel xz decompressor which we don't have today, and requiring usage of 42 MB of kernel memory to host the decompressed headers at anytime. Also this approach is simpler than such approaches. (Resolved minor conflicts in Makefile) (cherry picked from commit 43d8ce9d65a54846d378545770991e65838981e0) Bug: 78013494 Change-Id: Id40724018c0c68d5ea159822c269e23897d43826 Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
|
070370f0ae |
Merge android-4.14.108 (4344de2) into msm-4.14
* refs/heads/tmp-4344de2: Linux 4.14.108 s390/setup: fix boot crash for machine without EDAT-1 KVM: nVMX: Ignore limit checks on VMX instructions using flat segments KVM: nVMX: Apply addr size mask to effective address for VMX instructions KVM: nVMX: Sign extend displacements of VMX instr's mem operands KVM: x86/mmu: Do not cache MMIO accesses while memslots are in flux KVM: x86/mmu: Detect MMIO generation wrap in any address space KVM: Call kvm_arch_memslots_updated() before updating memslots drm/radeon/evergreen_cs: fix missing break in switch statement media: imx: csi: Stop upstream before disabling IDMA channel media: imx: csi: Disable CSI immediately after last EOF media: vimc: Add vimc-streamer for stream control media: uvcvideo: Avoid NULL pointer dereference at the end of streaming media: imx: prpencvf: Stop upstream before disabling IDMA channel rcu: Do RCU GP kthread self-wakeup from softirq and interrupt tpm: Unify the send callback behaviour tpm/tpm_crb: Avoid unaligned reads in crb_recv() md: Fix failed allocation of md_register_thread perf intel-pt: Fix divide by zero when TSC is not available perf intel-pt: Fix overlap calculation for padding perf auxtrace: Define auxtrace record alignment perf intel-pt: Fix CYC timestamp calculation after OVF x86/unwind/orc: Fix ORC unwind table alignment bcache: never writeback a discard operation PM / wakeup: Rework wakeup source timer cancellation NFSv4.1: Reinitialise sequence results before retransmitting a request nfsd: fix wrong check in write_v4_end_grace() nfsd: fix memory corruption caused by readdir NFS: Don't recoalesce on error in nfs_pageio_complete_mirror() NFS: Fix an I/O request leakage in nfs_do_recoalesce NFS: Fix I/O request leakages cpcap-charger: generate events for userspace dm integrity: limit the rate of error messages dm: fix to_sector() for 32bit arm64: KVM: Fix architecturally invalid reset value for FPEXC32_EL2 arm64: debug: Ensure debug handlers check triggering exception level arm64: Fix HCR.TGE status for NMI contexts ARM: s3c24xx: Fix boolean expressions in osiris_dvs_notify powerpc/traps: Fix the message printed when stack overflows powerpc/traps: fix recoverability of machine check handling on book3s/32 powerpc/hugetlb: Don't do runtime allocation of 16G pages in LPAR configuration powerpc/ptrace: Simplify vr_get/set() to avoid GCC warning powerpc: Fix 32-bit KVM-PR lockup and host crash with MacOS guest powerpc/83xx: Also save/restore SPRG4-7 during suspend powerpc/powernv: Make opal log only readable by root powerpc/wii: properly disable use of BATs when requested. powerpc/32: Clear on-stack exception marker upon exception return security/selinux: fix SECURITY_LSM_NATIVE_LABELS on reused superblock jbd2: fix compile warning when using JBUFFER_TRACE jbd2: clear dirty flag when revoking a buffer from an older transaction serial: 8250_pci: Have ACCES cards that use the four port Pericom PI7C9X7954 chip use the pci_pericom_setup() serial: 8250_pci: Fix number of ports for ACCES serial cards serial: 8250_of: assume reg-shift of 2 for mrvl,mmp-uart serial: uartps: Fix stuck ISR if RX disabled with non-empty FIFO drm/i915: Relax mmap VMA check crypto: arm64/aes-neonbs - fix returning final keystream block i2c: tegra: fix maximum transfer size parport_pc: fix find_superio io compare code, should use equal test. intel_th: Don't reference unassigned outputs device property: Fix the length used in PROPERTY_ENTRY_STRING() kernel/sysctl.c: add missing range check in do_proc_dointvec_minmax_conv mm/vmalloc: fix size check for remap_vmalloc_range_partial() mm: hwpoison: fix thp split handing in soft_offline_in_use_page() nfit: acpi_nfit_ctl(): Check out_obj->type in the right place usb: chipidea: tegra: Fix missed ci_hdrc_remove_device() clk: ingenic: Fix doc of ingenic_cgu_div_info clk: ingenic: Fix round_rate misbehaving with non-integer dividers clk: clk-twl6040: Fix imprecise external abort for pdmclk clk: uniphier: Fix update register for CPU-gear ext2: Fix underflow in ext2_max_size() cxl: Wrap iterations over afu slices inside 'afu_list_lock' IB/hfi1: Close race condition on user context disable and close ext4: fix crash during online resizing ext4: add mask of ext4 flags to swap cpufreq: pxa2xx: remove incorrect __init annotation cpufreq: tegra124: add missing of_node_put() x86/kprobes: Prohibit probing on optprobe template code irqchip/gic-v3-its: Avoid parsing _indirect_ twice for Device table libertas_tf: don't set URB_ZERO_PACKET on IN USB transfer crypto: pcbc - remove bogus memcpy()s with src == dest Btrfs: fix corruption reading shared and compressed extents after hole punching btrfs: ensure that a DUP or RAID1 block group has exactly two stripes Btrfs: setup a nofs context for memory allocation at __btrfs_set_acl m68k: Add -ffreestanding to CFLAGS splice: don't merge into linked buffers fs/devpts: always delete dcache dentry-s in dput() scsi: target/iscsi: Avoid iscsit_release_commands_from_conn() deadlock scsi: sd: Optimal I/O size should be a multiple of physical block size scsi: aacraid: Fix performance issue on logical drives scsi: virtio_scsi: don't send sc payload with tmfs s390/virtio: handle find on invalid queue gracefully s390/setup: fix early warning messages clocksource/drivers/exynos_mct: Clear timer interrupt when shutdown clocksource/drivers/exynos_mct: Move one-shot check from tick clear to ISR regulator: s2mpa01: Fix step values for some LDOs regulator: max77620: Initialize values for DT properties regulator: s2mps11: Fix steps for buck7, buck8 and LDO35 spi: pxa2xx: Setup maximum supported DMA transfer length spi: ti-qspi: Fix mmap read when more than one CS in use mmc: sdhci-esdhc-imx: fix HS400 timing issue ACPI / device_sysfs: Avoid OF modalias creation for removed device xen: fix dom0 boot on huge systems tracing: Do not free iter->trace in fail path of tracing_open_pipe() tracing: Use strncpy instead of memcpy for string keys in hist triggers CIFS: Fix read after write for files with read caching CIFS: Do not reset lease state to NONE on lease break crypto: arm64/aes-ccm - fix bugs in non-NEON fallback routine crypto: arm64/aes-ccm - fix logical bug in AAD MAC handling crypto: testmgr - skip crc32c context test for ahash algorithms crypto: hash - set CRYPTO_TFM_NEED_KEY if ->setkey() fails crypto: arm64/crct10dif - revert to C code for short inputs crypto: arm/crct10dif - revert to C code for short inputs fix cgroup_do_mount() handling of failure exits libnvdimm: Fix altmap reservation size calculation libnvdimm/pmem: Honor force_raw for legacy pmem regions libnvdimm, pfn: Fix over-trim in trim_pfn_device() libnvdimm/label: Clear 'updating' flag after label-set update stm class: Prevent division by zero media: videobuf2-v4l2: drop WARN_ON in vb2_warn_zero_bytesused() tmpfs: fix uninitialized return value in shmem_link net: set static variable an initial value in atl2_probe() nfp: bpf: fix ALU32 high bits clearance bug nfp: bpf: fix code-gen bug on BPF_ALU | BPF_XOR | BPF_K net: thunderx: make CFG_DONE message to run through generic send-ack sequence mac80211_hwsim: propagate genlmsg_reply return code phonet: fix building with clang ARCv2: support manual regfile save on interrupts ARC: uacces: remove lp_start, lp_end from clobber list ARCv2: lib: memcpy: fix doing prefetchw outside of buffer ixgbe: fix older devices that do not support IXGBE_MRQC_L3L4TXSWEN tmpfs: fix link accounting when a tmpfile is linked in net: marvell: mvneta: fix DMA debug warning arm64: Relax GIC version check during early boot qed: Fix iWARP syn packet mac address validation. ASoC: topology: free created components in tplg load error mailbox: bcm-flexrm-mailbox: Fix FlexRM ring flush timeout issue net: mv643xx_eth: disable clk on error path in mv643xx_eth_shared_probe() qmi_wwan: apply SET_DTR quirk to Sierra WP7607 pinctrl: meson: meson8b: fix the sdxc_a data 1..3 pins net: systemport: Fix reception of BPDUs scsi: libiscsi: Fix race between iscsi_xmit_task and iscsi_complete_task keys: Fix dependency loop between construction record and auth key assoc_array: Fix shortcut creation af_key: unconditionally clone on broadcast ARM: 8824/1: fix a migrating irq bug when hotplug cpu esp: Skip TX bytes accounting when sending from a request socket clk: sunxi: A31: Fix wrong AHB gate number clk: sunxi-ng: v3s: Fix TCON reset de-assert bit Input: st-keyscan - fix potential zalloc NULL dereference auxdisplay: ht16k33: fix potential user-after-free on module unload i2c: bcm2835: Clear current buffer pointers and counts after a transfer i2c: cadence: Fix the hold bit setting net: hns: Fix object reference leaks in hns_dsaf_roce_reset() mm: page_alloc: fix ref bias in page_frag_alloc() for 1-byte allocs Revert "mm: use early_pfn_to_nid in page_ext_init" mm/gup: fix gup_pmd_range() for dax NFS: Don't use page_file_mapping after removing the page floppy: check_events callback should not return a negative number ipvs: fix dependency on nf_defrag_ipv6 mac80211: Fix Tx aggregation session tear down with ITXQs Input: matrix_keypad - use flush_delayed_work() Input: ps2-gpio - flush TX work when closing port Input: cap11xx - switch to using set_brightness_blocking() ARM: OMAP2+: fix lack of timer interrupts on CPU1 after hotplug KVM: arm/arm64: Reset the VCPU without preemption and vcpu state loaded ASoC: rsnd: fixup rsnd_ssi_master_clk_start() user count check ASoC: dapm: fix out-of-bounds accesses to DAPM lookup tables ARM: OMAP2+: Variable "reg" in function omap4_dsi_mux_pads() could be uninitialized Input: pwm-vibra - stop regulator after disabling pwm, not before Input: pwm-vibra - prevent unbalanced regulator s390/dasd: fix using offset into zero size array error gpu: ipu-v3: Fix CSI offsets for imx53 drm/imx: imx-ldb: add missing of_node_puts gpu: ipu-v3: Fix i.MX51 CSI control registers offset drm/imx: ignore plane updates on disabled crtcs crypto: rockchip - update new iv to device in multiple operations crypto: rockchip - fix scatterlist nents error crypto: ahash - fix another early termination in hash walk crypto: caam - fixed handling of sg list stm class: Fix an endless loop in channel allocation iio: adc: exynos-adc: Fix NULL pointer exception on unbind ASoC: fsl_esai: fix register setting issue in RIGHT_J mode 9p/net: fix memory leak in p9_client_create 9p: use inode->i_lock to protect i_size_write() under 32-bit FROMLIST: psi: introduce psi monitor FROMLIST: refactor header includes to allow kthread.h inclusion in psi_types.h FROMLIST: psi: track changed states FROMLIST: psi: split update_stats into parts FROMLIST: psi: rename psi fields in preparation for psi trigger addition FROMLIST: psi: make psi_enable static FROMLIST: psi: introduce state_mask to represent stalled psi states ANDROID: cuttlefish_defconfig: Enable CONFIG_INPUT_MOUSEDEV ANDROID: cuttlefish_defconfig: Enable CONFIG_PSI BACKPORT: kernel: cgroup: add poll file operation BACKPORT: fs: kernfs: add poll file operation UPSTREAM: psi: avoid divide-by-zero crash inside virtual machines UPSTREAM: psi: clarify the Kconfig text for the default-disable option UPSTREAM: psi: fix aggregation idle shut-off UPSTREAM: psi: fix reference to kernel commandline enable UPSTREAM: psi: make disabling/enabling easier for vendor kernels UPSTREAM: kernel/sched/psi.c: simplify cgroup_move_task() BACKPORT: psi: cgroup support UPSTREAM: psi: pressure stall information for CPU, memory, and IO UPSTREAM: sched: introduce this_rq_lock_irq() UPSTREAM: sched: sched.h: make rq locking and clock functions available in stats.h UPSTREAM: sched: loadavg: make calc_load_n() public BACKPORT: sched: loadavg: consolidate LOAD_INT, LOAD_FRAC, CALC_LOAD UPSTREAM: delayacct: track delays from thrashing cache pages UPSTREAM: mm: workingset: tell cache transitions from workingset thrashing sched/fair: fix energy compute when a cluster is only a cpu core in multi-cluster system Conflicts: arch/arm/kernel/irq.c drivers/scsi/sd.c include/linux/sched.h include/uapi/linux/taskstats.h kernel/sched/Makefile sound/soc/soc-dapm.c Change-Id: I12ebb57a34da9101ee19458d7e1f96ecc769c39a Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org> |
||
|
8abcc2a17e |
UPSTREAM: psi: clarify the Kconfig text for the default-disable option
The current help text caused some confusion in online forums about whether or not to default-enable or default-disable psi in vendor kernels. This is because it doesn't communicate the reason for why we made this setting configurable in the first place: that the overhead is non-zero in an artificial scheduler stress test. Since this isn't representative of real workloads, and the effect was not measurable in scheduler-heavy real world applications such as the webservers and memcache installations at Facebook, it's fair to point out that this is a pretty cautious option to select. Link: http://lkml.kernel.org/r/20190129233617.16767-1-hannes@cmpxchg.org Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Reviewed-by: Andrew Morton <akpm@linux-foundation.org> Cc: Mel Gorman <mgorman@techsingularity.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> (cherry picked from commit 7b2489d37e1e355228f7c55724f77580e1dec22a) Bug: 127712811 Test: lmkd in PSI mode Change-Id: I5d0cb901562fd74c82d9d211544745b802776d8a Signed-off-by: Suren Baghdasaryan <surenb@google.com> |
||
|
9c91572023 |
UPSTREAM: psi: fix reference to kernel commandline enable
The kernel commandline parameter named in CONFIG_PSI_DEFAULT_DISABLED help text contradicts the documentation in kernel-parameters.txt, and the code. Fix that. Link: http://lkml.kernel.org/r/20181203213416.GA12627@cmpxchg.org Fixes: e0c274472d ("psi: make disabling/enabling easier for vendor kernels") Signed-off-by: Baruch Siach <baruch@tkos.co.il> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> (cherry picked from commit 428a1cb4baeb9e5c7feda93af7372ba6d2491558) Bug: 127712811 Test: lmkd in PSI mode Change-Id: I592b66d6542f4fa7c2b6eb9f60a5dd43bcfbabf3 Signed-off-by: Suren Baghdasaryan <surenb@google.com> |
||
|
978392049e |
UPSTREAM: psi: make disabling/enabling easier for vendor kernels
Mel Gorman reports a hackbench regression with psi that would prohibit shipping the suse kernel with it default-enabled, but he'd still like users to be able to opt in at little to no cost to others. With the current combination of CONFIG_PSI and the psi_disabled bool set from the commandline, this is a challenge. Do the following things to make it easier: 1. Add a config option CONFIG_PSI_DEFAULT_DISABLED that allows distros to enable CONFIG_PSI in their kernel but leave the feature disabled unless a user requests it at boot-time. To avoid double negatives, rename psi_disabled= to psi=. 2. Make psi_disabled a static branch to eliminate any branch costs when the feature is disabled. In terms of numbers before and after this patch, Mel says: : The following is a comparision using CONFIG_PSI=n as a baseline against : your patch and a vanilla kernel : : 4.20.0-rc4 4.20.0-rc4 4.20.0-rc4 : kconfigdisable-v1r1 vanilla psidisable-v1r1 : Amean 1 1.3100 ( 0.00%) 1.3923 ( -6.28%) 1.3427 ( -2.49%) : Amean 3 3.8860 ( 0.00%) 4.1230 * -6.10%* 3.8860 ( -0.00%) : Amean 5 6.8847 ( 0.00%) 8.0390 * -16.77%* 6.7727 ( 1.63%) : Amean 7 9.9310 ( 0.00%) 10.8367 * -9.12%* 9.9910 ( -0.60%) : Amean 12 16.6577 ( 0.00%) 18.2363 * -9.48%* 17.1083 ( -2.71%) : Amean 18 26.5133 ( 0.00%) 27.8833 * -5.17%* 25.7663 ( 2.82%) : Amean 24 34.3003 ( 0.00%) 34.6830 ( -1.12%) 32.0450 ( 6.58%) : Amean 30 40.0063 ( 0.00%) 40.5800 ( -1.43%) 41.5087 ( -3.76%) : Amean 32 40.1407 ( 0.00%) 41.2273 ( -2.71%) 39.9417 ( 0.50%) : : It's showing that the vanilla kernel takes a hit (as the bisection : indicated it would) and that disabling PSI by default is reasonably : close in terms of performance for this particular workload on this : particular machine so; Link: http://lkml.kernel.org/r/20181127165329.GA29728@cmpxchg.org Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Tested-by: Mel Gorman <mgorman@techsingularity.net> Reported-by: Mel Gorman <mgorman@techsingularity.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> (cherry picked from commit e0c274472d5d27f277af722e017525e0b33784cd) Bug: 127712811 Test: lmkd in PSI mode Change-Id: I6cb666fa351e8901df82e4d6931bfec0c5ce230d Signed-off-by: Suren Baghdasaryan <surenb@google.com> |
||
|
edd6f9faed |
BACKPORT: psi: cgroup support
On a system that executes multiple cgrouped jobs and independent workloads, we don't just care about the health of the overall system, but also that of individual jobs, so that we can ensure individual job health, fairness between jobs, or prioritize some jobs over others. This patch implements pressure stall tracking for cgroups. In kernels with CONFIG_PSI=y, cgroup2 groups will have cpu.pressure, memory.pressure, and io.pressure files that track aggregate pressure stall times for only the tasks inside the cgroup. Link: http://lkml.kernel.org/r/20180828172258.3185-10-hannes@cmpxchg.org Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Acked-by: Tejun Heo <tj@kernel.org> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Tested-by: Daniel Drake <drake@endlessm.com> Tested-by: Suren Baghdasaryan <surenb@google.com> Cc: Christopher Lameter <cl@linux.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Johannes Weiner <jweiner@fb.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Peter Enderborg <peter.enderborg@sony.com> Cc: Randy Dunlap <rdunlap@infradead.org> Cc: Shakeel Butt <shakeelb@google.com> Cc: Vinayak Menon <vinmenon@codeaurora.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> (cherry picked from commit 2ce7135adc9ad081aa3c49744144376ac74fea60) Conflicts: Documentation/cgroup-v2.txt include/linux/psi.h kernel/cgroup/cgroup.c (1. manual merge from Documentation/admin-guide/cgroup-v2.rst 2. include <linux/cgroup-defs.h> into include/linux/psi.h 3. manual merge in css_free_work_fn to allow psi support only for cgroup v2 4. manual merge in cgroup_create to allow psi support only for cgroup v2) Bug: 127712811 Test: lmkd in PSI mode Change-Id: I163e6657aaa60aa5aab9372616a3bce2a65e90ec Signed-off-by: Suren Baghdasaryan <surenb@google.com> |
||
|
94eab674ff |
UPSTREAM: psi: pressure stall information for CPU, memory, and IO
When systems are overcommitted and resources become contended, it's hard to tell exactly the impact this has on workload productivity, or how close the system is to lockups and OOM kills. In particular, when machines work multiple jobs concurrently, the impact of overcommit in terms of latency and throughput on the individual job can be enormous. In order to maximize hardware utilization without sacrificing individual job health or risk complete machine lockups, this patch implements a way to quantify resource pressure in the system. A kernel built with CONFIG_PSI=y creates files in /proc/pressure/ that expose the percentage of time the system is stalled on CPU, memory, or IO, respectively. Stall states are aggregate versions of the per-task delay accounting delays: cpu: some tasks are runnable but not executing on a CPU memory: tasks are reclaiming, or waiting for swapin or thrashing cache io: tasks are waiting for io completions These percentages of walltime can be thought of as pressure percentages, and they give a general sense of system health and productivity loss incurred by resource overcommit. They can also indicate when the system is approaching lockup scenarios and OOMs. To do this, psi keeps track of the task states associated with each CPU and samples the time they spend in stall states. Every 2 seconds, the samples are averaged across CPUs - weighted by the CPUs' non-idle time to eliminate artifacts from unused CPUs - and translated into percentages of walltime. A running average of those percentages is maintained over 10s, 1m, and 5m periods (similar to the loadaverage). [hannes@cmpxchg.org: doc fixlet, per Randy] Link: http://lkml.kernel.org/r/20180828205625.GA14030@cmpxchg.org [hannes@cmpxchg.org: code optimization] Link: http://lkml.kernel.org/r/20180907175015.GA8479@cmpxchg.org [hannes@cmpxchg.org: rename psi_clock() to psi_update_work(), per Peter] Link: http://lkml.kernel.org/r/20180907145404.GB11088@cmpxchg.org [hannes@cmpxchg.org: fix build] Link: http://lkml.kernel.org/r/20180913014222.GA2370@cmpxchg.org Link: http://lkml.kernel.org/r/20180828172258.3185-9-hannes@cmpxchg.org Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Tested-by: Daniel Drake <drake@endlessm.com> Tested-by: Suren Baghdasaryan <surenb@google.com> Cc: Christopher Lameter <cl@linux.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Johannes Weiner <jweiner@fb.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Peter Enderborg <peter.enderborg@sony.com> Cc: Randy Dunlap <rdunlap@infradead.org> Cc: Shakeel Butt <shakeelb@google.com> Cc: Tejun Heo <tj@kernel.org> Cc: Vinayak Menon <vinmenon@codeaurora.org> Cc: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> (cherry picked from commit eb414681d5a07d28d2ff90dc05f69ec6b232ebd2) Bug: 127712811 Test: lmkd in PSI mode Change-Id: Id00d23c977169b0c4636d92016fc1fee0274be05 Signed-off-by: Suren Baghdasaryan <surenb@google.com> |
||
|
456f33d5cb |
FROMLIST: sched/fair: add support to tune PELT ramp/decay timings
The PELT half-life is the time [ms] required by the PELT signal to build up a 50% load/utilization, starting from zero. This time is currently hardcoded to be 32ms, a value which seems to make sense for most of the workloads. However, 32ms has been verified to be too long for certain classes of workloads. For example, in the mobile space many tasks affecting the user-experience run with a 16ms or 8ms cadence, since they need to match the common 60Hz or 120Hz refresh rate of the graphics pipeline. This contributed so fare to the idea that "PELT is too slow" to properly track the utilization of interactive mobile workloads, especially compared to alternative load tracking solutions which provides a better representation of tasks demand in the range of 10-20ms. A faster PELT ramp-up time could give some advantages to speed-up the time required for the signal to stabilize and thus to better represent task demands in the mobile space. As a downside, it also reduces the decay time, and thus we forget the load/utilization of sleeping tasks (or idle CPUs) faster. Fortunately, since the integration of the utilization estimation support in mainline kernel: commit 7f65ea42eb00 ("sched/fair: Add util_est on top of PELT") a fast decay time is no longer an issue for tasks utilization estimation. Although estimated utilization does not slow down the decay of blocked utilization on idle CPUs, for mobile workloads this seems not to be a major concern compared to the benefits in interactivity responsiveness. Let's add a compile time option to choose the PELT speed which better fits for a specific system. By default the current 32ms half-life is used, but we can also compile a kernel to use a faster ramp-up time of either 16ms or 8ms. These two configurations have been verified to give PELT a further improvement in performance, compared to other out-of-tree load tracking solutions, when it comes to track interactive workloads thus better supporting both tasks placements and frequencies selections. Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Paul Turner <pjt@google.com> Cc: Vincent Guittot <vincent.guittot@linaro.org> Cc: Joel Fernandes <joelaf@google.com> Cc: Morten Rasmussen <morten.rasmussen@arm.com> Cc: linux-doc@vger.kernel.org Cc: linux-kernel@vger.kernel.org [ backport from LKML: Message-ID: <20180409165134.707-1-patrick.bellasi@arm.com> ] Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com> Change-Id: I50569748918b799ac4bf4e7d2b387253080a0fd2 Git-commit: cb22d9159761cb32c35a5f9399b8011fcdae654b Git-repo: https://android.googlesource.com/kernel/common/ Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org> |
||
|
cb22d91597 |
FROMLIST: sched/fair: add support to tune PELT ramp/decay timings
The PELT half-life is the time [ms] required by the PELT signal to build up a 50% load/utilization, starting from zero. This time is currently hardcoded to be 32ms, a value which seems to make sense for most of the workloads. However, 32ms has been verified to be too long for certain classes of workloads. For example, in the mobile space many tasks affecting the user-experience run with a 16ms or 8ms cadence, since they need to match the common 60Hz or 120Hz refresh rate of the graphics pipeline. This contributed so fare to the idea that "PELT is too slow" to properly track the utilization of interactive mobile workloads, especially compared to alternative load tracking solutions which provides a better representation of tasks demand in the range of 10-20ms. A faster PELT ramp-up time could give some advantages to speed-up the time required for the signal to stabilize and thus to better represent task demands in the mobile space. As a downside, it also reduces the decay time, and thus we forget the load/utilization of sleeping tasks (or idle CPUs) faster. Fortunately, since the integration of the utilization estimation support in mainline kernel: commit 7f65ea42eb00 ("sched/fair: Add util_est on top of PELT") a fast decay time is no longer an issue for tasks utilization estimation. Although estimated utilization does not slow down the decay of blocked utilization on idle CPUs, for mobile workloads this seems not to be a major concern compared to the benefits in interactivity responsiveness. Let's add a compile time option to choose the PELT speed which better fits for a specific system. By default the current 32ms half-life is used, but we can also compile a kernel to use a faster ramp-up time of either 16ms or 8ms. These two configurations have been verified to give PELT a further improvement in performance, compared to other out-of-tree load tracking solutions, when it comes to track interactive workloads thus better supporting both tasks placements and frequencies selections. Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Paul Turner <pjt@google.com> Cc: Vincent Guittot <vincent.guittot@linaro.org> Cc: Joel Fernandes <joelaf@google.com> Cc: Morten Rasmussen <morten.rasmussen@arm.com> Cc: linux-doc@vger.kernel.org Cc: linux-kernel@vger.kernel.org [ backport from LKML: Message-ID: <20180409165134.707-1-patrick.bellasi@arm.com> ] Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com> Change-Id: I50569748918b799ac4bf4e7d2b387253080a0fd2 |
||
|
fc362b235a |
printk: Make the console flush configurable in hotplug path
The thread which initiates the hot plug can get scheduled out, while trying to acquire the console lock, thus increasing the hot plug latency. This option allows to selectively disable the console flush and in turn reduce the hot plug latency. Change-Id: I42507804d321b29b7761146a6c175d959bf79925 Signed-off-by: Mohammed Khajapasha <mkhaja@codeaurora.org> Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org> Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org> |
||
|
2f44069aee |
Merge remote-tracking branch 'remotes/origin/tmp-3f8d191' into msm-4.14
* remotes/origin/tmp-3f8d191: Linux 4.14.38 ACPI / video: Only default only_lcd to true on Win8-ready _desktops_ s390/uprobes: implement arch_uretprobe_is_alive() s390/dasd: fix IO error for newly defined devices s390/cio: update chpid descriptor after resource accessibility event tracing: Fix missing tab for hwlat_detector print format block/swim: Fix IO error at end of medium block/swim: Fix array bounds check block/swim: Select appropriate drive on device open block/swim: Rename macros to avoid inconsistent inverted logic block/swim: Remove extra put_disk() call from error path block/swim: Don't log an error message for an invalid ioctl block/swim: Check drive type m68k/mac: Don't remap SWIM MMIO region fsnotify: Fix fsnotify_mark_connector race cdrom: information leak in cdrom_ioctl_media_changed() scsi: mptsas: Disable WRITE SAME commoncap: Handle memory allocation failure. Revert "mm/hmm: fix header file if/else/endif maze" arm64: dts: rockchip: remove vdd_log from rk3399-puma microblaze: Setup dependencies for ASM optimized lib functions s390: correct module section names for expoline code revert s390: correct nospec auto detection init order s390: add sysfs attributes for spectre s390: report spectre mitigation via syslog s390: add automatic detection of the spectre defense s390: move nobp parameter functions to nospec-branch.c s390/entry.S: fix spurious zeroing of r0 s390: do not bypass BPENTER for interrupt system calls s390: Replace IS_ENABLED(EXPOLINE_*) with IS_ENABLED(CONFIG_EXPOLINE_*) KVM: s390: force bp isolation for VSIE s390: introduce execute-trampolines for branches s390: run user space and KVM guests with modified branch prediction s390: add options to change branch prediction behaviour for the kernel s390/alternative: use a copy of the facility bit mask s390: add optimized array_index_mask_nospec s390: scrub registers on kernel entry and KVM exit KVM: s390: wire up bpb feature s390: enable CPU alternatives unconditionally s390: introduce CPU alternatives virtio_net: fix adding vids on big-endian virtio_net: split out ctrl buffer net: ethernet: ti: cpsw: fix tx vlan priority mapping llc: fix NULL pointer deref for SOCK_ZAPPED llc: hold llc_sap before release_sock() net: sched: ife: check on metadata length net: sched: ife: handle malformed tlv length tcp: clear tp->packets_out when purging write queue net: sched: ife: signal not finding metaid strparser: Fix incorrect strp->need_bytes value. amd-xgbe: Only use the SFP supported transceiver signals strparser: Do not call mod_delayed_work with a timeout of LONG_MAX amd-xgbe: Improve KR auto-negotiation and training sctp: do not check port in sctp_inet6_cmp_addr amd-xgbe: Add pre/post auto-negotiation phy hooks vlan: Fix reading memory beyond skb->tail in skb_vlan_tagged_multi pppoe: check sockaddr length in pppoe_connect() tipc: add policy for TIPC_NLA_NET_ADDR packet: fix bitfield update race team: fix netconsole setup over team net/smc: fix shutdown in state SMC_LISTEN team: avoid adding twice the same option to the event list net: fix deadlock while clearing neighbor proxy table tcp: md5: reject TCP_MD5SIG or TCP_MD5SIG_EXT on established sockets net: af_packet: fix race in PACKET_{R|T}X_RING tcp: don't read out-of-bounds opsize llc: delete timers synchronously in llc_sk_free() net: validate attribute sizes in neigh_dump_table() l2tp: check sockaddr length in pppol2tp_connect() KEYS: DNS: limit the length of option strings ipv6: sr: fix NULL pointer dereference in seg6_do_srh_encap()- v4 pkts ipv6: add RTA_TABLE and RTA_PREFSRC to rtm_ipv6_policy bonding: do not set slave_dev npinfo before slave_enable_netpoll in bond_enslave Revert "ath10k: send (re)assoc peer command when NSS changed" tpm: add retry logic tpm: tpm-interface: fix tpm_transmit/_cmd kdoc tpm: cmd_ready command can be issued only after granting locality i40e: Fix attach VF to VM issue drm: bridge: dw-hdmi: Fix overflow workaround for Amlogic Meson GX SoCs Revert "pinctrl: intel: Initialize GPIO properly when used through irqchip" ANDROID: staging: lustre: fix filler function type ANDROID: fs: gfs2: fix filler function type ANDROID: fs: exofs: fix filler function type ANDROID: fs: afs: fix filler function type ANDROID: fs: nfs: fix filler function type ANDROID: fs: fuse: fix filler function type mismatch ANDROID: mm: fix filler function type mismatch ANDROID: media-device: fix ioctl function types ANDROID: v4l2-ioctl: fix function types for IOCTL_INFO_STD ANDROID: arch/arm64/crypto: fix CFI in SHA CE ANDROID: arm64: kvm: disable CFI ANDROID: arm64: mark kpti_install_ng_mappings as __nocfi ANDROID: arm64: disable CFI for cpu_replace_ttbr1 ANDROID: kallsyms: strip the .cfi postfix from symbols with CONFIG_CFI_CLANG ANDROID: add support for clang Control Flow Integrity (CFI) ANDROID: HACK: init: ensure initcall ordering with LTO ANDROID: drivers/misc: disable LTO for lkdtm_rodata.o ANDROID: arm64: vdso: disable LTO FROMLIST: arm64: select ARCH_SUPPORTS_LTO_CLANG FROMLIST: arm64: disable RANDOMIZE_MODULE_REGION_FULL with LTO_CLANG ANDROID: arm64: disable ARM64_ERRATUM_843419 for clang LTO ANDROID: arm64: pass code model to LLVMgold FROMLIST: arm64: make mrs_s and msr_s macros work with LTO FROMLIST: efi/libstub: disable LTO FROMLIST: scripts/mod: disable LTO for empty.c FROMLIST: kbuild: fix dynamic ftrace with clang LTO FROMLIST: kbuild: add support for clang LTO FROMLIST: arm64: fix -m for GNU gold FROMLIST: arm64: add a workaround for GNU gold with ARM64_MODULE_PLTS FROMLIST: arm64: explicitly pass --no-fix-cortex-a53-843419 to GNU gold FROMLIST: kbuild: add __ld-ifversion and linker-specific macros FROMLIST: kbuild: add ld-name macro FROMLIST: arm64: keep .altinstructions and .altinstr_replacement ANDROID: arm64: fix LD_DEAD_CODE_DATA_ELIMINATION FROMLIST: kbuild: fix LD_DEAD_CODE_DATA_ELIMINATION FROMLIST: kbuild: add __cc-ifversion and compiler-specific variants UPSTREAM: console: Drop added "static" for newport_con UPSTREAM: tracing: always define trace_{irq,preempt}_{enable_disable} Conflicts: Makefile Change-Id: Ied1a215e68f428eff9c1911491a4e364ffd1f679 Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org> |
||
|
d590fd127d |
ANDROID: add support for clang Control Flow Integrity (CFI)
This change adds the CONFIG_CFI_CLANG option, CFI error handling, and a faster look-up table for cross module CFI checks. Bug: 67506682 Change-Id: Ic009f0a629b552a0eb16e6d89808c7029e91447d Signed-off-by: Sami Tolvanen <samitolvanen@google.com> |
||
|
f0453c73e1 |
perf: Add support for user and kernel event sharing
The ARM PMU counters are limited in number. Even for counting similar events, the PMU driver allocates a new counter. Hence, counters configured to count similar events are shared. This was only possible for the kernel clients, but not for user-space clients. Hence, as an extension to this, the kernel and the user-space are now able to share the similar events. The counters can be shared between user-space only clients, kernel only clients, and among user-space and kernel clients. The kernel and user's attr->type (hardware/raw) and attr->config should be same for them to share the same counter. Change-Id: I4a4b35bde6beaf8f2aef74e683a9804e31807013 Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org> |
||
|
3b3f58815a | Merge "Merge remote-tracking branch 'remotes/origin/tmp-c3a2eda' into msm-4.14" | ||
|
ba45a7f1d3 |
Merge remote-tracking branch 'remotes/origin/tmp-c3a2eda' into msm-4.14
* remotes/origin/tmp-c3a2eda: Linux 4.14.16 nfsd: auth: Fix gid sorting when rootsquash enabled cpufreq: governor: Ensure sufficiently large sampling intervals bpf, arm64: fix stack_depth tracking in combination with tail calls bpf: reject stores into ctx via st and xadd bpf: fix 32-bit divide by zero bpf: fix divides by zero bpf: avoid false sharing of map refcount with max_entries bpf: introduce BPF_JIT_ALWAYS_ON config hrtimer: Reset hrtimer cpu base proper on CPU hotplug x86/mm/64: Fix vmapped stack syncing on very-large-memory 4-level systems x86/microcode: Fix again accessing initrd after having been freed x86/microcode/intel: Extend BDW late-loading further with LLC size check perf/x86/amd/power: Do not load AMD power module on !AMD platforms vmxnet3: repair memory leak net: ipv4: Make "ip route get" match iif lo rules again. tls: reset crypto_info when do_tls_setsockopt_tx fails tls: return -EBUSY if crypto_info is already set tls: fix sw_ctx leak net/tls: Only attach to sockets in ESTABLISHED state netlink: reset extack earlier in netlink_rcv_skb nfp: use the correct index for link speed table net/mlx5e: Fix fixpoint divide exception in mlx5e_am_stats_compare netlink: extack needs to be reset each time through loop sctp: reinit stream if stream outcnt has been change by sinit in sendmsg flow_dissector: properly cap thoff field tun: fix a memory leak for tfile->tx_array mlxsw: spectrum_router: Don't log an error on missing neighbor gso: validate gso_type in GSO handlers ip6_gre: init dev->mtu and dev->hard_header_len correctly be2net: restore properly promisc mode after queues reconfiguration ppp: unlock all_ppp_mutex before registering device net/mlx5: Fix get vector affinity helper function {net,ib}/mlx5: Don't disable local loopback multicast traffic when needed tipc: fix a memory leak in tipc_nl_node_get_link() sctp: return error if the asoc has been peeled off in sctp_wait_for_sndbuf sctp: do not allow the v4 socket to bind a v4mapped v6 address r8169: fix memory corruption on retrieval of hardware statistics. pppoe: take ->needed_headroom of lower device into account on xmit net: vrf: Add support for sends to local broadcast address net/tls: Fix inverted error codes to avoid endless loop net: tcp: close sock if net namespace is exiting net: qdisc_pkt_len_init() should be more robust net: igmp: fix source address check for IGMPv3 reports lan78xx: Fix failure in USB Full Speed ipv6: ip6_make_skb() needs to clear cork.base.dst ipv6: fix udpv6 sendmsg crash caused by too small MTU ipv6: Fix getsockopt() for sockets with default IPV6_AUTOFLOWLABEL dccp: don't restart ccid2_hc_tx_rto_expire() if sk in closed state ipv4: Make neigh lookup keys for loopback/point-to-point devices be INADDR_ANY net: Allow neigh contructor functions ability to modify the primary_key drm/vc4: Fix NULL pointer dereference in vc4_save_hang_state() ARM: net: bpf: clarify tail_call index ARM: net: bpf: fix LDX instructions ARM: net: bpf: fix register saving ARM: net: bpf: correct stack layout documentation ARM: net: bpf: move stack documentation ARM: net: bpf: fix stack alignment ARM: net: bpf: fix tail call jumps ARM: net: bpf: avoid 'bx' instruction on non-Thumb capable CPUs orangefs: fix deadlock; do not write i_size in read_iter KVM: s390: add proper locking for CMMA migration bitmap Btrfs: fix stale entries in readdir Input: trackpoint - only expose supported controls for Elan, ALPS and NXP Input: trackpoint - force 3 buttons if 0 button is reported Input: xpad - add support for PDP Xbox One controllers Revert "module: Add retpoline tag to VERMAGIC" xfrm: Fix a race in the xdst pcpu cache. netfilter: xt_osf: Add missing permission checks netfilter: nfnetlink_cthelper: Add missing permission checks mm, page_alloc: fix potential false positive in __zone_watermark_ok orangefs: initialize op on loop restart in orangefs_devreq_read orangefs: use list_for_each_entry_safe in purge_waiting_ops ANDROID: Revert "fs: unexport vfs_read and vfs_write" ANDROID: sdcardfs: port to 4.14 ANDROID: fs: Export vfs_rmdir2 ANDROID: mm: Export do_munmap ANDROID: fs: Export d_absolute_path ANDROID: fs: Export free_fs_struct and set_fs_pwd ANDROID: export security_path_chown ANDROID: sdcardfs: Add default_normal option ANDROID: sdcardfs: notify lower file of opens ANDROID: Sdcardfs: Move gid derivation under flag ANDROID: sdcardfs: override credential for ioctl to lower fs ANDROID: sdcardfs: Remove unnecessary lock ANDROID: sdcardfs: use mount_nodev and fix a issue in sdcardfs_kill_sb ANDROID: sdcardfs: remove dead function open_flags_to_access_mode() ANDROID: sdcardfs: d_splice_alias can return error values ANDROID: sdcardfs: Check for NULL in revalidate ANDROID: sdcardfs: Move top to its own struct ANDROID: sdcardfs: fix sdcardfs_destroy_inode for the inode RCU approach ANDROID: sdcardfs: Don't iput if we didn't igrab ANDROID: sdcardfs: Call lower fs's revalidate ANDROID: sdcardfs: Avoid setting GIDs outside of valid ranges ANDROID: sdcardfs: Copy meta-data from lower inode ANDROID: sdcardfs: Use filesystem specific hash ANDROID: sdcardfs: Don't complain in fixup_lower_ownership ANDROID: sdcardfs: Don't do d_add for lower fs ANDROID: sdcardfs: ->iget fixes ANDROID: sdcardfs: Change cache GID value ANDROID: sdcardfs: Directly pass lower file for mmap ANDROID: sdcardfs: update module info ANDROID: sdcardfs: use d_splice_alias ANDROID: sdcardfs: add read_iter/write_iter opeations ANDROID: sdcardfs: fix ->llseek to update upper and lower offset ANDROID: sdcardfs: copy lower inode attributes in ->ioctl ANDROID: sdcardfs: remove unnecessary call to do_munmap ANDROID: sdcardfs: Fix style issues in macros ANDROID: sdcardfs: Use seq_puts over seq_printf ANDROID: sdcardfs: Use to kstrout ANDROID: sdcardfs: Use pr_[...] instead of printk ANDROID: sdcardfs: remove unneeded null check ANDROID: sdcardfs: Fix style issues with comments ANDROID: sdcardfs: Fix formatting ANDROID: sdcardfs: correct order of descriptors ANDROID: sdcardfs: Fix gid issue ANDROID: sdcardfs: Remove uninformative prints ANDROID: sdcardfs: move path_put outside of spinlock ANDROID: sdcardfs: Use case insensitive hash function ANDROID: sdcardfs: declare MODULE_ALIAS_FS ANDROID: sdcardfs: Get the blocksize from the lower fs ANDROID: sdcardfs: Use d_invalidate instead of drop_recurisve ANDROID: sdcardfs: Switch to internal case insensitive compare ANDROID: sdcardfs: Use spin_lock_nested ANDROID: sdcardfs: Replace get/put with d_lock ANDROID: sdcardfs: rate limit warning print ANDROID: sdcardfs: Fix case insensitive lookup ANDROID: sdcardfs: support direct-IO (DIO) operations ANDROID: sdcardfs: implement vm_ops->page_mkwrite ANDROID: sdcardfs: Don't bother deleting freelist ANDROID: sdcardfs: Add missing path_put ANDROID: sdcardfs: Fix incorrect hash ANDROID: sdcardfs: Switch strcasecmp for internal call ANDROID: sdcardfs: switch to full_name_hash and qstr ANDROID: sdcardfs: Add GID Derivation to sdcardfs ANDROID: sdcardfs: Remove redundant operation ANDROID: sdcardfs: add support for user permission isolation ANDROID: sdcardfs: Refactor configfs interface ANDROID: sdcardfs: Allow non-owners to touch ANDROID: sdcardfs: eliminate the offset argument to ->direct_IO ANDROID: sdcardfs: make it use new .rename i_op ANDROID: sdcardfs: Propagate dentry down to inode_change_ok() ANDROID: sdcardfs: get rid of 'parent' argument of ->d_compare() ANDROID: sdcardfs: add parent pointer into dentry name hash ANDROID: sdcardfs: use wrappers to access i_mutex ANDROID: sdcardfs: Fix locking issue with permision fix up ANDROID: sdcardfs: Switch ->d_inode to d_inode() ANDROID: sdcardfs: Change magic value ANDROID: sdcardfs: Use per mount permissions ANDROID: sdcardfs: Add gid and mask to private mount data ANDROID: sdcardfs: User new permission2 functions ANDROID: sdcardfs: Move directory unlock before touch ANDROID: sdcardfs: fix external storage exporting incorrect uid ANDROID: sdcardfs: Added top to sdcardfs_inode_info ANDROID: sdcardfs: Switch package list to RCU ANDROID: sdcardfs: Fix locking for permission fix up ANDROID: sdcardfs: Check for other cases on path lookup ANDROID: sdcardfs: override umask on mkdir and create ANDROID: sdcardfs: fix itnull.cocci warnings ANDROID: sdcardfs: Truncate packages_gid.list on overflow ANDROID: sdcardfs: remove unneeded __init and __exit ANDROID: sdcardfs: Remove unused code ANDROID: sdcardfs: remove effectless config option ANDROID: sdcardfs: Add support for d_canonical_path ANDROID: sdcardfs: Bring up to date with Android M permissions: ANDROID: Changed type-casting in packagelist management ANDROID: Port of sdcardfs to 4.4 ANDROID: xattr: Pass EOPNOTSUPP to permission2 ANDROID: vfs: Add permission2 for filesystems with per mount permissions ANDROID: vfs: Add setattr2 for filesystems with per mount permissions ANDROID: vfs: Allow filesystems to access their private mount data ANDROID: fuse: Add support for d_canonical_path ANDROID: mnt: Add filesystem private data to mount points ANDROID: vfs: add d_canonical_path for stacked filesystem support ANDROID: Included sdcardfs source code for kernel 3.0 BACKPORT: thermal/drivers/hisi: Add support for hi3660 SoC BACKPORT: thermal/drivers/hisi: Prepare to add support for other hisi platforms BACKPORT: thermal/drivers/hisi: Add platform prefix to function name BACKPORT: thermal/drivers/hisi: Put platform code together BACKPORT: thermal/drivers/hisi: Use round up step value BACKPORT: thermal/drivers/hisi: Move the clk setup in the corresponding functions BACKPORT: thermal/drivers/hisi: Remove mutex_lock in the code BACKPORT: thermal/drivers/hisi: Remove thermal data back pointer BACKPORT: thermal/drivers/hisi: Convert long to int BACKPORT: thermal/drivers/hisi: Rename and remove unused field BACKPORT: thermal/drivers/hisi: Remove costly sensor inspection BACKPORT: thermal/drivers/hisi: Fix configuration register setting BACKPORT: thermal/drivers/hisi: Encapsulate register writes into helpers BACKPORT: thermal/drivers/hisi: Remove pointless lock BACKPORT: thermal/drivers/hisi: Remove the multiple sensors support ANDROID: Fix script to fetch android kernel config fragments for 4.14 Conflicts: fs/namei.c fs/namespace.c fs/open.c fs/pnode.c fs/sdcardfs/inode.c fs/sdcardfs/lookup.c include/linux/fs.h Change-Id: I10679bc0171d61332f99d43b73820c91ae883336 Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org> |
||
|
d53d2b59e5 |
sched/core_ctl: Drop core rotate code
As we do not need to support core rotate feature on SDM855, drop the code that got in. Change-Id: Ie1c40c8c551ad425c59a78cc83be013dee0b3c67 Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org> |
||
|
c3a2eda1e3 |
This is the 4.14.16 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAlpxv2AACgkQONu9yGCS aT4U/w//T4qrABtOm4N7gTp5hIYnAPon8W3hOVZ1DUofH99cDDlB8UCtl5+4317b HCr0Yh/vs9iQzjc9Zs1apBjTOZVAAfFWUUVj5bjqerFdBgHWzJGMpyi8jFN582LY JCgk2Z3S8akRXmDt5o+sLeFxHKtFlmyaFkpfy2TqCNVxW8cayPh6cCg8+IiCL7qg jPxvaSvw+gRnDUWrCoJGYTvRY2SlMxXir225vL6eAuiS1E5h/WkWdlVQItAtwHqi qDYX7AB5UIhF5tUl7w/DYuXnLaY2gsqsUnPELaUPXVR1N55dVRkUCnMTPT5s2wWD cX0CJKS7dsVWpvPR1o0TNMWMGX6KXcIl/CqxAp1C/iSweAKwxnpX293oQ5xv6WlS xkDAXcrkGVFtQiMclQIw4E+4v29S2WbBxq1VjBCg/hkW9AGyDCLfKLaeCMUbTFe3 hX7PldzXzJ+CDtrKBZM19k8w0wqSP+U8p7FU/dwya5qNd0RWMb+QVdktDRt7gXit +RTJK2ZiJof4ByUzla/IrHGNEPjb9opR3GtqIewDe+deE/7SVxw2OkwWoXBcHALa 8UtgKVft4M6qUW15e5awlKXMlPYJFU9YrXAyrZNxlaMwJ7JytFAa/siYZZJS8t1w uRly6MSna3zCox4XFxP9Wp6MF/sraFVzIF/ntvj9VciuorUL4vo= =MtGW -----END PGP SIGNATURE----- Merge 4.14.16 into android-4.14 Changes in 4.14.16 orangefs: use list_for_each_entry_safe in purge_waiting_ops orangefs: initialize op on loop restart in orangefs_devreq_read mm, page_alloc: fix potential false positive in __zone_watermark_ok netfilter: nfnetlink_cthelper: Add missing permission checks netfilter: xt_osf: Add missing permission checks xfrm: Fix a race in the xdst pcpu cache. Revert "module: Add retpoline tag to VERMAGIC" Input: xpad - add support for PDP Xbox One controllers Input: trackpoint - force 3 buttons if 0 button is reported Input: trackpoint - only expose supported controls for Elan, ALPS and NXP Btrfs: fix stale entries in readdir KVM: s390: add proper locking for CMMA migration bitmap orangefs: fix deadlock; do not write i_size in read_iter ARM: net: bpf: avoid 'bx' instruction on non-Thumb capable CPUs ARM: net: bpf: fix tail call jumps ARM: net: bpf: fix stack alignment ARM: net: bpf: move stack documentation ARM: net: bpf: correct stack layout documentation ARM: net: bpf: fix register saving ARM: net: bpf: fix LDX instructions ARM: net: bpf: clarify tail_call index drm/vc4: Fix NULL pointer dereference in vc4_save_hang_state() net: Allow neigh contructor functions ability to modify the primary_key ipv4: Make neigh lookup keys for loopback/point-to-point devices be INADDR_ANY dccp: don't restart ccid2_hc_tx_rto_expire() if sk in closed state ipv6: Fix getsockopt() for sockets with default IPV6_AUTOFLOWLABEL ipv6: fix udpv6 sendmsg crash caused by too small MTU ipv6: ip6_make_skb() needs to clear cork.base.dst lan78xx: Fix failure in USB Full Speed net: igmp: fix source address check for IGMPv3 reports net: qdisc_pkt_len_init() should be more robust net: tcp: close sock if net namespace is exiting net/tls: Fix inverted error codes to avoid endless loop net: vrf: Add support for sends to local broadcast address pppoe: take ->needed_headroom of lower device into account on xmit r8169: fix memory corruption on retrieval of hardware statistics. sctp: do not allow the v4 socket to bind a v4mapped v6 address sctp: return error if the asoc has been peeled off in sctp_wait_for_sndbuf tipc: fix a memory leak in tipc_nl_node_get_link() {net,ib}/mlx5: Don't disable local loopback multicast traffic when needed net/mlx5: Fix get vector affinity helper function ppp: unlock all_ppp_mutex before registering device be2net: restore properly promisc mode after queues reconfiguration ip6_gre: init dev->mtu and dev->hard_header_len correctly gso: validate gso_type in GSO handlers mlxsw: spectrum_router: Don't log an error on missing neighbor tun: fix a memory leak for tfile->tx_array flow_dissector: properly cap thoff field sctp: reinit stream if stream outcnt has been change by sinit in sendmsg netlink: extack needs to be reset each time through loop net/mlx5e: Fix fixpoint divide exception in mlx5e_am_stats_compare nfp: use the correct index for link speed table netlink: reset extack earlier in netlink_rcv_skb net/tls: Only attach to sockets in ESTABLISHED state tls: fix sw_ctx leak tls: return -EBUSY if crypto_info is already set tls: reset crypto_info when do_tls_setsockopt_tx fails net: ipv4: Make "ip route get" match iif lo rules again. vmxnet3: repair memory leak perf/x86/amd/power: Do not load AMD power module on !AMD platforms x86/microcode/intel: Extend BDW late-loading further with LLC size check x86/microcode: Fix again accessing initrd after having been freed x86/mm/64: Fix vmapped stack syncing on very-large-memory 4-level systems hrtimer: Reset hrtimer cpu base proper on CPU hotplug bpf: introduce BPF_JIT_ALWAYS_ON config bpf: avoid false sharing of map refcount with max_entries bpf: fix divides by zero bpf: fix 32-bit divide by zero bpf: reject stores into ctx via st and xadd bpf, arm64: fix stack_depth tracking in combination with tail calls cpufreq: governor: Ensure sufficiently large sampling intervals nfsd: auth: Fix gid sorting when rootsquash enabled Linux 4.14.16 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> |
||
|
6fde36d5ce |
bpf: introduce BPF_JIT_ALWAYS_ON config
[ upstream commit 290af86629b25ffd1ed6232c4e9107da031705cb ] The BPF interpreter has been used as part of the spectre 2 attack CVE-2017-5715. A quote from goolge project zero blog: "At this point, it would normally be necessary to locate gadgets in the host kernel code that can be used to actually leak data by reading from an attacker-controlled location, shifting and masking the result appropriately and then using the result of that as offset to an attacker-controlled address for a load. But piecing gadgets together and figuring out which ones work in a speculation context seems annoying. So instead, we decided to use the eBPF interpreter, which is built into the host kernel - while there is no legitimate way to invoke it from inside a VM, the presence of the code in the host kernel's text section is sufficient to make it usable for the attack, just like with ordinary ROP gadgets." To make attacker job harder introduce BPF_JIT_ALWAYS_ON config option that removes interpreter from the kernel in favor of JIT-only mode. So far eBPF JIT is supported by: x64, arm64, arm32, sparc64, s390, powerpc64, mips64 The start of JITed program is randomized and code page is marked as read-only. In addition "constant blinding" can be turned on with net.core.bpf_jit_harden v2->v3: - move __bpf_prog_ret0 under ifdef (Daniel) v1->v2: - fix init order, test_bpf and cBPF (Daniel's feedback) - fix offloaded bpf (Jakub's feedback) - add 'return 0' dummy in case something can invoke prog->bpf_func - retarget bpf tree. For bpf-next the patch would need one extra hunk. It will be sent when the trees are merged back to net-next Considered doing: int bpf_jit_enable __read_mostly = BPF_EBPF_JIT_DEFAULT; but it seems better to land the patch as-is and in bpf-next remove bpf_jit_enable global variable from all JITs, consolidate in one place and remove this jit_init() function. Signed-off-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
|
66359021d5 |
sched/core_ctl: rotate CPU isolation set every suspend/resume
In order to utilize CPUs in the system evenly. Rotate set of CPUs for isolation every time when system resumes from suspend. To enable this feature optionally, introduce CONFIG_SCHED_CORE_ROTATE. Change-Id: I64a928bdc4e1f95e9095a2d99c397be73293a65c Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org> Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org> |
||
|
e920e0b545 |
core_ctrl: Move core control into kernel
Move core control from out-of-tree module into the kernel proper. Core control monitors load on CPUs and controls how many CPUs are available for the system to use at any point in time. This can help save power. Core control can be configured through sysfs interface. Signed-off-by: Olav Haugan <ohaugan@codeaurora.org> [markivx: Fixed trivial makefile conflict] Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org> Change-Id: I491d584da0d5068fb11c8df556d9a1683bf418c7 Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org> |
||
|
39d3607980 |
Merge remote-tracking branch 'remotes/origin/tmp-ad490df' into msm-4.14
* remotes/origin/tmp-ad490df: ANDROID: binder: Remove obsolete proc waitqueue. f2fs: updates on 4.15-rc1 ANDROID: arch_topology: fix build for !CONFIG_CPU_FREQ ANDROID: ARM64: Tweak defconfig Android EAS features ANDROID: ARM64: Tweak defconfig for EAS platforms ANDROID: DEBUG: accumulate debug output and dump all at the end of energy_diff ANDROID: sched/fair: prevent meaningless active migration ANDROID: sched/fair: Fall back to slow path wakeup placement if needed ANDROID: DEBUG: Temporarily disable lockdep asserting on update_task_ravg ANDROID: sched: Introduce Window Assisted Load Tracking (WALT) ANDROID: Add find_best_target to minimise energy calculation overhead ANDROID: Combined EAS Load Balance Tweaks ANDROID: sched/fair: re-factor energy_diff to use a single (extensible) energy_env ANDROID: sched/fair: consider task utilization in group_norm/max_util() ANDROID: refactor select_task_rq_fair et al to be cleaner ANDROID: sched: fair: Bypass energy-aware wakeup for prefer-idle tasks ANDROID: sched: Move energy-aware decision into a helper function ANDROID: sched/fair: Try to estimate possible idle states. ANDROID: trace/sched: Add tracepoint for sched_overutilized events ANDROID: sched: fair/tune: Add schedtune with cgroups interface ANDROID: sched: EAS: take cstate into account when selecting idle core ANDROID: sched: Unconditionally honor sync flag for energy-aware wakeups ANDROID: sched: Add KConfig option to set ENERGY_AWARE sched feature on ANDROID: cpufreq: schedutil: add up/down frequency transition rate limits ANDROID: sched: Add per-cpu max capacity to sched_group_capacity ANDROID: sched: cpufreq: use PELT rt_rq as estimate of required RT CPU capacity ANDROID: trace/sched: add tracepoint for rt_rq PELT signal FROMLIST: sched/rt: add utilization tracking FROMLIST: sched/fair: Use wake_q length as a hint for wake_wide FROMLIST: sched/fair: Update blocked load from newly idle balance FROMLIST: sched: force update of blocked load of idle cpus UPSTREAM: sched/fair: Sync task util before slow-path wakeup UPSTREAM: sched/fair: Fix usage of find_idlest_group() when the local group is idlest UPSTREAM: sched/fair: Fix usage of find_idlest_group() when no groups are allowed UPSTREAM: sched/fair: Fix find_idlest_group() when local group is not allowed UPSTREAM: sched/fair: Remove unnecessary comparison with -1 UPSTREAM: sched/fair: Move select_task_rq_fair() slow-path into its own function UPSTREAM: sched/fair: Force balancing on NOHZ balance if local group has capacity ANDROID: sched/events: Introduce task_group load tracking trace event ANDROID: sched/events: Introduce sched_entity load tracking trace event ANDROID: sched/events: Introduce cfs_rq load tracking trace event ANDROID: sched/autogroup: Define autogroup_path() for !CONFIG_SCHED_DEBUG ANDROID: sched/debug: Add energy procfs interface ANDROID: arm: Support for extracting EAS energy costs from DT ANDROID: arm64: Support for extracting EAS energy costs from DT ANDROID: arm: Add Energy Model to dtb for TC2 ANDROID: hisilicon: Add energy model data to hisilicon 6220 dtb ANDROID: arm64: Add Energy Model to dtb for Juno-r0 and Juno-r2 ANDROID: Documentation: DT bindings for energy model cost data required by EAS ANDROID: arm64, dts: add hikey cpu capacity-dmips-mhz information ANDROID: drivers base/arch_topology: Detect SD_SHARE_CAP_STATES flag ANDROID: drivers base/arch_topology: enforce SCHED_CAPACITY_SCALE as highest CPU capacity ANDROID: drivers base/arch_topology: fold two pr_debug()'s into one ANDROID: sched: Per-Sched-domain over utilization ANDROID: sched: Disable energy-unfriendly nohz kicks ANDROID: sched: Consider a not over-utilized energy-aware system as balanced ANDROID: sched/fair: Energy-aware wake-up task placement ANDROID: sched: Add over-utilization/tipping point indicator ANDROID: sched/fair: Add energy_diff dead-zone margin ANDROID: sched: Determine the current sched_group idle-state ANDROID: sched, cpuidle: Track cpuidle state index in the scheduler ANDROID: sched: Estimate energy impact of scheduling decisions ANDROID: sched: Extend sched_group_energy to test load-balancing decisions ANDROID: initramfs: call free_initrd() when skipping init FROMLIST: net: xfrm: allow clearing socket xfrm policies. FROMLIST: binder: fix proc->files use-after-free UPSTREAM: arm64: vdso: fix clock_getres for 4GiB-aligned res UPSTREAM: security: bpf: replace include of linux/bpf.h with forward declarations BACKPORT: selinux: bpf: Add addtional check for bpf object file receive UPSTREAM: selinux: bpf: Add selinux check for eBPF syscall operations BACKPORT: security: bpf: Add LSM hooks for bpf object related syscall BACKPORT: bpf: Add file mode configuration into bpf maps UPSTREAM: arm64: Avoid aligning normal memory pointers in __memcpy_{to,from}io UPSTREAM: android: binder: Change binder_shrinker to static UPSTREAM: f2fs: expose some sectors to user in inline data or dentry case UPSTREAM: tracing: Add support for preempt and irq enable/disable events UPSTREAM: tracing: Prepare to add preempt and irq trace events BACKPORT: android: binder: Remove unused vma argument ANDROID: Revert "arm64: move ELF_ET_DYN_BASE to 4GB / 4MB" ANDROID: Revert "arm: move ELF_ET_DYN_BASE to 4MB" ANDROID: memory_state_time: fix undefined behavior with missing DT properties ANDROID: memory_state_time: Implement memory_state_time, used by qcom,cpubw ANDROID: uid_sys_stats: log task io with a debug flag ANDROID: uid_sys_stats: check previous uid_entry before call find_or_register_uid ANDROID: uid_sys_stats: Kconfig: add depends for UID_SYS_STATS ANDROID: uid_sys_stats: defer io stats calulation for dead tasks ANDROID: uid_sys_stats: fix access of task_uid(task) ANDROID: uid_sys_stats: reduce update_io_stats overhead ANDROID: uid_sys_stats: change to use rt_mutex ANDROID: uid_sys_stats: account for fsync syscalls ANDROID: uid_sys_stats: fix negative write bytes. ANDROID: uid_sys_stats: allow writing same state ANDROID: uid_sys_stats: rename uid_cputime.c to uid_sys_stats.c ANDROID: uid_cputime: add per-uid IO usage accounting ANDROID: uid_cputime: Check for the range while removing range of UIDs. ANDROID: uid_cputime: Iterates over all the threads instead of processes. ANDROID: uid_cputime: fix cputime overflow ANDROID: uid_cputime: Adds accounting for the cputimes per uid. CHROMIUM: usb: gadget: f_accessory: add .raw_request callback CHROMIUM: usb: gadget: f_audio_source: add .free_func callback ANDROID: usb: gadget: f_midi: set fi->f to NULL when free f_midi function ANDROID: usb: gadget: f_midi: create F_midi device ANDROID: usb: gadget: f_accessory: assign no-op request complete callbacks ANDROID: usb: gadget: f_accessory: Fix for UsbAccessory clean unbind. ANDROID: usb: gadget: f_accessory: fix false disconnect due to a signal sent to the reading process ANDROID: usb: gadget: f_accessory: Move gadget functions code ANDROID: usb: gadget: f_accessory: Migrate to USB_FUNCTION API ANDROID: usb: gadget: f_audio_source: disable the CPU C-states upon playback ANDROID: usb: gadget: f_audio_source: Move gadget functions code ANDROID: usb: gadget: f_audio_source: Move to USB_FUNCTION API ANDROID: usb: gadget: composite: Do not disconnect unregistered dev ANDROID: usb: gadget: configfs: fix null ptr in android_disconnect ANDROID: usb: gadget: configfs: Add device attribute to determine gadget state ANDROID: usb: gadget: configfs: Add "state" attribute to android_device ANDROID: usb: gadget: configfs: Add function devices to the parent ANDROID: usb: gadget: configfs: Add Uevent to notify userspace ANDROID: usb: gadget: configfs: Add usb_function ptr to fi struct ANDROID: usb: gadget: f_audio_source: Fixed USB Audio Class Interface Descriptor ANDROID: usb: gadget: f_audio_source: change max ISO packet size ANDROID: usb: gadget: f_audio_source: New gadget driver for audio output ANDROID: usb: gadget: f_accessory: check for accessory device before disconnecting HIDs ANDROID: usb: gadget: f_accessory: Enabled Zero Length Packet (ZLP) for acc_write ANDROID: usb: gadget: f_accessory: move userspace interface to uapi ANDROID: usb: gadget: f_accessory: Add support for HID input devices ANDROID: usb: gadget: f_accessory: Add ACCESSORY_SET_AUDIO_MODE control request and ioctl ANDROID: usb: gadget: f_accessory: Add Android Accessory function ANDROID: usb: phy: Dual role sysfs class definition ANDROID: usb: otg-wakelock: Remove wakelock.h dependencies ANDROID: usb: otg-wakelock: Temporarily grab wakelock on charger and disconnect events ANDROID: usb: otg-wakelock: Take wakelock when VBUS present ANDROID: trace: net: use %pK for kernel pointers ANDROID: trace: power: add trace_clock_set_parent ANDROID: trace: cpufreq: Add tracing for min/max cpufreq ANDROID: trace: gpu: add gpu trace events ANDROID: trace: sched: add sched blocked tracepoint which dumps out context of sleep. ANDROID: trace: add non-hierarchical function_graph option ANDROID: security,perf: Allow further restriction of perf_event_open ANDROID: rtc-palmas: correct for bcd year ANDROID: power: wakeup: align wakeup_sources format ANDROID: power: wakeup: Add the guard condition for len in pm_get_active_wakeup_sources ANDROID: power: wakeup: Add last wake up source logging for suspend abort reason. ANDROID: power: wakeup_reason: fix suspend time reporting ANDROID: power: wakeup_reason: Report suspend times from last_suspend_time ANDROID: power: wakeup_reason: Add check_wakeup_reason() to verify wakeup source irq ANDROID: power: wakeup_reason: Adds functionality to log the last suspend abort reason. ANDROID: power: wakeup_reason: Avoids bogus error messages for the suspend aborts. ANDROID: power: wakeup_reason: Add guard condition for maximum wakeup reasons ANDROID: power: wakeup_reason: add an API to log wakeup reasons ANDROID: power: power_supply: Add property CHARGE_COUNTER_EXT and 64-bit precision properties ANDROID: power: power_supply: add POWER_SUPPLY_PROP_CHARGE_ENABLED ANDROID: power: power_supply: add POWER_SUPPLY_PROP_USB_OTG ANDROID: power: power_supply: Add custom property for USB High Current mode ANDROID: arm64: copy CONFIG_CMDLINE_EXTEND from ARM ANDROID: of: Support CONFIG_CMDLINE_EXTEND config option ANDROID: NFC: st21nfca: Fix memory OOB and leak issues in connectivity events handler ANDROID: NFC: Fix possible memory corruption when handling SHDLC I-Frame commands ANDROID: nfc: fdp: Fix possible buffer overflow in WCS4000 NFC driver ANDROID: NFC: st21nfca: Fix out of bounds kernel access when handling ATR_REQ ANDROID: netfilter: xt_IDLETIMER: Use fullsock when querying uid ANDROID: netfilter: xt_IDLETIMER: Fix use after free condition during work ANDROID: netfilter: xt_IDLETIMER: Adds the uid field in the msg ANDROID: netfilter: xt_IDLETIMER: time-stamp and suspend/resume handling. ANDROID: netfilter: xt_IDLETIMER: Add new netlink msg type ANDROID: netfilter: xt_qtaguid: Use sk_uid to replace uid get from socket file ANDROID: netfilter: xt_qtaguid: fix handling for cases where tunnels are used. ANDROID: netfilter: xt_qtaguid: handle properly request sockets ANDROID: netfilter: xt_qtaguid: Add untag hacks to inet_release function ANDROID: netfilter: xt_qtaguid: don't check if embedded arrays are NULL ANDROID: netfilter: xt_qtaguid: fix the deadlock when enable DDEBUG ANDROID: netfilter: xt_qtaguid: Don't show empty tag stats for unprivileged uids ANDROID: netfilter: xt_qtaguid: Fix panic caused by processing non-full socket. ANDROID: netfilter: xt_qtaguid: Fix panic caused by synack processing ANDROID: netfilter: xt_qtaguid: fix a race condition in if_tag_stat_update ANDROID: netfilter: xt_qtaguid: xt_socket: build fixes ANDROID: netfilter: xt_socket/nf_socket: fix refcount underflow and crash ANDROID: netfilter: xt_qtaguid: Use sk_callback_lock read locks before reading sk->sk_socket ANDROID: netfilter: xt_qtaguid/xt_socket: Build fixups ANDROID: netfilter: xt_qtaguid: Fix boot panic ANDROID: netfilter: xt_qtaguid: fix bad tcp_time_wait sock handling ANDROID: netfilter: xt_qtaguid: 3.10 fixes ANDROID: netfilter: xt_qtaguid: rate limit some of the printks ANDROID: netfilter: xt_qtaguid: Allow tracking loopback ANDROID: netfilter: xt_qtaguid: extend iface stat to report protocols ANDROID: netfilter: xt_qtaguid: remove AID_* dependency for access control ANDROID: netfilter: xt_qtaguid: Don't BUG_ON if create_if_tag_stat fails ANDROID: netfilter: xt_qtaguid: fix error exit that would keep a spinlock. ANDROID: netfilter: xt_qtaguid: report only uid tags to non-privileged processes ANDROID: netfilter: xt_qtaguid: start tracking iface rx/tx at low level ANDROID: netfilter: xt_qtaguid: fix ipv6 protocol lookup ANDROID: netfilter: xt_qtaguid: add qtaguid matching module ANDROID: netfilter: xt_quota2: fixup the quota2, and enable. ANDROID: netfilter: xt_quota2: adding the original quota2 from xtables-addons ANDROID: net: xfrm: check dir value of xfrm_userpolicy_id ANDROID: net: xfrm: make PF_KEY SHA256 use RFC-compliant truncation. ANDROID: net: wireless: wlcore: Disable filtering in AP role ANDROID: net: wireless: Decrease scan entry expiration to avoid stall results ANDROID: net: rfkill: Introduce CONFIG_RFKILL_PM and use instead of CONFIG_PM to power down ANDROID: net: ipv6: autoconf routes into per-device tables ANDROID: net: ipv6: fix crash caused by ipv6_find_hdr() ANDROID: net: ipv4: tcp: add a sysctl to config the tcp_default_init_rwnd ANDROID: net: ipv4: sysfs_net_ipv4: Add sysfs-based knobs for controlling TCP window size ANDROID: net: ip-sysctl: Document tcp_fwmark_accept ANDROID: net: paranoid: commoncap: Begin to warn users of implicit PARANOID_NETWORK capability grants ANDROID: net: paranoid: security: Add proper checks for Android specific capability checks ANDROID: net: paranoid: Only NET_ADMIN is allowed to fully control TUN interfaces. ANDROID: net: paranoid: Replace AID_NET_RAW checks with capable(CAP_NET_RAW). ANDROID: net: paranoid: security: Add AID_NET_RAW and AID_NET_ADMIN capability check in cap_capable(). ANDROID: net: Paranoid network. ANDROID: mmc: core: export emmc revision ANDROID: mmc: core: move to a SCHED_FIFO thread ANDROID: mmc: core: Add "ignore mmc pm notify" functionality ANDROID: mmc: sdio: Add concept of an 'embedded' SDIO device. ANDROID: mmc: sd: Add retries in re-detection ANDROID: mmc: sd: When resuming, try a little harder to init the card ANDROID: mmc: sd: Add new CONFIG_MMC_PARANOID_SD_INIT for enabling retries during SD detection ANDROID: mm: add a field to store names for private anonymous memory ANDROID: HACK: arm64: use -mno-implicit-float instead of -mgeneral-regs-only ANDROID: Kbuild, LLVMLinux: allow overriding clang target triple CHROMIUM: arm64: Disable asm-operand-width warning for clang CHROMIUM: kbuild: clang: Disable the 'duplicate-decl-specifier' warning ANDROID: kbuild: Makefile.clean: make Kbuild and Makefile optional ANDROID: kbuild: make it possible to specify the module output dir ANDROID: input: goldfish_events: no extra EV_SYN; register goldfish ANDROID: input: keychord: Fix for a memory leak in keychord. ANDROID: input: keychord: Fix races in keychord_write. ANDROID: input: keychord: Fix a slab out-of-bounds read. ANDROID: input: keychord: log when keychord triggered ANDROID: input: keyreset: switch to orderly_reboot ANDROID: input: keyreset: Made keyreset more robust ANDROID: input: keyreset: Changed keyreset to act as a wrapper for keycombo. ANDROID: input: keycombo: add keycombo, a general key combo driver. ANDROID: input: keychord: Add keychord driver ANDROID: input: keyreset: Add keyreset driver. ANDROID: input: gpio_matrix: Remove wakelock.h dependencies ANDROID: input: gpio_input: convert from wakelocks to wakeup sources ANDROID: input: gpio_event: remove early suspend ANDROID: input: Generic GPIO Input devices ANDROID: initramfs: Add skip_initramfs command line option ANDROID: build: add build server configs for goldfish ANDROID: goldfish: add ranchu defconfigs ANDROID: goldfish_sync_timeline: Rename fence to dma_fence ANDROID: goldfish_sync: 32 max cmds to save stack ANDROID: goldfish_sync: Fix sync_file_obj is NULL but dereferenced problem ANDROID: goldfish_sync: Isolate single module to fix compilation ANDROID: goldfish_sync: upgrade to new fence sync api ANDROID: goldfish_sync: Add goldfish sync driver ANDROID: goldfish_audio: Clear audio read buffer status after each read ANDROID: goldfish_audio: Enable ACPI-based enumeration for goldfish audio ANDROID: goldfishfb: Set pixclock = 0 ANDROID: goldfishfb: Enable ACPI-based enumeration for goldfish framebuffer ANDROID: goldfishfb: add devicetree bindings ANDROID: fs: Fix for in kernel emergency remount when loop mounts are used ANDROID: fs: Refactor FS readpage/write tracepoints. ANDROID: fs: FS tracepoints to track IO. ANDROID: fs: sched: add a counter to track fsync ANDROID: fs: epoll: use freezable blocking call ANDROID: fs: ext4: Add support for FIDTRIM, a best-effort ioctl for deep discard trim ANDROID: fs: fuse: Freeze client on suspend when request sent to userspace ANDROID: fs: pstore: ram: Add ramoops_console_write_buf api ANDROID: fs: block_dump: Don't display inode changes if block_dump < 2 ANDROID: dm: verity: add minimum prefetch size ANDROID: dm: android-verity: mark dev as rw for linear target ANDROID: dm: android-verity: allow disable dm-verity for Treble VTS ANDROID: dm: android-verity: fix table_make_digest() error handling ANDROID: dm: android-verity: rebase for 4.9 ANDROID: dm: android-verity: Remove fec_header location constraint ANDROID: dm: android-verity: adopt changes made to dm callbacks ANDROID: dm: android-verity: pack the fec_header structure ANDROID: dm: android-verity: Verify header before fetching table ANDROID: dm: android-verity: allow adb disable-verity only in userdebug ANDROID: dm: android-verity: mount as linear target if eng build ANDROID: dm: android-verity: use default verity public key ANDROID: dm: android-verity: fix signature verification flag ANDROID: dm: android-verity: use name_to_dev_t ANDROID: dm: android-verity: Mounting root as linear device when verity disabled ANDROID: dm: android-verity: Add android verity target ANDROID: dm: do_mounts_dm: Update init/do_mounts_dm.c to the latest ChromiumOS version. ANDROID: dm: do_mounts_dm: fix dm_substitute_devices() ANDROID: dm: do_mounts_dm: Rebase on top of 4.9 CHROMIUM: dm: boot time specification of dm= ANDROID: dm: verity-fec: add sysfs attribute fec/corrected CHROMIUM: dma-buf: dma-fence: fix warning when releasing active sync point CHROMIUM: cgroups: relax permissions on moving tasks between cgroups ANDROID: cpuset: Make cpusets restore on hotplug ANDROID: cpu: send KOBJ_ONLINE event when enabling cpus ANDROID: cpuidle: governor: menu: don't use loadavg ANDROID: binder: clarify deferred thread work. ANDROID: binder: show high watermark of alloc->pages. ANDROID: binder: Add thread->process_todo flag. ANDROID: binder: fix node sched policy calculation ANDROID: binder: init desired_prio.sched_policy before use it ANDROID: binder: fix transaction leak. ANDROID: binder: Add tracing for binder priority inheritance. ANDROID: binder: don't check prio permissions on restore. ANDROID: binder: add RT inheritance flag to node. ANDROID: binder: improve priority inheritance. ANDROID: binder: add min sched_policy to node. ANDROID: binder: add support for RT prio inheritance. ANDROID: ashmem: Shrink directly through shmem_fallocate ANDROID: ashmem: Add shmem_set_file to mm/shmem.c ANDROID: fiq_debugger: Remove wakelock.h dependencies ANDROID: fiq_debugger: Add fiq_debugger.disable option ANDROID: fiq_debugger: Add option to apply uart overlay by FIQ_DEBUGGER_UART_OVERLAY ANDROID: fiq_debugger: Add fiq_watchdog_triggered api ANDROID: fiq_debugger: Call fiq_debugger_printf through a function pointer from cpu specific code ANDROID: fiq_debugger: add ARM64 support ANDROID: fiq_debugger: split arm support into fiq_debugger_arm.c ANDROID: fiq_debugger: use pt_regs for registers ANDROID: fiq_debugger: allow compiling without CONFIG_FIQ_GLUE ANDROID: fiq_debugger: rename debug->fiq_debugger ANDROID: fiq_debugger: move into drivers/staging/android/fiq_debugger/ ANDROID: kdb: support new lines without carriage returns ANDROID: ARM: fiq_debugger: Update tty code for 3.9 ANDROID: ARM: fiq_debugger: lock between tty and console writes ANDROID: ARM: fiq_debugger: add process context reboot command ANDROID: ARM: fiq_debugger: fix multiple consoles and make it a preferred console ANDROID: ARM: kgdb: ignore breakpoint instructions from user mode ANDROID: ARM: fiq_debugger: add support for kgdb ANDROID: ARM: fiq_debugger: add debug_putc ANDROID: ARM: fiq_debugger: add support for reboot commands ANDROID: ARM: fiq_debugger: Add generic fiq serial debugger ANDROID: ARM: fiq_glue: Add custom fiq return handler api. ANDROID: ARM: fiq_glue: Add fiq_glue ANDROID: arm64: pass return address to dma_common_contiguous_remap ANDROID: arm64: check for upper PAGE_SHIFT bits in pfn_valid() ANDROID: arm: mm: Optionally flush entire dcache from v6_dma_flush_range ANDROID: arm: decompressor: Flush tlb before swiching domain 0 to client mode ANDROID: arm: fault: assume no context when IRQs are disabled during data abort. ANDROID: arm: add option to flush console before reboot ANDROID: arm64: process: dump memory around registers when displaying regs ANDROID: arm: process: Add display of memory around registers when displaying regs. ANDROID: arm64: Allow to choose appended kernel image ANDROID: arm64: add option to build Image-dtb ANDROID: arm64: add option to build Image.gz/dtb combo ANDROID: arm: convert build of appended dtb zImage to list of dtbs ANDROID: arm: add config option to build zImage/dtb combo ANDROID: arm: Fix dtb list when DTB_IMAGE_NAMES is empty ANDROID: arch: force -fno-pic ANDROID: add script to fetch android kernel config fragments ANDROID: sched: Calculate energy consumption of sched_group ANDROID: sched: Highest energy aware balancing sched_domain level pointer ANDROID: sched: Relocated cpu_util() and change return type ANDROID: sched: EAS & 'single cpu per cluster'/cpu hotplug interoperability ANDROID: sched: Introduce SD_SHARE_CAP_STATES sched_domain flag ANDROID: sched: Initialize energy data structures ANDROID: sched: Introduce energy data structures ANDROID: sched: Make energy awareness a sched feature ANDROID: sched: Documentation for scheduler energy cost model ANDROID: arm64: Enable dynamic sched_domain flag setting ANDROID: arm: Enable dynamic sched_domain flag setting ANDROID: drivers/base/arch_topology: Dynamic sched_domain flag detection ANDROID: sched/fair: Avoid unnecessary balancing of asymmetric capacity groups ANDROID: sched: Consider misfit tasks when load-balancing ANDROID: sched: Add group_misfit_task load-balance type ANDROID: arm64: wire cpu-invariant accounting support up to the task scheduler ANDROID: arm64: wire frequency-invariant accounting support up to the task scheduler ANDROID: arm: wire cpu-invariant accounting support up to the task scheduler ANDROID: arm: wire frequency-invariant accounting support up to the task scheduler ANDROID: drivers base/arch_topology: allow inlining cpu-invariant accounting support ANDROID: drivers base/arch_topology: provide frequency-invariant accounting support ANDROID: cpufreq: dt: invoke frequency-invariance setter function ANDROID: cpufreq: arm_big_little: invoke frequency-invariance setter function ANDROID: cpufreq: provide default frequency-invariance setter function ANDROID: drivers base/arch_topology: free cpumask cpus_to_visit ANDROID: sched: Enable idle balance to pull single task towards cpu with higher capacity ANDROID: sched: Prevent unnecessary active balance of single task in sched group Conflicts: Documentation/admin-guide/kernel-parameters.txt Makefile arch/arm/configs/ranchu_defconfig arch/arm64/Kconfig arch/arm64/Makefile arch/arm64/boot/Makefile arch/arm64/configs/ranchu64_defconfig arch/arm64/kernel/io.c arch/arm64/kernel/process.c arch/arm64/mm/dma-mapping.c arch/x86/configs/i386_ranchu_defconfig arch/x86/configs/x86_64_ranchu_defconfig drivers/android/binder.c drivers/dma-buf/sw_sync.c drivers/md/Kconfig drivers/md/dm-android-verity.c drivers/md/dm-android-verity.h drivers/md/dm-linear.c drivers/mmc/core/Kconfig drivers/mmc/core/mmc.c drivers/power/supply/power_supply_sysfs.c drivers/staging/android/fiq_debugger/fiq_debugger.c drivers/staging/android/fiq_debugger/fiq_debugger_arm64.c drivers/usb/gadget/Kconfig drivers/usb/gadget/function/Makefile include/linux/power_supply.h init/initramfs.c kernel/power/suspend.c kernel/sched/sched.h net/netfilter/xt_qtaguid.c arch/arm/kernel/topology.c arch/arm64/boot/dts/hisilicon/hi6220.dtsi arch/arm64/kernel/topology.c drivers/base/arch_topology.c kernel/sched/fair.c kernel/sched/features.h kernel/sched/sched.h kernel/sched/topology.c Change-Id: Ib242448f01dae40bff6a4da72aa4619c44663e76 Signed-off-by: Runmin Wang <runminw@codeaurora.org> |
||
|
0bb35550c3 |
ANDROID: sched: Introduce Window Assisted Load Tracking (WALT)
This patch is a combination of many many patches which have been previously applied to Android/EAS kernels. Similarly to other EAS components, we are squashing these to present a more orderly view of component history and relationships. The original description of WALT was: Use a window based view of time in order to track task demand and CPU utilization in the scheduler. WALT accounts two major statistics; CPU load and cumulative tasks demand. The CPU load which is account of accumulated each CPU's absolute execution time is for CPU frequency guidance. Whereas cumulative tasks demand which is each CPU's instantaneous load to reflect CPU's load at given time is for task placement decision. Use cumulative tasks demand for cpu_util() for task placement and introduce cpu_util_freq() for frequency guidance. This version includes the "cumulative window demand" statistic which was originally described as: Energy cost estimation has been a long lasting challenge for WALT because WALT guides CPU frequency based on the CPU utilization of previous window. Consequently it's not possible to know newly waking-up task's energy cost until WALT's end of the current window. The WALT already tracks 'Previous Runnable Sum' (prev_runnable_sum) and 'Cumulative Runnable Average' (cr_avg). They are designed for CPU frequency guidance and task placement but unfortunately both are not suitable for the energy cost estimation. It's because using prev_runnable_sum for energy cost calculation would make us to account CPU and task's energy solely based on activity in the previous window so for example, any task didn't have an activity in the previous window will be accounted as a 'zero energy cost' task. Energy estimation with cr_avg is what energy_diff() relies on at present. However cr_avg can only represent instantaneous picture of energy cost thus for example, if a CPU was fully occupied for an entire WALT window and became idle just before window boundary, and if there is a wake-up, energy_diff() accounts that CPU is a 'zero energy cost' CPU. As a result, introduce a new accounting unit 'Cumulative Window Demand'. The cumulative window demand tracks all the tasks' demands have seen in current window which is neither instantaneous nor actual execution time. Because task demand represents estimated scaled execution time when the task runs a full window, accumulation of all the demands represents predicted CPU load at the end of window. Thus we can estimate CPU's frequency at the end of current WALT window with the cumulative window demand. This version is extracted wholesale from the version currently available in android-4.4 and android-4.9. Window Assisted Load Tracking (WALT) implementation credits: Srivatsa Vaddagiri, Steve Muckle, Syed Rameez Mustafa, Joonwoo Park, Pavan Kumar Kondeti, Olav Haugan, Srinath Sridharan, Vikram Mulukutla, Todd Kjos, Juri Lelli, John Stultz, Andres Oportus Change-Id: If92dd9db843374073be59d2cb83febfef993b562 Signed-off-by: Chris Redpath <chris.redpath@arm.com> |
||
|
159c14f039 |
ANDROID: sched: fair/tune: Add schedtune with cgroups interface
Schedtune is the framework we use in Android to allow userspace task classification and provides a CGroup controller which has two attributes per group. * schedtune.boost * schedtune.prefer_idle Schedtune itself provides task and CPU utilization boosting. EAS in the fair scheduler uses boosted utilization and prefer_idle status to control the algorithm used for wakeup task placement. Boosting: The task utilization signal, which is derived from PELT signals and properly scaled to be architecture and frequency invariant, is used by EAS as an estimation of the task requirements in terms of CPU bandwidth. Schedtune allows userspace to assign a percentage boost to each group and this boost is used to calculate an additional utilization margin. The margin added to the original utilization is: 1. computed based on the "boosting strategy" in use 2. proportional to boost value defined by the "taskgroup" value The boosted signal is used by EAS for task placement, and boosted CPU utilization (if boosted tasks are running) is given when schedutil requests utilization. Prefer_idle: When this attribute is 1 for a group, this is used as a signal from userspace that tasks in this group need to be serviced with the minimum latency possible. Previous versions of schedtune had much more functionality around allowing a more tuneable tradeoff between performand and energy, however this has not been used a lot up until now. If necessary, we can easily resurrect it based upon old code. Change-Id: Ie2fd63d82f604f34bcbc7e1ca9b5af1bdcc037e0 Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com> Signed-off-by: Chris Redpath <chris.redpath@arm.com> |