android_kernel_oneplus_msm8998/drivers
WANG Cong 0e1b4ef27e UPSTREAM: ppp: defer netns reference release for ppp channel
(cherry pick from commit 205e1e255c479f3fd77446415706463b282f94e4)

Matt reported that we have a NULL pointer dereference
in ppp_pernet() from ppp_connect_channel(),
i.e. pch->chan_net is NULL.

This is due to that a parallel ppp_unregister_channel()
could happen while we are in ppp_connect_channel(), during
which pch->chan_net set to NULL. Since we need a reference
to net per channel, it makes sense to sync the refcnt
with the life time of the channel, therefore we should
release this reference when we destroy it.

Fixes: 1f461dcdd296 ("ppp: take reference on channels netns")
Reported-by: Matt Bennett <Matt.Bennett@alliedtelesis.co.nz>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linux-ppp@vger.kernel.org
Cc: Guillaume Nault <g.nault@alphalink.fr>
Cc: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Reviewed-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

Fixes: Change-Id: Iee0015eca5bd181954bb4896a3720f7549c5ed0b ("UPSTREAM:
ppp: take reference on channels netns")
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Change-Id: I24d0bb6f349ab3829f63cfe935ed97b6913a3508
2016-08-18 18:56:03 +05:30
..
accessibility
acpi ACPI / osi: Fix an issue that acpi_osi=!* cannot disable ACPICA internal strings 2016-06-01 12:15:50 -07:00
amba
android Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-03-14 15:32:21 +08:00
ata libata: LITE-ON CX1-JB256-HP needs lower max_sectors 2016-08-10 11:49:29 +02:00
atm
auxdisplay
base Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-07-29 21:38:37 +01:00
bcma x86/quirks: Add early quirk to reset Apple AirPort card 2016-08-10 11:49:24 +02:00
block nbd: ratelimit error msgs after socket close 2016-05-11 11:21:10 +02:00
bluetooth Bluetooth: vhci: Fix race at creating hci device 2016-06-01 12:15:50 -07:00
bus bus: imx-weim: Take the 'status' property value into account 2016-05-04 14:48:54 -07:00
cdrom
char Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-08-18 12:33:31 +08:00
clk clk: rockchip: initialize flags of clk_init_data in mmc-phase clock 2016-08-10 11:49:28 +02:00
clocksource clockevents/tcb_clksrc: Prevent disabling an already disabled clock 2016-03-03 15:07:15 -08:00
connector connector: bump skb->users before callback invocation 2016-01-04 21:46:45 -05:00
cpufreq cpufreq: interactive: drop cpufreq_{get,put}_global_kobject func calls 2016-05-19 12:35:13 +05:30
cpuidle Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-06-14 17:08:03 +08:00
crypto crypto: qat - make qat_asym_algs.o depend on asn1 headers 2016-07-27 09:47:40 -07:00
dca
devfreq
dio
dma dmaengine: at_xdmac: double FIFO flush needed to compute residue 2016-08-10 11:49:25 +02:00
dma-buf CHROMIUM: android: fix warning when releasing active sync point 2016-02-16 13:53:25 -08:00
edac EDAC, sb_edac: Fix rank lookup on Broadwell 2016-07-27 09:47:27 -07:00
eisa
extcon extcon: max77843: Use correct size for reading the interrupt register 2016-05-04 14:48:54 -07:00
firewire
firmware arm64: kaslr: increase randomization granularity 2016-07-29 18:59:49 +02:00
fmc
fpga
gpio Revert "gpiolib: Split GPIO flags parsing and GPIO configuration" 2016-07-27 09:47:29 -07:00
gpu drm/i915: Pretend cursor is always on for ILK-style WM calculations (v2) 2016-08-16 09:30:50 +02:00
hid Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-08-18 12:33:31 +08:00
hsi
hv Drivers: hv: vmbus: Fix a Host signaling bug 2016-03-03 15:07:16 -08:00
hwmon hwmon: (dell-smm) Cache fan_type() calls and change fan detection 2016-07-27 09:47:37 -07:00
hwspinlock drivers/hwspinlock: fix race between radix tree insertion and lookup 2016-02-25 12:01:23 -08:00
hwtracing Merge tag 'v4.4.17' into linux-linaro-lsk-v4.4 2016-08-11 12:15:51 +08:00
i2c i2c: i801: Allow ACPI SystemIO OpRegion to conflict with PCI BAR 2016-08-16 09:30:48 +02:00
ide
idle intel_idle: prevent SKL-H boot failure when C8+C9+C10 enabled 2016-04-12 09:09:05 -07:00
iio iio:ad7266: Fix probe deferral for vref 2016-07-27 09:47:37 -07:00
infiniband IB/mlx4: Properly initialize GRH TClass and FlowLabel in AHs 2016-07-27 09:47:27 -07:00
input Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-08-11 12:15:55 +08:00
iommu iommu/amd: Fix unity mapping initialization race 2016-07-27 09:47:32 -07:00
ipack
irqchip irqchip/gic-v3: Configure all interrupts as non-secure Group-1 2016-06-01 12:15:49 -07:00
isdn ser_gigaset: remove unnecessary kfree() calls from release method 2015-12-15 13:24:21 -05:00
leds
lguest
lightnvm lightnvm: wrong offset in bad blk lun calculation 2015-12-29 08:28:32 -07:00
macintosh
mailbox
mcb mcb: Fixed bar number assignment for the gdd 2016-06-01 12:15:53 -07:00
md ANDROID: dm verity fec: initialize recursion level 2016-07-11 12:41:28 +05:30
media media: fix airspy usb probe error path 2016-08-10 11:49:29 +02:00
memory memory: omap-gpmc: Fix omap gpmc EXTRADELAY timing 2016-07-27 09:47:35 -07:00
memstick
message
mfd mfd: intel_soc_pmic_core: Terminate panel control GPIO lookup table correctly 2016-06-07 18:14:34 -07:00
misc Merge branch 'lsk-v4.4-android' of git://android.git.linaro.org/kernel/linaro-android into linux-linaro-lsk-v4.4-android 2016-06-02 17:59:02 +08:00
mmc Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-08-11 12:15:55 +08:00
mtd Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-07-29 21:38:37 +01:00
net UPSTREAM: ppp: defer netns reference release for ppp channel 2016-08-18 18:56:03 +05:30
nfc
ntb
nubus
nvdimm libnvdimm, pfn: fix uuid validation 2016-04-20 15:41:54 +09:00
nvme NVMe: IO ending fixes on surprise removal 2015-12-22 10:12:04 -07:00
nvmem nvmem: mxs-ocotp: fix buffer overflow in read 2016-05-11 11:21:21 +02:00
of Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-07-29 21:38:37 +01:00
oprofile
parisc parisc iommu: fix panic due to trying to allocate too large region 2015-12-12 16:07:25 +01:00
parport
pci PCI: Disable all BAR sizing for devices with non-compliant BARs 2016-06-07 18:14:35 -07:00
pcmcia pcmcia: db1xxx_ss: fix last irq_to_gpio user 2016-04-20 15:42:09 +09:00
perf
phy phy: core: fix wrong err handle for phy_power_on 2016-03-03 15:07:28 -08:00
pinctrl pinctrl: imx: Do not treat a PIN without MUX register as an error 2016-08-10 11:49:27 +02:00
platform Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-08-11 12:15:55 +08:00
pnp PNP: Add Broadwell to Intel MCH size workaround 2016-08-16 09:30:48 +02:00
power Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-08-11 12:15:55 +08:00
powercap powercap / RAPL: fix BIOS lock check 2015-12-12 02:31:11 +01:00
pps pps: do not crash when failed to register 2016-08-10 11:49:25 +02:00
ps3
ptp
pwm pwm: brcmstb: Fix check of devm_ioremap_resource() return code 2016-05-04 14:48:47 -07:00
rapidio
ras
regulator regulator: axp20x: Fix axp22x ldo_io voltage ranges 2016-05-18 17:06:51 -07:00
remoteproc
reset
rpmsg
rtc Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-05-12 09:27:18 +08:00
s390 qeth: delete napi struct when removing a qeth device 2016-08-10 11:49:28 +02:00
sbus
scsi scsi: ignore errors from scsi_dh_add_device() 2016-08-16 09:30:48 +02:00
sfi
sh drivers: sh: Restore legacy clock domain on SuperH platforms 2016-03-09 15:34:49 -08:00
sn
soc soc: rockchip: power-domain: fix err handle while probing 2016-05-11 11:21:11 +02:00
spi spi: sun4i: fix FIFO limit 2016-08-10 11:49:28 +02:00
spmi
ssb
staging Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-08-18 12:33:31 +08:00
target target: Fix target_release_cmd_kref shutdown comp leak 2016-04-12 09:09:02 -07:00
tc
thermal thermal: cpu_cooling: fix improper order during initialization 2016-07-27 09:47:29 -07:00
thunderbolt thunderbolt: Fix double free of drom buffer 2016-06-01 12:15:53 -07:00
tty Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-08-18 12:33:31 +08:00
uio
usb Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-08-11 12:15:55 +08:00
uwb
vfio vfio: fix ioctl error handling 2016-03-09 15:34:50 -08:00
vhost vhost: replace % with & on data path 2015-12-07 17:28:10 +02:00
video Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-05-12 09:27:18 +08:00
virt
virtio virtio_balloon: fix PFN format for virtio-1 2016-07-27 09:47:34 -07:00
vlynq
vme
w1 w1: ds2482: Manage SLPZ pin sleep state 2016-02-16 13:54:18 -08:00
watchdog watchdog: rc32434_wdt: fix ioctl error handling 2016-04-12 09:08:54 -07:00
xen xenbus: don't bail early from xenbus_dev_request_and_reply() 2016-08-10 11:49:26 +02:00
zorro
Kconfig Revert "switch: switch class and GPIO drivers." 2016-05-19 12:32:41 +05:30
Makefile Revert "switch: switch class and GPIO drivers." 2016-05-19 12:32:41 +05:30