Update to 4.5.3

Drop changes which were included or superceded upstream.

Fix ABI changes.
This commit is contained in:
Ben Hutchings 2016-05-06 22:52:01 +01:00
parent efa71edaa4
commit 8b31e1c0a6
11 changed files with 304 additions and 248 deletions

181
debian/changelog vendored
View File

@ -1,4 +1,183 @@
linux (4.5.2-2) UNRELEASED; urgency=medium
linux (4.5.3-1) UNRELEASED; urgency=medium
* New upstream stable update:
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.5.3
- mmc: block: Use the mmc host device index as the mmcblk device index
- block: partition: initialize percpuref before sending out KOBJ_ADD
- block: loop: fix filesystem corruption in case of aio/dio
- [arm64] efi: Don't apply MEMBLOCK_NOMAP to UEFI memory map mapping
- [x86] mce: Avoid using object after free in genpool
- [x86] kvm: do not leak guest xcr0 into host interrupt handlers
- [arm*] KVM: Handle forward time correction gracefully
- [armhf] mvebu: Correct unit address for linksys
- [armhf] OMAP2: Fix up interconnect barrier initialization for DRA7
- [armhf] OMAP2+: hwmod: Fix updating of sysconfig register
- assoc_array: don't call compare_object() on a node
- [x86] usb: xhci: applying XHCI_PME_STUCK_QUIRK to Intel BXT B0 host
- xhci: resume USB 3 roothub first
- usb: host: xhci: add a new quirk XHCI_NO_64BIT_SUPPORT
- usb: xhci: fix wild pointers in xhci_mem_cleanup
- xhci: fix 10 second timeout on removal of PCI hotpluggable xhci
controllers
- usb: host: xhci-plat: Make enum xhci_plat_type start at a non zero value
- usb: hcd: out of bounds access in for_each_companion
- usb: gadget: f_fs: Fix use-after-free
- dm cache metadata: fix READ_LOCK macros and cleanup WRITE_LOCK macros
- dm cache metadata: fix cmd_read_lock() acquiring write lock
- lib: lz4: fixed zram with lz4 on big endian machines
- debugfs: Make automount point inodes permanently empty
- dmaengine: dw: fix master selection
- [armhf] dmaengine: omap-dma: Fix polled channel completion detection
and handling
- dmaengine: edma: Remove dynamic TPTC power management feature
- mtd: nand: pxa3xx_nand: fix dmaengine initialization
- sched/cgroup: Fix/cleanup cgroup teardown/init
- [x86] EDAC, sb_edac.c: Repair damage introduced when "fixing"
channel address
- [x86] EDAC, sb_edac.c: Take account of channel hashing when needed
- ALSA: hda - Don't trust the reported actual power state
- [x86] ALSA: hda/realtek - Add ALC3234 headset mode for Optiplex 9020m
- ALSA: hda - Keep powering up ADCs on Cirrus codecs
- [x86] ALSA: hda - add PCI ID for Intel Broxton-T
- ALSA: pcxhr: Fix missing mutex unlock
- [x86] ALSA: hda - Add dock support for ThinkPad X260
- [x86] ALSA: hda - Update BCLK also at hotplug for i915 HSW/BDW
- asm-generic/futex: Re-enable preemption in futex_atomic_cmpxchg_inatomic()
- futex: Handle unlock_pi race gracefully
- futex: Acknowledge a new waiter in counter before plist
- drm/nouveau/core: use vzalloc for allocating ramht
- drm/qxl: fix cursor position with non-zero hotspot
- [x86] drm/i915: Fix race condition in intel_dp_destroy_mst_connector()
- Revert "drm/radeon: disable runtime pm on PX laptops without dGPU
power control"
- [armhf] Revert "PCI: imx6: Add support for active-low reset GPIO"
- usbvision: revert commit 588afcc1
- [x86] Revert "drm/amdgpu: disable runtime pm on PX laptops without dGPU
power control"
- cpufreq: intel_pstate: Fix processing for turbo activation ratio
- [s390x] pci: add extra padding to function measurement block
- iwlwifi: pcie: lower the debug level for RSA semaphore access
- iwlwifi: mvm: fix memory leak in paging
- crypto: rsa-pkcs1pad - fix dst len
- [x86] crypto: ccp - Prevent information leakage on export
- crypto: sha1-mb - use corrcet pointer while completing jobs
- [powerpc*] scan_features() updates incorrect bits for REAL_LE
- [powerpc*] Update cpu_user_features2 in scan_features()
- [powerpc*] Update TM user feature bits in scan_features()
- nl80211: check netlink protocol in socket release notification
- netlink: don't send NETLINK_URELEASE for unbound sockets
- pinctrl: single: Fix pcs_parse_bits_in_pinctrl_entry to use __ffs than ffs
- [x86] iommu/amd: Fix checking of pci dma aliases
- iommu/dma: Restore scatterlist offsets correctly
- [x86] drm/amdgpu: when suspending, if uvd/vce was running. need to cancel
delay work.
- [x86] drm/amdgpu: use defines for CRTCs and AMFT blocks
- [x86] drm/amdgpu: bump the afmt limit for CZ, ST, Polaris
- [x86] amdgpu/uvd: add uvd fw version for amdgpu
- [x86] drm/amdgpu: fix regression on CIK (v2)
- drm/radeon: add a quirk for a XFX R9 270X
- drm/radeon: fix initial connector audio value
- drm/radeon: forbid mapping of userptr bo through radeon device file
- drm/radeon: fix vertical bars appear on monitor (v2)
- [mips*el/loongson-3] drm: Loongson-3 doesn't fully support wc memory
- drm/nouveau/gr/gf100: select a stream master to fixup tfb offset queries
- drm/dp/mst: Validate port in drm_dp_payload_send_msg()
- drm/dp/mst: Restore primary hub guid on resume
- drm/dp/mst: Get validated port ref in drm_dp_update_payload_part1()
- [x86] drm/i915: Pass the correct encoder to intel_ddi_clk_select()
with MST
- [x86] drm/i915: Cleanup phys status page too
- [x86] drm/i915: Use the active wm config for merging on ILK-BDW
- [x86] drm/i915: Start WM computation from scratch on ILK-BDW
- [x86] drm/i915: skl_update_scaler() wants a rotation bitmask instead of
bit number
- [x86] drm/amdkfd: uninitialized variable in
dbgdev_wave_control_set_registers()
- [x86] drm/i915/skl: Fix DMC load on Skylake J0 and K0
- [x86] drm/i915/skl: Fix spurious gpu hang with gt3/gt4 revs
- [x86] drm/i915: Fixup the free space logic in ring_prepare
- [x86] drm/i915: Force ringbuffers to not be at offset 0
- [x86] drm/i915: Use fw_domains_put_with_fifo() on HSW
- drm/ttm: fix kref count mess in ttm_bo_move_to_lru_tail
- [x86] perf intel-pt: Fix segfault tracing transactions
- [armhf] i2c: exynos5: Fix possible ABBA deadlock by keeping I2C
clock prepared
- ACPICA / Interpreter: Fix a regression triggered because of wrong Linux
ECDT support
- [x86] mmc: sdhci-acpi: Reduce Baytrail eMMC/SD/SDIO hangs
- [x86] toshiba_acpi: Fix regression caused by hotkey enabling value
- [x86] EDAC: i7core, sb_edac: Don't return NOTIFY_BAD from mce_decoder
callback
- [x86] ASoC: ssm4567: Reset device before regcache_sync()
- [x86] ASoC: rt5640: Correct the digital interface data select
- vb2-memops: Fix over allocation of frame vectors
- media: vb2: Fix regression on poll() for RW mode
- videobuf2-core: Check user space planes array in dqbuf
- videobuf2-v4l2: Verify planes array in buffer dequeueing
- v4l2-dv-timings.h: fix polarity for 4k formats
- IB/core: Fix oops in ib_cache_gid_set_default_gid
- mwifiex: fix IBSS data path issue.
- IB/mlx5: Expose correct max_sge_rd limit
- IB/security: Restrict use of the write() interface
- efi: Fix out-of-bounds read in variable_matches()
- efi: Expose non-blocking set_variable() wrapper to efivars
- [x86] apic: Handle zero vector gracefully in clear_vector_irq()
- workqueue: fix ghost PENDING flag while doing MQ IO
- slub: clean up code for kmem cgroup support to kmem_cache_free_bulk
- cgroup, cpuset: replace cpuset_post_attach_flush() with
cgroup_subsys->post_attach callback
- memcg: relocate charge moving from ->attach to ->post_attach
- mm: exclude HugeTLB pages from THP page_mapped() logic
- mm/huge_memory: replace VM_NO_THP VM_BUG_ON with actual VMA check
- numa: fix /proc/<pid>/numa_maps for THP
- mm: vmscan: reclaim highmem zone if buffer_heads is over limit
- mm/hwpoison: fix wrong num_poisoned_pages accounting
- locking/mcs: Fix mcs_spin_lock() ordering
- [armhf] spi/rockchip: Make sure spi clk is on in rockchip_spi_set_cs
- [armhf] irqchip/sunxi-nmi: Fix error check of of_io_request_and_map()
- [armhf] regulator: s5m8767: fix get_register() error handling
- scsi_dh: force modular build if SCSI is a module
- lib/mpi: Endianness fix
- [x86] misc: mic/scif: fix wrap around tests
- PM / OPP: Initialize u_volt_min/max to a valid value
- PM / Domains: Fix removal of a subdomain
- drivers/misc/ad525x_dpot: AD5274 fix RDAC read back errors
- perf evlist: Reference count the cpu and thread maps at set_maps()
- perf tools: Fix perf script python database export crash
- [x86] mm/kmmio: Fix mmiotrace for hugepages
- ext4: fix NULL pointer dereference in ext4_mark_inode_dirty()
- f2fs crypto: fix corrupted symlink in encrypted case
- f2fs: slightly reorganize read_raw_super_block
- f2fs: cover large section in sanity check of super
- ext4/fscrypto: avoid RCU lookup in d_revalidate
- f2fs: do f2fs_balance_fs when block is allocated
- f2fs: don't need to call set_page_dirty for io error
- f2fs crypto: handle unexpected lack of encryption keys
- f2fs crypto: make sure the encryption info is initialized on opendir(2)
- bus: uniphier-system-bus: fix condition of overlap check
- mtd: spi-nor: remove micron_quad_enable()
- mtd: brcmnand: Fix v7.1 register offsets
- mtd: nand: Drop mtd.owner requirement in nand_scan
- perf hists browser: Only offer symbol scripting when a symbol is under
the cursor
- perf hists browser: Fix dump to show correct callchain style
- perf tools: handle spaces in file names obtained from /proc/pid/maps
- NTB: Remove _addr functions from ntb_hw_amd
- perf/core: Don't leak event in the syscall error path
- perf/core: Fix time tracking bug with multiplexing
- perf hists: Fix determination of a callchain node's childlessness
- [armhf] OMAP3: Add cpuidle parameters table for omap3430
- [armhf] dts: armada-375: use armada-370-sata for SATA
- [armhf] dts: am33xx: Fix GPMC dma properties
- btrfs: fix memory leak of fs_info in block group cache
- btrfs: cleaner_kthread() doesn't need explicit freeze
- [armhf] thermal: rockchip: fix a impossible condition caused by the
warning
- sunrpc/cache: drop reference when sunrpc_cache_pipe_upcall() detects
a race
- megaraid_sas: add missing curly braces in ioctl handler
- tpm: fix checks for policy digest existence in tpm2_seal_trusted()
- tpm: fix: set continueSession attribute for the unseal operation
[ Uwe Kleine-König ]
* [armhf] enable I2C_MUX_PCA954x, MMC_SDHCI_PXAV3, AHCI_MVEBU

