[linux] 01/01: Update to 4.15.4

debian-kernel at lists.debian.org debian-kernel at lists.debian.org
Fri Feb 16 21:59:32 UTC 2018


This is an automated email from the git hooks/post-receive script.

carnil pushed a commit to branch master
in repository linux.

commit fc2cf56edbac3128e9c3b6918ca9085f4ec06612
Author: Salvatore Bonaccorso <carnil at debian.org>
Date:   Fri Feb 16 21:50:07 2018 +0100

    Update to 4.15.4
    
    Drop media-dvb-usb-v2-lmedm04-Improve-logic-checking-of-w.patch
    
    Drop media-dvb-usb-v2-lmedm04-move-ts2020-attach-to-dm04_.patch
    
    Drop media-hdpvr-fix-an-error-handling-path-in-hdpvr_prob.patch
    
    Cleanup Debian changelog for 4.15.4
---
 debian/changelog                                   | 204 ++++++++++++++++++++-
 ...sb-v2-lmedm04-Improve-logic-checking-of-w.patch |  83 ---------
 ...sb-v2-lmedm04-move-ts2020-attach-to-dm04_.patch |  67 -------
 ...-fix-an-error-handling-path-in-hdpvr_prob.patch |  98 ----------
 debian/patches/series                              |   3 -
 5 files changed, 203 insertions(+), 252 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 6e1aae0..7829e95 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-linux (4.15.3-1~exp1) UNRELEASED; urgency=medium
+linux (4.15.4-1~exp1) UNRELEASED; urgency=medium
 
   * New upstream release: https://kernelnewbies.org/Linux_4.15
   * New upstream stable update:
@@ -97,6 +97,208 @@ linux (4.15.3-1~exp1) UNRELEASED; urgency=medium
     - net_sched: get rid of rcu_barrier() in tcf_block_put_ext()
     - net: sched: fix use-after-free in tcf_block_put_ext
     - crypto: tcrypt - fix S/G table for test_aead_speed()
