Merge branch 'hrw-guest/linux-sid' into sid

Update to 4.19.20

See merge request kernel-team/linux!116
This commit is contained in:
Ben Hutchings 2019-02-07 20:59:45 +00:00
commit f6cfd5f990
5 changed files with 296 additions and 106 deletions

284
debian/changelog vendored
View File

@ -1,4 +1,4 @@
linux (4.19.17-1) UNRELEASED; urgency=medium
linux (4.19.20-1) UNRELEASED; urgency=medium
* New upstream stable update:
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.17
@ -26,7 +26,7 @@ linux (4.19.17-1) UNRELEASED; urgency=medium
- r8169: load Realtek PHY driver module before r8169
- crypto: authencesn - Avoid twice completion call in decrypt path
- crypto: authenc - fix parsing key with misaligned rta_len
- xen: Fix x86 sched_clock() interface for xen
- [x86] xen: Fix x86 sched_clock() interface for xen
- Revert "btrfs: balance dirty metadata pages in btrfs_finish_ordered_io"
- btrfs: wait on ordered extents on abort cleanup
- Yama: Check for pid death before checking ancestry
@ -78,6 +78,286 @@ linux (4.19.17-1) UNRELEASED; urgency=medium
- loop: drop caches if offset or block_size are changed
- drm/fb-helper: Ignore the value of fb_var_screeninfo.pixclock
- nbd: Use set_blocksize() to set device blocksize
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.18
- ipv6: Consider sk_bound_dev_if when binding a socket to a v4 mapped
address
- [armhf, arm64 net: dsa: mv88x6xxx: mv88e6390 errata
- net, skbuff: do not prefer skb allocation fails early
- qmi_wwan: add MTU default to qmap network interface
- r8169: Add support for new Realtek Ethernet
- ipv6: Take rcu_read_lock in __inet6_bind for mapped addresses
- net: clear skb->tstamp in bridge forwarding path
- netfilter: ipset: Allow matching on destination MAC address for mac and
ipmac sets
- [arm64] gpio: pl061: Move irq_chip definition inside struct pl061
- drm/amd/display: Guard against null stream_state in set_crc_source
- [x86] drm/amdkfd: fix interrupt spin lock
- ixgbe: allow IPsec Tx offload in VEPA mode
- [x86] platform: asus-wmi: Tell the EC the OS will handle the display
off hotkey
- e1000e: allow non-monotonic SYSTIM readings
- [x86] usb: typec: tcpm: Do not disconnect link for self powered devices
- of: overlay: add missing of_node_put() after add new node to changeset
- writeback: don't decrement wb->refcnt if !wb->bdi
- serial: set suppress_bind_attrs flag only if builtin
- bpf: Allow narrow loads with offset > 0
- ALSA: oxfw: add support for APOGEE duet FireWire
- [x86] mce: Fix -Wmissing-prototypes warnings
- [mips] SiByte: Enable swiotlb for SWARM, LittleSur and BigSur
- [arm64] perf: set suppress_bind_attrs flag to true
- drm/atomic-helper: Complete fake_commit->flip_done potentially earlier
- [arm64] clk: meson: meson8b: fix incorrect divider mapping in cpu_scale_table
- samples: bpf: fix: error handling regarding kprobe_events
- usb: gadget: udc: renesas_usb3: add a safety connection way for
forced_b_device
- fpga: altera-cvp: fix probing for multiple FPGAs on the bus
- selinux: always allow mounting submounts
- ASoC: pcm3168a: Don't disable pcm3168a when CONFIG_PM defined
- scsi: qedi: Check for session online before getting iSCSI TLV data.
- drm/amdgpu: Reorder uvd ring init before uvd resume
- rxe: IB_WR_REG_MR does not capture MR's iova field
- efi/libstub: Disable some warnings for x86{,_64}
- jffs2: Fix use of uninitialized delayed_work, lockdep breakage
- clk: imx: make mux parent strings const
- pstore/ram: Do not treat empty buffers as valid
- media: uvcvideo: Refactor teardown of uvc on USB disconnect
- powerpc/xmon: Fix invocation inside lock region
- powerpc/pseries/cpuidle: Fix preempt warning
- media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
- ASoC: use dma_ops of parent device for acp_audio_dma
- media: venus: core: Set dma maximum segment size
- staging: erofs: fix use-after-free of on-stack `z_erofs_vle_unzip_io'
- net: call sk_dst_reset when set SO_DONTROUTE
- scsi: target: use consistent left-aligned ASCII INQUIRY data
- scsi: target/core: Make sure that target_wait_for_sess_cmds() waits long
enough
- [arm64] kasan: Increase stack size for KASAN_EXTRA
- clk: imx6q: reset exclusive gates on init
- [arm64] Fix minor issues with the dcache_by_line_op macro
- bpf: relax verifier restriction on BPF_MOV | BPF_ALU
- mmc: atmel-mci: do not assume idle after atmci_request_end
- btrfs: volumes: Make sure there is no overlap of dev extents at mount
time
- btrfs: alloc_chunk: fix more DUP stripe size handling
- btrfs: fix use-after-free due to race between replace start and cancel
- btrfs: improve error handling of btrfs_add_link
- tty/serial: do not free trasnmit buffer page under port lock
- perf intel-pt: Fix error with config term "pt=0"
- perf tests ARM: Disable breakpoint tests 32-bit
- perf svghelper: Fix unchecked usage of strncpy()
- perf parse-events: Fix unchecked usage of strncpy()
- perf vendor events intel: Fix Load_Miss_Real_Latency on SKL/SKX
- netfilter: ipt_CLUSTERIP: check MAC address when duplicate config is set
- netfilter: ipt_CLUSTERIP: remove wrong WARN_ON_ONCE in netns exit routine
- netfilter: ipt_CLUSTERIP: fix deadlock in netns exit routine
- [x86] topology: Use total_cpus for max logical packages calculation
- dm crypt: use u64 instead of sector_t to store iv_offset
- dm kcopyd: Fix bug causing workqueue stalls
- perf stat: Avoid segfaults caused by negated options
- tools lib subcmd: Don't add the kernel sources to the include path
- dm snapshot: Fix excessive memory usage and workqueue stalls
- perf cs-etm: Correct packets swapping in cs_etm__flush()
- perf tools: Add missing sigqueue() prototype for systems lacking it
- perf tools: Add missing open_memstream() prototype for systems lacking it
- quota: Lock s_umount in exclusive mode for Q_XQUOTA{ON,OFF} quotactls.
- clocksource/drivers/integrator-ap: Add missing of_node_put()
- dm: Check for device sector overflow if CONFIG_LBDAF is not set
- Bluetooth: btusb: Add support for Intel bluetooth device 8087:0029
- ALSA: bebob: fix model-id of unit for Apogee Ensemble
- sysfs: Disable lockdep for driver bind/unbind files
- IB/usnic: Fix potential deadlock
- scsi: mpt3sas: fix memory ordering on 64bit writes
- scsi: smartpqi: correct lun reset issues
- ath10k: fix peer stats null pointer dereference
- scsi: smartpqi: call pqi_free_interrupts() in pqi_shutdown()
- scsi: megaraid: fix out-of-bound array accesses
- iomap: don't search past page end in iomap_is_partially_uptodate
- ocfs2: fix panic due to unrecovered local alloc
- mm/page-writeback.c: don't break integrity writeback on ->writepage()
error
- mm/swap: use nr_node_ids for avail_lists in swap_info_struct
- userfaultfd: clear flag if remap event not enabled
- mm, proc: be more verbose about unstable VMA flags in /proc/<pid>/smaps
- iwlwifi: mvm: Send LQ command as async when necessary
- Bluetooth: Fix unnecessary error message for HCI request completion
- ipmi: fix use-after-free of user->release_barrier.rda
- ipmi: msghandler: Fix potential Spectre v1 vulnerabilities
- ipmi: Prevent use-after-free in deliver_response
- ipmi:ssif: Fix handling of multi-part return messages
- ipmi: Don't initialize anything in the core until something uses it
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.19
- amd-xgbe: Fix mdio access for non-zero ports and clause 45 PHYs
- net: bridge: Fix ethernet header pointer before check skb forwardable
- net: Fix usage of pskb_trim_rcsum
- net: phy: marvell: Errata for mv88e6390 internal PHYs
- net: phy: mdio_bus: add missing device_del() in mdiobus_register() error
handling
- net/sched: act_tunnel_key: fix memory leak in case of action replace
- net_sched: refetch skb protocol for each filter
- openvswitch: Avoid OOB read when parsing flow nlattrs
- vhost: log dirty page correctly
- net: ipv4: Fix memory leak in network namespace dismantle
- net/sched: cls_flower: allocate mask dynamically in fl_change()
- udp: with udp_segment release on error path
- ip6_gre: fix tunnel list corruption for x-netns
- erspan: build the header with the right proto according to erspan_ver
- net: phy: marvell: Fix deadlock from wrong locking
- ip6_gre: update version related info when changing link
- tcp: allow MSG_ZEROCOPY transmission also in CLOSE_WAIT state
- mei: me: mark LBG devices as having dma support
- mei: me: add denverton innovation engine device IDs
- USB: leds: fix regression in usbport led trigger
- USB: serial: simple: add Motorola Tetra TPG2200 device id
- USB: serial: pl2303: add new PID to support PL2303TB
- ceph: clear inode pointer when snap realm gets dropped by its inode
- ASoC: atom: fix a missing check of snd_pcm_lib_malloc_pages
- ASoC: rt5514-spi: Fix potential NULL pointer dereference
- ASoC: tlv320aic32x4: Kernel OOPS while entering DAPM standby mode
- clk: socfpga: stratix10: fix rate calculation for pll clocks
- clk: socfpga: stratix10: fix naming convention for the fixed-clocks
- inotify: Fix fd refcount leak in inotify_add_watch().
- ALSA: hda/realtek - Fix typo for ALC225 model
- ALSA: hda - Add mute LED support for HP ProBook 470 G5
- ARCv2: lib: memeset: fix doing prefetchw outside of buffer
- ARC: adjust memblock_reserve of kernel memory
- ARC: perf: map generic branches to correct hardware condition
- s390/mm: always force a load of the primary ASCE on context switch
- s390/early: improve machine detection
- s390/smp: fix CPU hotplug deadlock with CPU rescan
- misc: ibmvsm: Fix potential NULL pointer dereference
- char/mwave: fix potential Spectre v1 vulnerability
- [arm64] mmc: dw_mmc-bluefield: : Fix the license information
- [arm64] mmc: meson-gx: Free irq in release() callback
- staging: rtl8188eu: Add device code for D-Link DWA-121 rev B1
- tty: Handle problem if line discipline does not have receive_buf
- uart: Fix crash in uart_write and uart_put_char
- tty/n_hdlc: fix __might_sleep warning
- hv_balloon: avoid touching uninitialized struct page during tail onlining
- Drivers: hv: vmbus: Check for ring when getting debug info
- vgacon: unconfuse vc_origin when using soft scrollback
- CIFS: Fix possible hang during async MTU reads and writes
- CIFS: Fix credits calculations for reads with errors
- CIFS: Fix credit calculation for encrypted reads with errors
- CIFS: Do not reconnect TCP session in add_credits()
- smb3: add credits we receive from oplock/break PDUs
- Input: xpad - add support for SteelSeries Stratus Duo
- Input: input_event - provide override for sparc64
- Input: uinput - fix undefined behavior in uinput_validate_absinfo()
- acpi/nfit: Block function zero DSMs
- acpi/nfit: Fix command-supported detection
- scsi: ufs: Use explicit access size in ufshcd_dump_regs
- dm thin: fix passdown_double_checking_shared_status()
- dm crypt: fix parsing of extended IV arguments
- [x86] drm/amdgpu: Add APTX quirk for Lenovo laptop
- [x86] KVM: Fix single-step debugging
- [x86] KVM: Fix PV IPIs for 32-bit KVM host
- [x86] KVM: WARN_ONCE if sending a PV IPI returns a fatal error
- [x86] kvm: vmx: Use kzalloc for cached_vmcs12
- [x86] KVM/nVMX: Do not validate that posted_intr_desc_addr is page
aligned
- [x86] pkeys: Properly copy pkey state at fork()
- [x86] selftests/pkeys: Fork() to check for state being preserved
- [x86] kaslr: Fix incorrect i8254 outb() parameters
- [x86] entry/64/compat: Fix stack switching for XEN PV
- [arm64] irqchip/gic-v3-its: Align PCI Multi-MSI allocation on their size
- can: dev: __can_get_echo_skb(): fix bogous check for non-existing skb by
removing it
- can: bcm: check timer values before ktime conversion
- can: flexcan: fix NULL pointer exception during bringup
- vt: make vt_console_print() compatible with the unicode screen buffer
- vt: always call notifier with the console lock held
- vt: invoke notifier on screen size change
- [arm64] drm/meson: Fix atomic mode switching regression
- bpf: improve verifier branch analysis
- bpf: add per-insn complexity limit
- bpf: move {prev_,}insn_idx into verifier env
- bpf: move tmp variable into ax register in interpreter
- bpf: enable access to ax register also from verifier rewrite
- bpf: restrict map value pointer arithmetic for unprivileged
- bpf: restrict stack pointer arithmetic for unprivileged
- bpf: restrict unknown scalars of mixed signed bounds for unprivileged
- bpf: fix check_map_access smin_value test when pointer contains offset
- bpf: prevent out of bounds speculation on pointer arithmetic
(CVE-2019-7308)
- bpf: fix sanitation of alu op with pointer / scalar type from different
paths (CVE-2019-7308)
- bpf: fix inner map masking to prevent oob under speculation
- [s390*] smp: Fix calling smp_call_ipl_cpu() from ipl CPU
- nvmet-rdma: Add unlikely for response allocated check
- nvmet-rdma: fix null dereference under heavy load
- Revert "mm, memory_hotplug: initialize struct pages for the full memory
section"
- usb: dwc3: gadget: Clear req->needs_extra_trb flag on cleanup
- ide: fix a typo in the settings proc file name
- Input: input_event - fix the CONFIG_SPARC64 mixup
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.20
- Fix "net: ipv4: do not handle duplicate fragments as overlapping"
- ipv6: sr: clear IP6CB(skb) on SRH ip4ip6 encapsulation
- ipvlan, l3mdev: fix broken l3s mode wrt local routes
- l2tp: copy 4 more bytes to linear part if necessary
- l2tp: fix reading optional fields of L2TPv3
- net: ip_gre: always reports o_key to userspace
- net: ip_gre: use erspan key field for tunnel lookup
- net/mlx4_core: Add masking for a few queries on HCA caps
- netrom: switch to sock timer API
- net/rose: fix NULL ax25_cb kernel panic
- net: set default network namespace in init_dummy_netdev()
- sctp: improve the events for sctp stream reset
- tun: move the call to tun_set_real_num_queues
- vhost: fix OOB in get_rx_bufs()
(CVE-2018-16880)
- net: ip6_gre: always reports o_key to userspace
- sctp: improve the events for sctp stream adding
- net/mlx5e: Allow MAC invalidation while spoofchk is ON
- ip6mr: Fix notifiers call on mroute_clean_tables()
- sctp: set chunk transport correctly when it's a new asoc
- sctp: set flow sport from saddr only when it's 0
- virtio_net: Don't enable NAPI when interface is down
- virtio_net: Don't call free_old_xmit_skbs for xdp_frames
- virtio_net: Fix not restoring real_num_rx_queues
- virtio_net: Fix out of bounds access of sq
- virtio_net: Don't process redirected XDP frames when XDP is disabled
- virtio_net: Use xdp_return_frame to free xdp_frames on destroying vqs
- virtio_net: Differentiate sk_buff and xdp_frame on freeing
- CIFS: Do not count -ENODATA as failure for query directory
- CIFS: Fix trace command logging for SMB2 reads and writes
- CIFS: Do not consider -ENODATA as stat failure for reads
- fs/dcache: Fix incorrect nr_dentry_unused accounting in
shrink_dcache_sb()
- iommu/vt-d: Fix memory leak in intel_iommu_put_resv_regions()
- NFS: Fix up return value on fatal errors in nfs_page_async_flush()
- [arm64] kaslr: ensure randomized quantities are clean also when kaslr is
off
- [arm64] Do not issue IPIs for user executable ptes
- [arm64] hyp-stub: Forbid kprobing of the hyp-stub
- [arm64] hibernate: Clean the __hyp_text to PoC after resume
- gpiolib: fix line event timestamps for nested irqs
- gpio: pcf857x: Fix interrupts on multiple instances
- gfs2: Revert "Fix loop in gfs2_rbm_find"
- [arm*] mmc: bcm2835: Fix DMA channel leak on probe error
- mmc: mediatek: fix incorrect register setting of hs400_cmd_int_delay
- ALSA: usb-audio: Add Opus #3 to quirks for native DSD support
- ALSA: hda/realtek - Fixed hp_pin no value
- IB/hfi1: Remove overly conservative VM_EXEC flag check
- [x86] platform: asus-nb-wmi: Map 0x35 to KEY_SCREENLOCK
- [x86] platform: asus-nb-wmi: Drop mapping of 0x33 and 0x34 scan codes
- mmc: sdhci-iproc: handle mmc_of_parse() errors during probe
- Btrfs: fix deadlock when allocating tree block during leaf/node split
- btrfs: On error always free subvol_name in btrfs_mount
- kernel/exit.c: release ptraced tasks before zap_pid_ns_processes
- mm/hugetlb.c: teach follow_hugetlb_page() to handle FOLL_NOWAIT
- oom, oom_reaper: do not enqueue same task twice
- mm,memory_hotplug: fix scan_movable_pages() for gigantic hugepages
- mm, oom: fix use-after-free in oom_kill_process
- mm: hwpoison: use do_send_sig_info() instead of force_sig()
- mm: migrate: don't rely on __PageMovable() of newpage after unlocking it
- of: Convert to using %pOFn instead of device_node.name
- of: overlay: add tests to validate kfrees from overlay removal
- of: overlay: add missing of_node_get() in __of_attach_node_sysfs
- of: overlay: use prop add changeset entry for property in new nodes
- of: overlay: do not duplicate properties from overlay for new nodes
- md/raid5: fix 'out of memory' during raid cache recovery
- cifs: Always resolve hostname before reconnecting
[ Luca Boccassi ]
* Do not generate linux-source-$ver stanza in debian/control if

View File

@ -14,9 +14,11 @@ correctness.
[bwh: Also #if-out the init functions for these PHYs to avoid
compiler warnings]
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -928,6 +928,7 @@ static int m88e1118_config_init(struct p
Index: linux/drivers/net/phy/marvell.c
===================================================================
--- linux.orig/drivers/net/phy/marvell.c
+++ linux/drivers/net/phy/marvell.c
@@ -962,6 +962,7 @@ static int m88e1118_config_init(struct p
return genphy_soft_reset(phydev);
}
@ -24,7 +26,7 @@ correctness.
static int m88e1149_config_init(struct phy_device *phydev)
{
int err;
@@ -953,7 +954,9 @@ static int m88e1149_config_init(struct p
@@ -987,7 +988,9 @@ static int m88e1149_config_init(struct p
return genphy_soft_reset(phydev);
}
@ -34,15 +36,15 @@ correctness.
static int m88e1145_config_init_rgmii(struct phy_device *phydev)
{
int err;
@@ -1028,6 +1031,7 @@ static int m88e1145_config_init(struct p
@@ -1062,6 +1065,7 @@ static int m88e1145_config_init(struct p
return 0;
}
+#endif
/**
* fiber_lpa_to_ethtool_lpa_t
@@ -2102,6 +2106,7 @@ static struct phy_driver marvell_drivers
/* The VOD can be out of specification on link up. Poke an
* undocumented register, in an undocumented page, with a magic value
@@ -2175,6 +2179,7 @@ static struct phy_driver marvell_drivers
.get_strings = marvell_get_strings,
.get_stats = marvell_get_stats,
},
@ -50,7 +52,7 @@ correctness.
{
.phy_id = MARVELL_PHY_ID_88E1145,
.phy_id_mask = MARVELL_PHY_ID_MASK,
@@ -2122,6 +2127,8 @@ static struct phy_driver marvell_drivers
@@ -2195,6 +2200,8 @@ static struct phy_driver marvell_drivers
.get_strings = marvell_get_strings,
.get_stats = marvell_get_stats,
},
@ -59,7 +61,7 @@ correctness.
{
.phy_id = MARVELL_PHY_ID_88E1149R,
.phy_id_mask = MARVELL_PHY_ID_MASK,
@@ -2141,6 +2148,8 @@ static struct phy_driver marvell_drivers
@@ -2214,6 +2221,8 @@ static struct phy_driver marvell_drivers
.get_strings = marvell_get_strings,
.get_stats = marvell_get_stats,
},
@ -68,7 +70,7 @@ correctness.
{
.phy_id = MARVELL_PHY_ID_88E1240,
.phy_id_mask = MARVELL_PHY_ID_MASK,
@@ -2160,6 +2169,7 @@ static struct phy_driver marvell_drivers
@@ -2233,6 +2242,7 @@ static struct phy_driver marvell_drivers
.get_strings = marvell_get_strings,
.get_stats = marvell_get_stats,
},
@ -76,7 +78,7 @@ correctness.
{
.phy_id = MARVELL_PHY_ID_88E1116R,
.phy_id_mask = MARVELL_PHY_ID_MASK,
@@ -2296,9 +2306,9 @@ static struct mdio_device_id __maybe_unu
@@ -2369,9 +2379,9 @@ static struct mdio_device_id __maybe_unu
{ MARVELL_PHY_ID_88E1111, MARVELL_PHY_ID_MASK },
{ MARVELL_PHY_ID_88E1118, MARVELL_PHY_ID_MASK },
{ MARVELL_PHY_ID_88E1121R, MARVELL_PHY_ID_MASK },

View File

@ -1,38 +0,0 @@
From: David Ahern <dsahern@gmail.com>
Date: Wed, 2 Jan 2019 18:57:09 -0800
Subject: ipv6: Consider sk_bound_dev_if when binding a socket to an address
Origin: https://git.kernel.org/linus/c5ee066333ebc322a24a00a743ed941a0c68617e
Bug-Debian: https://bugs.debian.org/918103
IPv6 does not consider if the socket is bound to a device when binding
to an address. The result is that a socket can be bound to eth0 and then
bound to the address of eth1. If the device is a VRF, the result is that
a socket can only be bound to an address in the default VRF.
Resolve by considering the device if sk_bound_dev_if is set.
This problem exists from the beginning of git history.
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
net/ipv6/af_inet6.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
index f0cd291034f0..0bfb6cc0a30a 100644
--- a/net/ipv6/af_inet6.c
+++ b/net/ipv6/af_inet6.c
@@ -350,6 +350,9 @@ static int __inet6_bind(struct sock *sk, struct sockaddr *uaddr, int addr_len,
err = -EINVAL;
goto out_unlock;
}
+ }
+
+ if (sk->sk_bound_dev_if) {
dev = dev_get_by_index_rcu(net, sk->sk_bound_dev_if);
if (!dev) {
err = -ENODEV;
--
2.20.1

View File

@ -1,52 +0,0 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 11 Jan 2019 14:33:16 +0100
Subject: posix-cpu-timers: Unbreak timer rearming
Origin: https://lore.kernel.org/lkml/20190111133500.840117406@linutronix.de/
Bug-Debian: https://bugs.debian.org/919019
Bug-Debian: https://bugs.debian.org/919049
The recent commit which prevented a division by 0 issue in the alarm timer
code broke posix CPU timers as an unwanted side effect.
The reason is that the common rearm code checks for timer->it_interval
being 0 now. What went unnoticed is that the posix cpu timer setup does not
initialize timer->it_interval as it stores the interval in CPU timer
specific storage. The reason for the separate storage is historical as the
posix CPU timers always had a 64bit nanoseconds representation internally
while timer->it_interval is type ktime_t which used to be a modified
timespec representation on 32bit machines.
Instead of reverting the offending commit and fixing the alarmtimer issue
in the alarmtimer code, store the interval in timer->it_interval at CPU
timer setup time so the common code check works. This also repairs the
existing inconistency of the posix CPU timer code which kept a single shot
timer armed despite of the interval being 0.
The separate storage can be removed in mainline, but that needs to be a
separate commit as the current one has to be backported to stable kernels.
Fixes: 0e334db6bb4b ("posix-timers: Fix division by zero bug")
Reported-by: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: John Stultz <john.stultz@linaro.org>
---
kernel/time/posix-cpu-timers.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kernel/time/posix-cpu-timers.c b/kernel/time/posix-cpu-timers.c
index 8f0644af40be..80f955210861 100644
--- a/kernel/time/posix-cpu-timers.c
+++ b/kernel/time/posix-cpu-timers.c
@@ -685,6 +685,7 @@ static int posix_cpu_timer_set(struct k_itimer *timer, int timer_flags,
* set up the signal and overrun bookkeeping.
*/
timer->it.cpu.incr = timespec64_to_ns(&new->it_interval);
+ timer->it_interval = ns_to_ktime(timer->it.cpu.incr);
/*
* This acts as a modification timestamp for the timer,
--
2.20.1

View File

@ -99,8 +99,6 @@ bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch
bugfix/all/partially-revert-usb-kconfig-using-select-for-usb_co.patch
bugfix/all/kbuild-include-addtree-remove-quotes-before-matching-path.patch
debian/revert-objtool-fix-config_stack_validation-y-warning.patch
bugfix/all/ipv6-Consider-sk_bound_dev_if-when-binding-a-socket-.patch
bugfix/all/posix-cpu-timers-Unbreak-timer-rearming.patch
bugfix/all/percpu-convert-spin_lock_irq-to-spin_lock_irqsave.patch
# Miscellaneous features