View File

@ -1,5 +1,7 @@
[abi]
abiname: 2
ignore-changes:
module:sound/hda/*
[base]
arches:

View File

@ -1,45 +0,0 @@
From: Ignat Korchagin <ignat.korchagin@gmail.com>
Date: Thu, 17 Mar 2016 18:00:29 +0000
Subject: USB: usbip: fix potential out-of-bounds write
Origin: https://git.kernel.org/linus/b348d7dddb6c4fbfc810b7a0626e8ec9e29f7cbb
Fix potential out-of-bounds write to urb->transfer_buffer
usbip handles network communication directly in the kernel. When receiving a
packet from its peer, usbip code parses headers according to protocol. As
part of this parsing urb->actual_length is filled. Since the input for
urb->actual_length comes from the network, it should be treated as untrusted.
Any entity controlling the network may put any value in the input and the
preallocated urb->transfer_buffer may not be large enough to hold the data.
Thus, the malicious entity is able to write arbitrary data to kernel memory.
Signed-off-by: Ignat Korchagin <ignat.korchagin@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/usb/usbip/usbip_common.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/usb/usbip/usbip_common.c b/drivers/usb/usbip/usbip_common.c
index facaaf0..e40da77 100644
--- a/drivers/usb/usbip/usbip_common.c
+++ b/drivers/usb/usbip/usbip_common.c
@@ -741,6 +741,17 @@ int usbip_recv_xbuff(struct usbip_device *ud, struct urb *urb)
if (!(size > 0))
return 0;
+ if (size > urb->transfer_buffer_length) {
+ /* should not happen, probably malicious packet */
+ if (ud->side == USBIP_STUB) {
+ usbip_event_add(ud, SDEV_EVENT_ERROR_TCP);
+ return 0;
+ } else {
+ usbip_event_add(ud, VDEV_EVENT_ERROR_TCP);
+ return -EPIPE;
+ }
+ }
+
ret = usbip_recv(ud->tcp_socket, urb->transfer_buffer, size);
if (ret != size) {
dev_err(&urb->dev->dev, "recv xbuf, %d\n", ret);
--
2.1.4

View File

@ -1,53 +0,0 @@
From: Vladis Dronov <vdronov@redhat.com>
Date: Thu, 31 Mar 2016 10:53:42 -0700
Subject: Input: gtco - fix crash on detecting device without endpoints
Origin: https://git.kernel.org/linus/162f98dea487206d9ab79fc12ed64700667a894d
The gtco driver expects at least one valid endpoint. If given malicious
descriptors that specify 0 for the number of endpoints, it will crash in
the probe function. Ensure there is at least one endpoint on the interface
before using it.
Also let's fix a minor coding style issue.
The full correct report of this issue can be found in the public
Red Hat Bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=1283385
Reported-by: Ralf Spenneberg <ralf@spenneberg.net>
Signed-off-by: Vladis Dronov <vdronov@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
drivers/input/tablet/gtco.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/input/tablet/gtco.c b/drivers/input/tablet/gtco.c
index 3a7f3a4a4396..7c18249d6c8e 100644
--- a/drivers/input/tablet/gtco.c
+++ b/drivers/input/tablet/gtco.c
@@ -858,6 +858,14 @@ static int gtco_probe(struct usb_interface *usbinterface,
goto err_free_buf;
}
+ /* Sanity check that a device has an endpoint */
+ if (usbinterface->altsetting[0].desc.bNumEndpoints < 1) {
+ dev_err(&usbinterface->dev,
+ "Invalid number of endpoints\n");
+ error = -EINVAL;
+ goto err_free_urb;
+ }
+
/*
* The endpoint is always altsetting 0, we know this since we know
* this device only has one interrupt endpoint
@@ -879,7 +887,7 @@ static int gtco_probe(struct usb_interface *usbinterface,
* HID report descriptor
*/
if (usb_get_extra_descriptor(usbinterface->cur_altsetting,
- HID_DEVICE_TYPE, &hid_desc) != 0){
+ HID_DEVICE_TYPE, &hid_desc) != 0) {
dev_err(&usbinterface->dev,
"Can't retrieve exta USB descriptor to get hid report descriptor length\n");
error = -EIO;

View File

@ -1,42 +0,0 @@
From: Tejun Heo <tj@kernel.org>
Subject: memcg: remove lru_add_drain_all() invocation from mem_cgroup_move_charge()
Date: Thu, 21 Apr 2016 11:56:52 -0400
Origin: http://permalink.gmane.org/gmane.linux.kernel.cgroups/15918
Bug-Debian: https://bugs.debian.org/822084
mem_cgroup_move_charge() invokes lru_add_drain_all() so that the pvec
pages can be moved too. lru_add_drain_all() schedules and flushes
work items on system_wq which depends on being able to create new
kworkers to make forward progress. Since 1ed1328792ff ("sched,
cgroup: replace signal_struct->group_rwsem with a global
percpu_rwsem"), a new task can't be created while in the cgroup
migration path and the described lru_add_drain_all() invocation can
easily lead to a deadlock.
Charge moving is best-effort and whether the pvec pages are migrated
or not doesn't really matter. Don't call it during charge moving.
Eventually, we want to move the actual charge moving outside the
migration path.
Signed-off-by: Tejun Heo <tj@kernel.org>
Debugged-and-tested-by: Petr Mladek <pmladek@suse.com>
Reported-by: Cyril Hrubis <chrubis@suse.cz>
Reported-by: Johannes Weiner <hannes@cmpxchg.org>
Suggested-by: Michal Hocko <mhocko@kernel.org>
Acked-by: Michal Hocko <mhocko@suse.com>
Fixes: 1ed1328792ff ("sched, cgroup: replace signal_struct->group_rwsem with a global percpu_rwsem")
Cc: stable@vger.kernel.org # v4.4+
---
mm/memcontrol.c | 1 -
1 file changed, 1 deletion(-)
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -4922,7 +4922,6 @@ static void mem_cgroup_move_charge(struc
.mm = mm,
};
- lru_add_drain_all();
/*
* Signal mem_cgroup_begin_page_stat() to take the memcg's
* move_lock while we're moving its pages to another memcg.

View File

@ -1,29 +0,0 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Mon, 24 Jun 2013 05:28:00 +0100
Subject: misc/bmp085: Enable building as a module
Forwarded: http://thread.gmane.org/gmane.linux.kernel/1514281
Commit 985087dbcb02 'misc: add support for bmp18x chips to the bmp085
driver' changed the BMP085 config symbol to a boolean. I see no
reason why the shared code cannot be built as a module, so change it
back to tristate.
Cc: Eric Andersson <eric.andersson@unixphere.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
drivers/misc/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index c002d86..7a68184 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -451,7 +451,7 @@ config ARM_CHARLCD
still useful.
config BMP085
- bool
+ tristate
depends on SYSFS
config BMP085_I2C

View File

@ -1,73 +0,0 @@
From: Jan Beulich <jbeulich@suse.com>
Date: Thu, 14 Apr 2016 20:38:30 +0200
Subject: x86/xen: suppress hugetlbfs in PV guests
Origin: http://xenbits.xen.org/xsa/xsa174.patch
Huge pages are not normally available to PV guests. Not suppressing
hugetlbfs use results in an endless loop of page faults when user mode
code tries to access a hugetlbfs mapped area (since the hypervisor
denies such PTEs to be created, but error indications can't be
propagated out of xen_set_pte_at(), just like for various of its
siblings), and - once killed in an oops like this:
kernel BUG at .../fs/hugetlbfs/inode.c:428!
invalid opcode: 0000 [#1] SMP
Modules linked in: ...
Supported: Yes
CPU: 2 PID: 6088 Comm: hugetlbfs Tainted: G W 4.4.0-2016-01-20-pv #2
Hardware name: ...
task: ffff8808059205c0 ti: ffff880803c84000 task.ti: ffff880803c84000
RIP: e030:[<ffffffff811c333b>] [<ffffffff811c333b>] remove_inode_hugepages+0x25b/0x320
RSP: e02b:ffff880803c879a8 EFLAGS: 00010202
RAX: 000000000077a4db RBX: ffffea001acff000 RCX: 0000000078417d38
RDX: 0000000000000000 RSI: 000000007e154fa7 RDI: ffff880805d70960
RBP: 0000000000000960 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000
R13: ffff880807486018 R14: 0000000000000000 R15: ffff880803c87af0
FS: 00007f85fa8b8700(0000) GS:ffff88080b640000(0000) knlGS:0000000000000000
CS: e033 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00007f85fa000000 CR3: 0000000001a0a000 CR4: 0000000000040660
Stack:
ffff880000000fb0 ffff880803c87a18 ffff880803c87ae8 ffff8808059205c0
ffff880803c87af0 ffff880803c87ae8 ffff880807486018 0000000000000000
ffffffff81bf6e60 ffff880807486168 000003ffffffffff 0000000003c87758
Call Trace:
[<ffffffff811c3415>] hugetlbfs_evict_inode+0x15/0x40
[<ffffffff81167b3d>] evict+0xbd/0x1b0
[<ffffffff8116514a>] __dentry_kill+0x19a/0x1f0
[<ffffffff81165b0e>] dput+0x1fe/0x220
[<ffffffff81150535>] __fput+0x155/0x200
[<ffffffff81079fc0>] task_work_run+0x60/0xa0
[<ffffffff81063510>] do_exit+0x160/0x400
[<ffffffff810637eb>] do_group_exit+0x3b/0xa0
[<ffffffff8106e8bd>] get_signal+0x1ed/0x470
[<ffffffff8100f854>] do_signal+0x14/0x110
[<ffffffff810030e9>] prepare_exit_to_usermode+0xe9/0xf0
[<ffffffff814178a5>] retint_user+0x8/0x13
This is XSA-174.
Reported-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Cc: stable@vger.kernel.org
---
v2: Make Xen-inspecific, by using cpu_has_pse.
---
arch/x86/include/asm/hugetlb.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/x86/include/asm/hugetlb.h b/arch/x86/include/asm/hugetlb.h
index f8a29d2..e6a8613 100644
--- a/arch/x86/include/asm/hugetlb.h
+++ b/arch/x86/include/asm/hugetlb.h
@@ -4,6 +4,7 @@
#include <asm/page.h>
#include <asm-generic/hugetlb.h>
+#define hugepages_supported() cpu_has_pse
static inline int is_hugepage_only_range(struct mm_struct *mm,
unsigned long addr,
--
2.8.0.rc3

View File

@ -0,0 +1,32 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Sat, 07 May 2016 13:39:16 +0100
Subject: cgroups: Fix ABI change in 4.5.3
Forwarded: not-needed
The cgroup_subsys structure is instantiated statically in non-modular
code, and should not be used by modules (or at least, none of its
operations should be invoked from modules). So move the new member
to the end of the structure and hide it from genksyms.
---
--- a/include/linux/cgroup-defs.h
+++ b/include/linux/cgroup-defs.h
@@ -442,7 +442,6 @@ struct cgroup_subsys {
int (*can_attach)(struct cgroup_taskset *tset);
void (*cancel_attach)(struct cgroup_taskset *tset);
void (*attach)(struct cgroup_taskset *tset);
- void (*post_attach)(void);
int (*can_fork)(struct task_struct *task);
void (*cancel_fork)(struct task_struct *task);
void (*fork)(struct task_struct *task);
@@ -501,6 +500,10 @@ struct cgroup_subsys {
* specifies the mask of subsystems that this one depends on.
*/
unsigned int depends_on;
+
+#ifndef __GENKSYMS__
+ void (*post_attach)(void);
+#endif
};
extern struct percpu_rw_semaphore cgroup_threadgroup_rwsem;

View File

@ -0,0 +1,20 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Fri, 06 May 2016 22:59:30 +0100
Subject: IB: Fix ABI change in 4.5.3
Forwarded: not-needed
Hide the new #include from genksyms.
---
--- a/include/rdma/ib.h
+++ b/include/rdma/ib.h
@@ -34,7 +34,9 @@
#define _RDMA_IB_H
#include <linux/types.h>
+#ifndef __GENKSYMS__
#include <linux/sched.h>
+#endif
struct ib_addr {
union {

View File

@ -0,0 +1,65 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Sat, 07 May 2016 01:39:00 +0100
Subject: videobuf2: Avoid ABI change in 4.5.3
Forwarded: not-needed
The new flag in vb2_queue doesn't grow the structure but only uses
up padding, so just hide it from genksyms.
Move the new member of vb2_buf_ops to the end and add another flag
in vb2_queue to indicate whether it's valid. Hide them both from
genksyms. Set and check the flag as necessary.
---
--- a/drivers/media/v4l2-core/videobuf2-core.c
+++ b/drivers/media/v4l2-core/videobuf2-core.c
@@ -1665,7 +1665,8 @@ static int __vb2_get_done_vb(struct vb2_
* Only remove the buffer from done_list if v4l2_buffer can handle all
* the planes.
*/
- ret = call_bufop(q, verify_planes_array, *vb, pb);
+ ret = q->have_verify_planes_array ?
+ call_bufop(q, verify_planes_array, *vb, pb) : 0;
if (!ret)
list_del(&(*vb)->done_entry);
spin_unlock_irqrestore(&q->done_lock, flags);
--- a/drivers/media/v4l2-core/videobuf2-v4l2.c
+++ b/drivers/media/v4l2-core/videobuf2-v4l2.c
@@ -767,6 +767,7 @@ int vb2_queue_init(struct vb2_queue *q)
q->buf_struct_size = sizeof(struct vb2_v4l2_buffer);
q->buf_ops = &v4l2_buf_ops;
+ q->have_verify_planes_array = 1;
q->is_multiplanar = V4L2_TYPE_IS_MULTIPLANAR(q->type);
q->is_output = V4L2_TYPE_IS_OUTPUT(q->type);
q->copy_timestamp = (q->timestamp_flags & V4L2_BUF_FLAG_TIMESTAMP_MASK)
--- a/include/media/videobuf2-core.h
+++ b/include/media/videobuf2-core.h
@@ -387,11 +387,14 @@ struct vb2_ops {
* the vb2_buffer struct.
*/
struct vb2_buf_ops {
- int (*verify_planes_array)(struct vb2_buffer *vb, const void *pb);
void (*fill_user_buffer)(struct vb2_buffer *vb, void *pb);
int (*fill_vb2_buffer)(struct vb2_buffer *vb, const void *pb,
struct vb2_plane *planes);
void (*copy_timestamp)(struct vb2_buffer *vb, const void *pb);
+#ifndef __GENKSYMS__
+ /* Only valid if vb2_queue::have_verify_planes_array is set */
+ int (*verify_planes_array)(struct vb2_buffer *vb, const void *pb);
+#endif
};
/**
@@ -470,7 +473,11 @@ struct vb2_queue {
unsigned fileio_read_once:1;
unsigned fileio_write_immediately:1;
unsigned allow_zero_bytesused:1;
+#ifndef __GENKSYMS__
unsigned quirk_poll_must_check_waiting_for_buffers:1;
+ unsigned have_verify_planes_array:1;
+ /* 27 bits spare */
+#endif
struct mutex *lock;
void *owner;

10
debian/patches/series vendored
View File

@ -73,7 +73,6 @@ features/arm/device-tree/ARM-dts-kirkwood-add-kirkwood-nsa320.dtb-to-Makefile.pa
features/arm/device-tree/ARM-dts-orion5x-add-device-tree-for-kurobox-pro.patch
# Miscellaneous bug fixes
bugfix/all/misc-bmp085-Enable-building-as-a-module.patch
bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch
bugfix/all/disable-some-marvell-phys.patch
bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch
@ -81,7 +80,6 @@ bugfix/all/mm-zone_device-depends-on-sparsemem_vmemmap.patch
bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch
bugfix/all/atl2-disable-unimplemented-scatter-gather-feature.patch
bugfix/all/module-invalidate-signatures-on-force-loaded-modules.patch
bugfix/all/memcg-remove-lru_add_drain_all-invocation-from-mem_cgroup_move_charge.patch
# Miscellaneous features
features/all/mm-exclude-zone_device-from-gfp_zone_table.patch
@ -129,11 +127,13 @@ bugfix/all/netfilter-x_tables-check-for-size-overflow.patch
bugfix/all/netfilter-x_tables-validate-e-target_offset-early.patch
bugfix/all/netfilter-x_tables-make-sure-e-next_offset-covers-re.patch
bugfix/x86/x86-mm-32-enable-full-randomization-on-i386-and-x86_.patch
bugfix/x86/x86-xen-suppress-hugetlbfs-in-PV-guests.patch
bugfix/all/USB-usbip-fix-potential-out-of-bounds-write.patch
# ABI maintenance
debian/ib-fix-abi-change-in-4.5.3.patch
debian/v4l2-fix-abi-changes-in-4.5.3.patch
debian/cgroup-fix-abi-change-in-4.5.3.patch
# Tools bug fixes
bugfix/all/input-gtco-fix-crash-on-detecting-device-without-end.patch
bugfix/all/usbip-document-tcp-wrappers.patch
bugfix/all/kbuild-fix-recordmcount-dependency.patch
bugfix/all/usbip-include-uninstalled-linux-usbip-h.patch