+  * New upstream stable update:
+    https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.15.4
+    - cifs: Fix missing put_xid in cifs_file_strict_mmap
+    - cifs: Fix autonegotiate security settings mismatch
+    - CIFS: zero sensitive data when freeing
+    - cpufreq: mediatek: add mediatek related projects into blacklist
+    - [arm64] watchdog: gpio_wdt: set WDOG_HW_RUNNING in gpio_wdt_stop
+    - Revert "drm/i915: mark all device info struct with __initconst"
+    - sched/rt: Use container_of() to get root domain in
+      rto_push_irq_work_func()
+    - sched/rt: Up the root domain ref count when passing it around via IPIs
+    - [arm64] mm: Use non-global mappings for kernel space
+    - [arm64] mm: Temporarily disable ARM64_SW_TTBR0_PAN
+    - [arm64] mm: Move ASID from TTBR0 to TTBR1
+    - [arm64] mm: Remove pre_ttbr0_update_workaround for Falkor erratum #E1003
+    - [arm64] mm: Rename post_ttbr0_update_workaround
+    - [arm64] mm: Fix and re-enable ARM64_SW_TTBR0_PAN
+    - [arm64] mm: Allocate ASIDs in pairs
+    - [arm64] mm: Add arm64_kernel_unmapped_at_el0 helper
+    - [arm64] mm: Invalidate both kernel and user ASIDs when performing TLBI
+    - [arm64] entry: Add exception trampoline page for exceptions from EL0
+    - [arm64] mm: Map entry trampoline into trampoline and kernel page tables
+    - [arm64] entry: Explicitly pass exception level to kernel_ventry macro
+    - [arm64] entry: Hook up entry trampoline to exception vectors
+    - [arm64] erratum: Work around Falkor erratum #E1003 in trampoline code
+    - [arm64] cpu_errata: Add Kryo to Falkor 1003 errata
+    - [arm64] tls: Avoid unconditional zeroing of tpidrro_el0 for native tasks
+    - [arm64] entry: Add fake CPU feature for unmapping the kernel at EL0
+    - [arm64] kaslr: Put kernel vectors address in separate data page
+    - [arm64] use RET instruction for exiting the trampoline
+    - [arm64] Kconfig: Add CONFIG_UNMAP_KERNEL_AT_EL0
+    - [arm64] Kconfig: Reword UNMAP_KERNEL_AT_EL0 kconfig entry
+    - [arm64] Take into account ID_AA64PFR0_EL1.CSV3
+    - [arm64] capabilities: Handle duplicate entries for a capability
+    - [arm64] mm: Introduce TTBR_ASID_MASK for getting at the ASID in the TTBR
+    - [arm64] kpti: Fix the interaction between ASID switching and software PAN
+    - [arm64] cputype: Add MIDR values for Cavium ThunderX2 CPUs
+    - [arm64] Turn on KPTI only on CPUs that need it
+    - [arm64] kpti: Make use of nG dependent on arm64_kernel_unmapped_at_el0()
+    - [arm64] mm: Permit transitioning from Global to Non-Global without BBM
+    - [arm64] kpti: Add ->enable callback to remap swapper using nG mappings
+    - [arm64] Force KPTI to be disabled on Cavium ThunderX
+    - [arm64] entry: Reword comment about post_ttbr_update_workaround
+    - [arm64] idmap: Use "awx" flags for .idmap.text .pushsection directives
+    - [arm64] barrier: Add CSDB macros to control data-value prediction
+    - [arm64] Implement array_index_mask_nospec()
+    - [arm64] Make USER_DS an inclusive limit
+    - [arm64] Use pointer masking to limit uaccess speculation
+    - [arm64] entry: Ensure branch through syscall table is bounded under
+      speculation
+    - [arm64] uaccess: Prevent speculative use of the current addr_limit
+    - [arm64] uaccess: Don't bother eliding access_ok checks in __{get,
+      put}_user
+    - [arm64] uaccess: Mask __user pointers for __arch_{clear, copy_*}_user
+    - [arm64] futex: Mask __user pointers prior to dereference
+    - [arm64] cpufeature: __this_cpu_has_cap() shouldn't stop early
+    - [arm64] Run enable method for errata work arounds on late CPUs
+    - [arm64] cpufeature: Pass capability structure to ->enable callback
+    - drivers/firmware: Expose psci_get_version through psci_ops structure
+    - [arm64] Move post_ttbr_update_workaround to C code
+    - [arm64] Add skeleton to harden the branch predictor against aliasing
+      attacks
+    - [arm64] Move BP hardening to check_and_switch_context
+    - [arm64] KVM: Use per-CPU vector when BP hardening is enabled
+    - [arm64] entry: Apply BP hardening for high-priority synchronous
+      exceptions
+    - [arm64] entry: Apply BP hardening for suspicious interrupts from EL0
+    - [arm64] cputype: Add missing MIDR values for Cortex-A72 and Cortex-A75
+    - [arm64] Implement branch predictor hardening for affected Cortex-A CPUs
+    - [arm64] Implement branch predictor hardening for Falkor
+    - [arm64] Branch predictor hardening for Cavium ThunderX2
+    - [arm64] KVM: Increment PC after handling an SMC trap
+    - [armhf,arm64] KVM: Consolidate the PSCI include files
+    - [armhf,arm64] KVM: Add PSCI_VERSION helper
+    - [armhf,arm64] KVM: Add smccc accessors to PSCI code
+    - [armhf,arm64] KVM: Implement PSCI 1.0 support
+    - [armhf,arm64] KVM: Advertise SMCCC v1.1
+    - [arm64] KVM: Make PSCI_VERSION a fast path
+    - [armhf,arm64] KVM: Turn kvm_psci_version into a static inline
+    - [arm64] KVM: Report SMCCC_ARCH_WORKAROUND_1 BP hardening support
+    - [arm64] KVM: Add SMCCC_ARCH_WORKAROUND_1 fast handling
+    - firmware/psci: Expose PSCI conduit
+    - firmware/psci: Expose SMCCC version through psci_ops
+    - arm/arm64: smccc: Make function identifiers an unsigned quantity
+    - arm/arm64: smccc: Implement SMCCC v1.1 inline primitive
+    - [arm64] Add ARM_SMCCC_ARCH_WORKAROUND_1 BP hardening support
+    - [arm64] Kill PSCI_GET_VERSION as a variant-2 workaround
+    - mtd: cfi: convert inline functions to macros
+    - mtd: nand: brcmnand: Disable prefetch by default
+    - mtd: nand: Fix nand_do_read_oob() return value
+    - mtd: nand: sunxi: Fix ECC strength choice
+    - ubi: Fix race condition between ubi volume creation and udev
+    - ubi: fastmap: Erase outdated anchor PEBs during attach
+    - ubi: block: Fix locking for idr_alloc/idr_remove
+    - ubifs: free the encrypted symlink target
+    - nfs/pnfs: fix nfs_direct_req ref leak when i/o falls back to the mds
+    - nfs41: do not return ENOMEM on LAYOUTUNAVAILABLE
+    - NFS: Add a cond_resched() to nfs_commit_release_pages()
+    - NFS: Fix nfsstat breakage due to LOOKUPP
+    - NFS: commit direct writes even if they fail partially
+    - NFS: reject request for id_legacy key without auxdata
+    - NFS: Fix a race between mmap() and O_DIRECT
+    - nfsd: Detect unhashed stids in nfsd4_verify_open_stid()
+    - kernfs: fix regression in kernfs_fop_write caused by wrong type
+    - ahci: Annotate PCI ids for mobile Intel chipsets as such
+    - ahci: Add PCI ids for Intel Bay Trail, Cherry Trail and Apollo Lake AHCI
+    - ahci: Add Intel Cannon Lake PCH-H PCI ID
+    - crypto: hash - introduce crypto_hash_alg_has_setkey()
+    - crypto: cryptd - pass through absence of ->setkey()
+    - crypto: mcryptd - pass through absence of ->setkey()
+    - crypto: poly1305 - remove ->setkey() method
+    - crypto: hash - annotate algorithms taking optional key
+    - crypto: hash - prevent using keyed hashes without setting key
+    - media: v4l2-ioctl.c: use check_fmt for enum/g/s/try_fmt
+    - media: v4l2-ioctl.c: don't copy back the result for -ENOTTY
+    - media: v4l2-compat-ioctl32.c: add missing VIDIOC_PREPARE_BUF
+    - media: v4l2-compat-ioctl32.c: fix the indentation
+    - media: v4l2-compat-ioctl32.c: move 'helper' functions to __get/put_v4l2_format32
+    - media: v4l2-compat-ioctl32.c: avoid sizeof(type)
+    - media: v4l2-compat-ioctl32.c: copy m.userptr in put_v4l2_plane32
+    - media: v4l2-compat-ioctl32.c: fix ctrl_is_pointer
+    - media: v4l2-compat-ioctl32.c: copy clip list in put_v4l2_window32
+    - media: v4l2-compat-ioctl32.c: drop pr_info for unknown buffer type
+    - media: v4l2-compat-ioctl32.c: don't copy back the result for certain errors
+    - media: v4l2-compat-ioctl32.c: refactor compat ioctl32 logic
+    - media: v4l2-compat-ioctl32.c: make ctrl_is_pointer work for subdevs
+    - crypto: caam - fix endless loop when DECO acquire fails
+    - crypto: sha512-mb - initialize pending lengths correctly
+    - crypto: talitos - fix Kernel Oops on hashing an empty file
+    - [armhf,arm64 KVM: Fix SMCCC handling of unimplemented SMC/HVC calls
+    - [x86] KVM: nVMX: Fix races when sending nested PI while dest
+      enters/leaves L2
+    - [x86] KVM: nVMX: Fix bug of injecting L2 exception into L1
+    - [powerpc*] KVM: PPC: Book3S HV: Make sure we don't re-enter guest
+      without XIVE loaded
+    - [powerpc*] KVM: PPC: Book3S HV: Drop locks before reading guest memory
+    - [armhf,arm64] KVM: Handle CPU_PM_ENTER_FAILED
+    - [powerpc*] KVM: PPC: Book3S PR: Fix broken select due to misspelling
+    - watchdog: imx2_wdt: restore previous timeout after suspend+resume
+    - afs: Add missing afs_put_cell()
+    - afs: Need to clear responded flag in addr cursor
+    - afs: Fix missing cursor clearance
+    - afs: Fix server list handling
+    - btrfs: Handle btrfs_set_extent_delalloc failure in fixup worker
+    - Btrfs: raid56: iterate raid56 internal bio with bio_for_each_segment_all
+    - kasan: don't emit builtin calls when sanitization is off
+    - kasan: rework Kconfig settings
+    - media: dvb_frontend: be sure to init dvb_frontend_handle_ioctl() return
+      code
+    - media: dvb-frontends: fix i2c access helpers for KASAN
+    - media: dt-bindings/media/cec-gpio.txt: mention the CEC/HPD max voltages
+    - media: ts2020: avoid integer overflows on 32 bit machines
+    - media: vivid: fix module load error when enabling fb and no_error_inj=1
+    - media: cxusb, dib0700: ignore XC2028_I2C_FLUSH
+    - fs/proc/kcore.c: use probe_kernel_read() instead of memcpy()
+    - kernel/async.c: revert "async: simplify lowest_in_progress()"
+    - kernel/relay.c: revert "kernel/relay.c: fix potential memory leak"
+    - pipe: actually allow root to exceed the pipe buffer limits
+    - pipe: fix off-by-one error when checking buffer limits
+    - HID: quirks: Fix keyboard + touchpad on Toshiba Click Mini not working
+    - Bluetooth: btsdio: Do not bind to non-removable BCM43341
+    - Revert "Bluetooth: btusb: fix QCA Rome suspend/resume"
+    - Bluetooth: btusb: Restore QCA Rome suspend/resume fix with a "rewritten"
+      version
+    - ipmi: use dynamic memory for DMI driver override
+    - signal/openrisc: Fix do_unaligned_access to send the proper signal
+    - signal/sh: Ensure si_signo is initialized in do_divide_error
+    - alpha: fix crash if pthread_create races with signal delivery
+    - alpha: osf_sys.c: fix put_tv32 regression
+    - alpha: Fix mixed up args in EXC macro in futex operations
+    - alpha: fix reboot on Avanti platform
+    - alpha: fix formating of stack content
+    - xtensa: fix futex_atomic_cmpxchg_inatomic
+    - EDAC, octeon: Fix an uninitialized variable warning
+    - genirq: Make legacy autoprobing work again
+    - pinctrl: intel: Initialize GPIO properly when used through irqchip
+    - pinctrl: mcp23s08: fix irq setup order
+    - pinctrl: sx150x: Unregister the pinctrl on release
+    - pinctrl: sx150x: Register pinctrl before adding the gpiochip
+    - pinctrl: sx150x: Add a static gpio/pinctrl pin range mapping
+    - pktcdvd: Fix pkt_setup_dev() error path
+    - pktcdvd: Fix a recently introduced NULL pointer dereference
+    - blk-mq: quiesce queue before freeing queue
+    - clocksource/drivers/stm32: Fix kernel panic with multiple timers
+    - lib/ubsan.c: s/missaligned/misaligned/
+    - lib/ubsan: add type mismatch handler for new GCC/Clang
+    - objtool: Fix switch-table detection
+    - [arm64] dts: marvell: add Ethernet aliases
+    - drm/i915: Avoid PPS HW/SW state mismatch due to rounding
+    - ACPI: sbshc: remove raw pointer from printk() message
+    - acpi, nfit: fix register dimm error handling
+    - ovl: force r/o mount when index dir creation fails
+    - ovl: fix failure to fsync lower dir
+    - ovl: take mnt_want_write() for work/index dir setup
+    - ovl: take mnt_want_write() for removing impure xattr
+    - ovl: hash directory inodes for fsnotify
+    - devpts: fix error handling in devpts_mntget()
+    - ftrace: Remove incorrect setting of glob search field
+    - scsi: core: Ensure that the SCSI error handler gets woken up
+    - scsi: lpfc: Fix crash after bad bar setup on driver attachment
+    - scsi: cxlflash: Reset command ioasc
+    - rcu: Export init_rcu_head() and destroy_rcu_head() to GPL modules
 
   [ Bastian Blank ]
   * Add cloud-amd64 kernel flavour.
diff --git a/debian/patches/bugfix/all/media-dvb-usb-v2-lmedm04-Improve-logic-checking-of-w.patch b/debian/patches/bugfix/all/media-dvb-usb-v2-lmedm04-Improve-logic-checking-of-w.patch
deleted file mode 100644
index 7942e8d..0000000
--- a/debian/patches/bugfix/all/media-dvb-usb-v2-lmedm04-Improve-logic-checking-of-w.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From: Malcolm Priestley <tvboxspy at gmail.com>
-Date: Tue, 26 Sep 2017 17:10:20 -0400
-Subject: [1/2] media: dvb-usb-v2: lmedm04: Improve logic checking of warm
- start
-Origin: https://git.linuxtv.org/media_tree.git/commit?id=3d932ee27e852e4904647f15b64dedca51187ad7
-Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2017-16538
-
-Warm start has no check as whether a genuine device has
-connected and proceeds to next execution path.
-
-Check device should read 0x47 at offset of 2 on USB descriptor read
-and it is the amount requested of 6 bytes.
-
-Fix for
-kasan: CONFIG_KASAN_INLINE enabled
-kasan: GPF could be caused by NULL-ptr deref or user memory access as
-
-Reported-by: Andrey Konovalov <andreyknvl at google.com>
-Signed-off-by: Malcolm Priestley <tvboxspy at gmail.com>
-Signed-off-by: Mauro Carvalho Chehab <mchehab at s-opensource.com>
----
- drivers/media/usb/dvb-usb-v2/lmedm04.c | 26 ++++++++++++++++++--------
- 1 file changed, 18 insertions(+), 8 deletions(-)
-
---- a/drivers/media/usb/dvb-usb-v2/lmedm04.c
-+++ b/drivers/media/usb/dvb-usb-v2/lmedm04.c
-@@ -494,18 +494,23 @@ static int lme2510_pid_filter(struct dvb
- 
- static int lme2510_return_status(struct dvb_usb_device *d)
- {
--	int ret = 0;
-+	int ret;
- 	u8 *data;
- 
--	data = kzalloc(10, GFP_KERNEL);
-+	data = kzalloc(6, GFP_KERNEL);
- 	if (!data)
- 		return -ENOMEM;
- 
--	ret |= usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev, 0),
--			0x06, 0x80, 0x0302, 0x00, data, 0x0006, 200);
--	info("Firmware Status: %x (%x)", ret , data[2]);
-+	ret = usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev, 0),
-+			      0x06, 0x80, 0x0302, 0x00,
-+			      data, 0x6, 200);
-+	if (ret != 6)
-+		ret = -EINVAL;
-+	else
-+		ret = data[2];
-+
-+	info("Firmware Status: %6ph", data);
- 
--	ret = (ret < 0) ? -ENODEV : data[2];
- 	kfree(data);
- 	return ret;
- }
-@@ -1189,6 +1194,7 @@ static int lme2510_get_adapter_count(str
- static int lme2510_identify_state(struct dvb_usb_device *d, const char **name)
- {
- 	struct lme2510_state *st = d->priv;
-+	int status;
- 
- 	usb_reset_configuration(d->udev);
- 
-@@ -1197,12 +1203,16 @@ static int lme2510_identify_state(struct
- 
- 	st->dvb_usb_lme2510_firmware = dvb_usb_lme2510_firmware;
- 
--	if (lme2510_return_status(d) == 0x44) {
-+	status = lme2510_return_status(d);
-+	if (status == 0x44) {
- 		*name = lme_firmware_switch(d, 0);
- 		return COLD;
- 	}
- 
--	return 0;
-+	if (status != 0x47)
-+		return -EINVAL;
-+
-+	return WARM;
- }
- 
- static int lme2510_get_stream_config(struct dvb_frontend *fe, u8 *ts_type,
diff --git a/debian/patches/bugfix/all/media-dvb-usb-v2-lmedm04-move-ts2020-attach-to-dm04_.patch b/debian/patches/bugfix/all/media-dvb-usb-v2-lmedm04-move-ts2020-attach-to-dm04_.patch
deleted file mode 100644
index 143f870..0000000
--- a/debian/patches/bugfix/all/media-dvb-usb-v2-lmedm04-move-ts2020-attach-to-dm04_.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From: Malcolm Priestley <tvboxspy at gmail.com>
-Date: Tue, 26 Sep 2017 17:10:21 -0400
-Subject: [2/2] media: dvb-usb-v2: lmedm04: move ts2020 attach to
- dm04_lme2510_tuner
-Origin: https://git.linuxtv.org/media_tree.git/commit?id=7bf7a7116ed313c601307f7e585419369926ab05
-Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2017-16538
-
-When the tuner was split from m88rs2000 the attach function is in wrong
-place.
-
-Move to dm04_lme2510_tuner to trap errors on failure and removing
-a call to lme_coldreset.
-
-Prevents driver starting up without any tuner connected.
-
-Fixes to trap for ts2020 fail.
-LME2510(C): FE Found M88RS2000
-ts2020: probe of 0-0060 failed with error -11
-...
-LME2510(C): TUN Found RS2000 tuner
-kasan: CONFIG_KASAN_INLINE enabled
-kasan: GPF could be caused by NULL-ptr deref or user memory access
-general protection fault: 0000 [#1] PREEMPT SMP KASAN
-
-Reported-by: Andrey Konovalov <andreyknvl at google.com>
-Signed-off-by: Malcolm Priestley <tvboxspy at gmail.com>
-Tested-by: Andrey Konovalov <andreyknvl at google.com>
-Signed-off-by: Mauro Carvalho Chehab <mchehab at s-opensource.com>
----
- drivers/media/usb/dvb-usb-v2/lmedm04.c | 13 ++++++-------
- 1 file changed, 6 insertions(+), 7 deletions(-)
-
---- a/drivers/media/usb/dvb-usb-v2/lmedm04.c
-+++ b/drivers/media/usb/dvb-usb-v2/lmedm04.c
-@@ -1076,8 +1076,6 @@ static int dm04_lme2510_frontend_attach(
- 
- 		if (adap->fe[0]) {
- 			info("FE Found M88RS2000");
--			dvb_attach(ts2020_attach, adap->fe[0], &ts2020_config,
--					&d->i2c_adap);
- 			st->i2c_tuner_gate_w = 5;
- 			st->i2c_tuner_gate_r = 5;
- 			st->i2c_tuner_addr = 0x60;
-@@ -1143,17 +1141,18 @@ static int dm04_lme2510_tuner(struct dvb
- 			ret = st->tuner_config;
- 		break;
- 	case TUNER_RS2000:
--		ret = st->tuner_config;
-+		if (dvb_attach(ts2020_attach, adap->fe[0],
-+			       &ts2020_config, &d->i2c_adap))
-+			ret = st->tuner_config;
- 		break;
- 	default:
- 		break;
- 	}
- 
--	if (ret)
-+	if (ret) {
- 		info("TUN Found %s tuner", tun_msg[ret]);
--	else {
--		info("TUN No tuner found --- resetting device");
--		lme_coldreset(d);
-+	} else {
-+		info("TUN No tuner found");
- 		return -ENODEV;
- 	}
- 
diff --git a/debian/patches/bugfix/all/media-hdpvr-fix-an-error-handling-path-in-hdpvr_prob.patch b/debian/patches/bugfix/all/media-hdpvr-fix-an-error-handling-path-in-hdpvr_prob.patch
deleted file mode 100644
index 88ba95e..0000000
--- a/debian/patches/bugfix/all/media-hdpvr-fix-an-error-handling-path-in-hdpvr_prob.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From: Arvind Yadav <arvind.yadav.cs at gmail.com>
-Date: Fri, 22 Sep 2017 09:07:06 -0400
-Subject: media: hdpvr: Fix an error handling path in hdpvr_probe()
-Origin: https://git.linuxtv.org/media_tree.git/commit?id=c0f71bbb810237a38734607ca4599632f7f5d47f
-Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2017-16644
-
-Here, hdpvr_register_videodev() is responsible for setup and
-register a video device. Also defining and initializing a worker.
-hdpvr_register_videodev() is calling by hdpvr_probe at last.
-So no need to flush any work here.
-Unregister v4l2, free buffers and memory. If hdpvr_probe() will fail.
-
-Signed-off-by: Arvind Yadav <arvind.yadav.cs at gmail.com>
-Reported-by: Andrey Konovalov <andreyknvl at google.com>
-Tested-by: Andrey Konovalov <andreyknvl at google.com>
-Signed-off-by: Hans Verkuil <hans.verkuil at cisco.com>
-Signed-off-by: Mauro Carvalho Chehab <mchehab at s-opensource.com>
----
- drivers/media/usb/hdpvr/hdpvr-core.c | 26 +++++++++++++++-----------
- 1 file changed, 15 insertions(+), 11 deletions(-)
-
---- a/drivers/media/usb/hdpvr/hdpvr-core.c
-+++ b/drivers/media/usb/hdpvr/hdpvr-core.c
-@@ -292,7 +292,7 @@ static int hdpvr_probe(struct usb_interf
- 	/* register v4l2_device early so it can be used for printks */
- 	if (v4l2_device_register(&interface->dev, &dev->v4l2_dev)) {
- 		dev_err(&interface->dev, "v4l2_device_register failed\n");
--		goto error;
-+		goto error_free_dev;
- 	}
- 
- 	mutex_init(&dev->io_mutex);
-@@ -301,7 +301,7 @@ static int hdpvr_probe(struct usb_interf
- 	dev->usbc_buf = kmalloc(64, GFP_KERNEL);
- 	if (!dev->usbc_buf) {
- 		v4l2_err(&dev->v4l2_dev, "Out of memory\n");
--		goto error;
-+		goto error_v4l2_unregister;
- 	}
- 
- 	init_waitqueue_head(&dev->wait_buffer);
-@@ -339,13 +339,13 @@ static int hdpvr_probe(struct usb_interf
- 	}
- 	if (!dev->bulk_in_endpointAddr) {
- 		v4l2_err(&dev->v4l2_dev, "Could not find bulk-in endpoint\n");
--		goto error;
-+		goto error_put_usb;
- 	}
- 
- 	/* init the device */
- 	if (hdpvr_device_init(dev)) {
- 		v4l2_err(&dev->v4l2_dev, "device init failed\n");
--		goto error;
-+		goto error_put_usb;
- 	}
- 
- 	mutex_lock(&dev->io_mutex);
-@@ -353,7 +353,7 @@ static int hdpvr_probe(struct usb_interf
- 		mutex_unlock(&dev->io_mutex);
- 		v4l2_err(&dev->v4l2_dev,
- 			 "allocating transfer buffers failed\n");
--		goto error;
-+		goto error_put_usb;
- 	}
- 	mutex_unlock(&dev->io_mutex);
- 
-@@ -361,7 +361,7 @@ static int hdpvr_probe(struct usb_interf
- 	retval = hdpvr_register_i2c_adapter(dev);
- 	if (retval < 0) {
- 		v4l2_err(&dev->v4l2_dev, "i2c adapter register failed\n");
--		goto error;
-+		goto error_free_buffers;
- 	}
- 
- 	client = hdpvr_register_ir_rx_i2c(dev);
-@@ -394,13 +394,17 @@ static int hdpvr_probe(struct usb_interf
- reg_fail:
- #if IS_ENABLED(CONFIG_I2C)
- 	i2c_del_adapter(&dev->i2c_adapter);
-+error_free_buffers:
- #endif
-+	hdpvr_free_buffers(dev);
-+error_put_usb:
-+	usb_put_dev(dev->udev);
-+	kfree(dev->usbc_buf);
-+error_v4l2_unregister:
-+	v4l2_device_unregister(&dev->v4l2_dev);
-+error_free_dev:
-+	kfree(dev);
- error:
--	if (dev) {
--		flush_work(&dev->worker);
--		/* this frees allocated memory */
--		hdpvr_delete(dev);
--	}
- 	return retval;
- }
- 
diff --git a/debian/patches/series b/debian/patches/series
index 6cd032e..cf0df77 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -119,9 +119,6 @@ features/all/lockdown/arm64-add-kernel-config-option-to-lock-down-when.patch
 
 # Security fixes
 debian/i386-686-pae-pci-set-pci-nobios-by-default.patch
-bugfix/all/media-dvb-usb-v2-lmedm04-Improve-logic-checking-of-w.patch
-bugfix/all/media-dvb-usb-v2-lmedm04-move-ts2020-attach-to-dm04_.patch
-bugfix/all/media-hdpvr-fix-an-error-handling-path-in-hdpvr_prob.patch
 
 # Fix exported symbol versions
 bugfix/all/module-disable-matching-missing-version-crc.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git



More information about the Kernel-svn-changes mailing list