android_kernel_sony_sdm845/drivers
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Minchan Kim 2e264fb546 zram: support BDI_CAP_STABLE_WRITES
commit b09ab054b69b07077bd3292f67e777861ac796e5 upstream.

zram has used per-cpu stream feature from v4.7.  It aims for increasing
cache hit ratio of scratch buffer for compressing.  Downside of that
approach is that zram should ask memory space for compressed page in
per-cpu context which requires stricted gfp flag which could be failed.
If so, it retries to allocate memory space out of per-cpu context so it
could get memory this time and compress the data again, copies it to the
memory space.

In this scenario, zram assumes the data should never be changed but it is
not true without stable page support.  So, If the data is changed under
us, zram can make buffer overrun so that zsmalloc free object chain is
broken so system goes crash like below

   https://bugzilla.suse.com/show_bug.cgi?id=997574

This patch adds BDI_CAP_STABLE_WRITES to zram for declaring "I am block
device needing *stable write*".

Fixes: da9556a236 ("zram: user per-cpu compression streams")
Link: http://lkml.kernel.org/r/1482366980-3782-4-git-send-email-minchan@kernel.org
Signed-off-by: Minchan Kim <minchan@kernel.org>
Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: Hyeoncheol Lee <cheol.lee@lge.com>
Cc: <yjay.kim@lge.com>
Cc: Sangseok Lee <sangseok.lee@lge.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-01-19 20:17:58 +01:00
..
accessibility
acpi ACPI / video: Add force_native quirk for HP Pavilion dv6 2017-01-09 08:32:18 +01:00
amba
android ANDROID: binder: Clear binder and cookie when setting handle in flat binder struct 2016-10-24 19:37:48 +02:00
ata libata-scsi: disable SCT Write Same for the moment 2016-12-07 16:29:09 -05:00
atm atm: fix improper return value 2016-12-05 14:53:46 -05:00
auxdisplay auxdisplay: img-ascii-lcd: driver for simple ASCII LCD displays 2016-10-06 17:03:41 +02:00
base PM / wakeirq: Fix dedicated wakeirq for drivers not using autosuspend 2017-01-12 11:39:31 +01:00
bcma
block zram: support BDI_CAP_STABLE_WRITES 2017-01-19 20:17:58 +01:00
bluetooth Bluetooth: btwilink: Fix probe return value 2016-10-20 10:14:49 +02:00
bus bus: arm-ccn: Prevent hotplug callback leak 2017-01-15 13:42:57 +01:00
cdrom
char tpm_tis: Check return values from get_burstcount. 2017-01-12 11:39:38 +01:00
clk ARM: 8631/1: clkdev: Detect errors in clk_hw_register_clkdev() for mass registration 2017-01-15 13:42:57 +01:00
clocksource Revert "clocksource/drivers/timer_sun5i: Replace code by clocksource_mmio_init" 2016-10-20 21:58:58 +02:00
connector
cpufreq PM / OPP: Pass opp_table to dev_pm_opp_put_regulator() 2017-01-06 10:40:15 +01:00
cpuidle Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2016-10-15 09:26:12 -07:00
crypto crypto: caam - fix AEAD givenc descriptors 2017-01-06 10:40:13 +01:00
dax device-dax: fix private mapping restriction, permit read-only 2016-12-06 17:42:37 -08:00
dca
devfreq PM / devfreq: Skip status update on uninitialized previous_freq 2016-10-11 00:01:20 +02:00
dio
dma dmaengine: cppi41: More PM runtime fixes 2016-11-17 16:09:23 +05:30
dma-buf Merge tag 'drm-for-v4.9' of git://people.freedesktop.org/~airlied/linux 2016-10-11 18:12:22 -07:00
edac * Altera Arria10 enablement of NAND, DMA, USB, QSPI and SD-MMC FIFO 2016-10-04 12:06:26 -07:00
eisa
extcon extcon: qcom-spmi-misc: Sync the extcon state on interrupt 2016-10-26 16:04:29 +09:00
firewire firewire: net: fix fragmented datagram_size off-by-one 2016-11-03 14:46:39 +01:00
firmware efi/efivar_ssdt_load: Don't return success on allocation failure 2017-01-12 11:39:24 +01:00
fmc
fpga
gpio gpio: chardev: Return error for seek operations 2017-01-09 08:32:18 +01:00
gpu drm/savage: dereferencing an error pointer 2017-01-19 20:17:58 +01:00
hid HID: hid-cypress: validate length of report 2017-01-15 13:42:56 +01:00
hsi
hv hv: acquire vmbus_connection.channel_mutex in vmbus_free_channels() 2017-01-09 08:32:18 +01:00
hwmon hwmon: (lm90) fix temp1_max_alarm attribute 2017-01-12 11:39:26 +01:00
hwspinlock
hwtracing stm class: Fix device leak in open error path 2017-01-09 08:32:21 +01:00
i2c Revert "i2c: octeon: thunderx: Limit register access retries" 2016-11-29 20:04:21 +01:00
ide
idle nmi_backtrace: generate one-line reports for idle cpus 2016-10-07 18:46:30 -07:00
iio iio: accel: st_accel: fix LIS3LV02 reading and scaling 2017-01-12 11:39:21 +01:00
infiniband i40iw: Use correct src address in memcpy to rdma stats counters 2017-01-09 08:32:24 +01:00
input Input: i8042 - add Pegatron touchpad to noloop table 2017-01-19 20:17:57 +01:00
iommu iommu/vt-d: Flush old iommu caches for kdump when the device gets context mapped 2017-01-12 11:39:28 +01:00
ipack ipack: print a hex number after a 0x prefix 2016-10-27 18:43:43 -07:00
irqchip irqchip/bcm7038-l1: Implement irq_cpu_offline() callback 2017-01-12 11:39:31 +01:00
isdn ser_gigaset: return -ENOMEM on error instead of success 2016-12-08 14:19:17 -05:00
leds
lguest
lightnvm Merge branch 'for-4.9/block' of git://git.kernel.dk/linux-block 2016-10-07 14:42:05 -07:00
macintosh
mailbox mailbox: PCC: Fix lockdep warning when request PCC channel 2016-11-14 22:07:38 +01:00
mcb
md md: fix refcount problem on mddev when stopping array. 2017-01-12 11:39:35 +01:00
media dibusb: fix possible memory leak in dibusb_rc_query() 2017-01-12 11:39:20 +01:00
memory ARM: SoC driver updates for v4.9 2016-10-07 21:23:40 -07:00
memstick memstick: rtsx_usb_ms: Manage runtime PM when accessing the device 2016-10-17 15:43:05 +02:00
message
mfd mfd: tps65217: Fix page fault on unloading modules 2017-01-12 11:39:23 +01:00
misc mei: move write cb to completion on credentials failures 2017-01-12 11:39:21 +01:00
mmc mmc: mmc_test: Uninitialized return value 2017-01-12 11:39:31 +01:00
mtd MTD updates for 4.9-rc4: 2016-11-05 10:52:29 -07:00
net rtlwifi: rtl_usb: Fix missing entry in USB driver's private data 2017-01-15 13:42:58 +01:00
nfc mei: bus: fix received data size check in NFC fixup 2016-10-31 10:25:22 -06:00
ntb ntb_perf: potential info leak in debugfs 2016-11-13 16:48:30 -05:00
nubus
nvdimm libnvdimm, pfn: fix align attribute 2017-01-09 08:32:25 +01:00
nvme nvmet: Fix possible infinite loop triggered on hot namespace removal 2017-01-06 10:40:14 +01:00
nvmem ARM: SoC driver updates for v4.9 2016-10-07 21:23:40 -07:00
of of, numa: Return NUMA_NO_NODE from disable of_node_to_nid() if nid not possible. 2017-01-09 08:32:25 +01:00
oprofile Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-10-10 20:16:43 -07:00
parisc
parport
pci powerpc/pci/rpadlpar: Fix device reference leaks 2017-01-12 11:39:37 +01:00
pcmcia pcmcia: fix return value of soc_pcmcia_regulator_set 2016-11-11 08:45:08 -08:00
perf perf: xgene: Remove bogus IS_ERR() check 2016-10-17 15:50:07 +01:00
phy phy: twl4030-usb: Fix for musb session bit based PM 2016-11-17 16:25:40 +01:00
pinctrl pinctrl: sh-pfc: Add helper to handle bias lookup table 2017-01-19 20:17:57 +01:00
platform platform/x86: fujitsu-laptop: use brightness_set_blocking for LED-setting callbacks 2017-01-12 11:39:25 +01:00
pnp
power power supply and reset changes for the v4.9 series 2016-10-06 18:21:15 -07:00
powercap
pps pps: kc: fix non-tickless system config dependency 2016-10-11 15:06:32 -07:00
ps3
ptp drivers/ptp: Fix kernel memory disclosure 2016-10-13 10:20:06 -04:00
pwm pwm: Fix device reference leak 2016-11-29 16:43:24 +01:00
rapidio mm: replace get_user_pages() write/force parameters with gup_flags 2016-10-19 08:11:43 -07:00
ras
regulator regulator: axp20x: Fix axp809 ldo_io registration error on cold boot 2017-01-19 20:17:57 +01:00
remoteproc rpmsg updates for v4.9 2016-10-06 17:03:49 -07:00
reset reset: uniphier: rename MIO reset to SD reset for Pro5, PXs2, LD20 SoCs 2016-10-22 18:31:42 +09:00
rpmsg rpmsg: qcom_smd: Correct return value for O_NONBLOCK 2017-01-12 11:39:31 +01:00
rtc rtc: omap: prevent disabling of clock/module during suspend 2016-11-04 23:11:39 +01:00
s390 s390/vmlogrdr: fix IUCV buffer allocation 2017-01-09 08:32:22 +01:00
sbus
scsi scsi: mvsas: fix command_active typo 2017-01-12 11:39:29 +01:00
sfi
sh
sn
soc powerpc updates for 4.9 #2 2016-10-14 11:07:42 -07:00
spi spi: mvebu: fix baudrate calculation for armada variant 2017-01-15 13:42:57 +01:00
spmi
ssb ssb: Fix error routine when fallback SPROM fails 2017-01-09 08:32:16 +01:00
staging staging: media: davinci_vpfe: unlock on error in vpfe_reqbufs() 2017-01-12 11:39:35 +01:00
target sbp-target: Fix second argument of percpu_ida_alloc() 2017-01-12 11:39:30 +01:00
tc
thermal thermal: hwmon: Properly report critical temperature in sysfs 2017-01-09 08:32:18 +01:00
thunderbolt
tty sc16is7xx: Drop bogus use of IRQF_ONESHOT 2017-01-09 08:32:22 +01:00
uio
usb usb: gadget: composite: always set ep->mult to a sensible value 2017-01-12 11:39:46 +01:00
uwb uwb: fix device reference leaks 2016-11-01 09:04:04 -06:00
vfio vfio/pci: Fix integer overflows, bitmask check 2016-10-26 13:49:29 -06:00
vhost vhost-vsock: fix orphan connection reset 2016-12-08 21:24:30 -05:00
video video: ARM CLCD: fix Vexpress regression 2016-11-03 12:20:14 +02:00
virt mm: replace get_user_pages() write/force parameters with gup_flags 2016-10-19 08:11:43 -07:00
virtio virtio_ring: mark vring_dma_dev inline 2016-10-31 00:40:08 +02:00
vlynq
vme vme: vme_get_size potentially returning incorrect value on failure 2016-10-28 08:25:18 -04:00
w1
watchdog watchdog: qcom: fix kernel panic due to external abort on non-linefetch 2017-01-06 10:40:16 +01:00
xen xen/gntdev: Use VM_MIXEDMAP instead of VM_IO to avoid NUMA balancing 2017-01-06 10:40:17 +01:00
zorro
Kconfig
Makefile A small bug fix and a new driver for acting as an IPMI device. 2016-10-23 15:56:23 -07:00