Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1321181 > unrolled thread
| Started by | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| First post | 2016-01-29 02:20 +0100 |
| Last post | 2016-01-29 03:40 +0100 |
| Articles | 20 on this page of 210 — 1 participant |
Back to article view | Back to linux.kernel
[3.19.y-ckt stable] Linux 3.19.8-ckt14 stable review Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:20 +0100
[PATCH 3.19.y-ckt 174/210] vmstat: make vmstat_updater deferrable again and shut down on idle Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 201/210] batman-adv: Drop immediate batadv_neigh_node free function Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 210/210] xfrm: dst_entries_init() per-net dst_ops Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 052/210] rtlwifi: rtl8192ce: Fix handling of module parameters Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 121/210] memcg: only free spare array when readers are done Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 197/210] bridge: fix lockdep addr_list_lock false positive splat Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 208/210] xen-netfront: respect user provided max_queues Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 193/210] bonding: Prevent IPv6 link local address on enslaved devices Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 172/210] mmc: sd: limit SD card power limit according to cards capabilities Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 004/210] ovl: allow zero size xattr Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 134/210] ALSA: seq: Fix snd_seq_call_port_info_ioctl in compat mode Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 205/210] team: Replace rcu_read_lock with a mutex in team_vlan_rx_kill_vid Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 009/210] tools lib traceevent: Fix output of %llu for 64 bit values read on 32 bit machines Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 057/210] bcache: Add a cond_resched() call to gc Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 060/210] bcache: unregister reboot notifier if bcache fails to unregister device Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 194/210] phonet: properly unshare skbs in phonet_rcv() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 203/210] batman-adv: Drop immediate batadv_hard_iface free function Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 046/210] rtlwifi: rtl8723be: Fix module parameter initialization Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 161/210] mmc: sdhci: restore behavior when setting VDD via external regulator Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 098/210] scripts/recordmcount.pl: support data in text section on powerpc Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 071/210] drm/dp/mst: always send reply for UP request Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 198/210] batman-adv: Avoid recursive call_rcu for batadv_bla_claim Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 035/210] mmc: sdhci: Fix sdhci_runtime_pm_bus_on/off() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 111/210] cifs: fix race between call_async() and reconnect() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 165/210] perf/x86: Fix filter_events() bug with event mappings Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 206/210] sctp: Prevent soft lockup when sctp_accept() is called during a timeout event Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 192/210] net: preserve IP control block during GSO segmentation Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 200/210] batman-adv: Drop immediate batadv_orig_ifinfo free function Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 081/210] uml: flush stdout before forking Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 117/210] ALSA: timer: Harden slave timer list handling Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 022/210] EDAC: Robustify workqueues destruction Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 038/210] nfs: Fix race in __update_open_stateid() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 006/210] [media] vb2: fix a regression in poll() behavior for output,streams Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 114/210] dma-debug: switch check from _text to _stext Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 207/210] xen-netback: respect user provided max_queues Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 170/210] um: Fix build error and kconfig for i386 Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 202/210] batman-adv: Drop immediate neigh_ifinfo free function Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 107/210] mmc: mmci: fix an ages old detection error Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 076/210] iwlwifi: update and fix 7265 series PCI IDs Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 196/210] ipv6: update skb->csum when CE mark is propagated Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 209/210] xen-netfront: update num_queues to real created Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 019/210] wlcore/wl12xx: spi: fix oops on firmware load Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 013/210] xhci: refuse loading if nousb is used Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 204/210] batman-adv: Drop immediate orig_node free function Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 054/210] NFS: Fix attribute cache revalidation Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 168/210] target: Fix a memory leak in target_dev_lba_map_store() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 133/210] ALSA: pcm: Fix snd_pcm_hw_params struct copy in compat mode Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 190/210] tcp_yeah: don't set ssthresh below 2 Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 159/210] ALSA: fm801: propagate TUNER_ONLY bit when autodetected Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 195/210] net: bpf: reject invalid shifts Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 199/210] batman-adv: Avoid recursive call_rcu for batadv_nc_node Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 147/210] MAINTAINERS: return arch/sh to maintained state, with new maintainers Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 012/210] drm/radeon: call hpd_irq_event on resume Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 103/210] x86/mm: Improve switch_mm() barrier comments Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 003/210] hotplugcpu: Avoid deadlocks by waking active_writer Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:30 +0100
[PATCH 3.19.y-ckt 166/210] power: test_power: correctly handle empty writes Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 185/210] connector: bump skb->users before callback invocation Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 188/210] vxlan: fix test which detect duplicate vxlan iface Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 189/210] net: sctp: prevent writes to cookie_hmac_alg from accessing invalid memory Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 163/210] sysrq: Fix warning in sysrq generated crash. Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 164/210] kconfig: return 'false' instead of 'no' in bool function Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 160/210] pinctrl: bcm2835: Fix memory leak in error path Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 177/210] printk: help pr_debug and pr_devel to optimize out arguments Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 157/210] Revert "ACPI / LPSS: allow to use specific PM domain during ->probe()" Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 183/210] net: cdc_ncm: avoid changing RX/TX buffers on MTU changes Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 191/210] udp: disallow UFO for sockets with SO_NO_CHECK option Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 186/210] unix: properly account for FDs passed over unix sockets Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 176/210] btrfs: initialize the seq counter in struct btrfs_device Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 181/210] net/mlx4: Remove unused macro Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 171/210] kbuild: Demote 'sign-compare' warning to W=2 Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 175/210] Btrfs: clean up an error code in btrfs_init_space_info() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 167/210] firmware: actually return NULL on failed request_firmware_nowait() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 184/210] sctp: sctp should release assoc when sctp_make_abort_user return NULL in sctp_close Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 158/210] mtd: nand: denali: add missing nand_release() call in denali_remove() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 187/210] bridge: Only call /sbin/bridge-stp for the initial network namespace Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 182/210] veth: don’t modify ip_summed; doing so treats packets with bad checksums as good. Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 178/210] ARM: dts: armadillo800eva Correct extal1 frequency to 24 MHz Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 162/210] x86/LDT: Print the real LDT base address Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 169/210] m68k/atari, m68k/sun3: Fix SCSI platform device registration when driver is modular Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 180/210] IB/mlx4: Initialize hop_limit when creating address handle Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 173/210] net: tcp_memcontrol: properly detect ancestor socket pressure Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 179/210] mmc: debugfs: correct wrong voltage value Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:40 +0100
[PATCH 3.19.y-ckt 125/210] ALSA: hda - Fix bass pin fixup for ASUS N550JX Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 135/210] ALSA: control: Avoid kernel warnings from tlv ioctl with numid 0 Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 122/210] panic: release stale console lock to always get the logbuf printed out Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 149/210] drm/i915: On fb alloc failure, unref gem object where it gets refed Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 153/210] clk: st: avoid uninitialized variable use Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 141/210] IB/qib: Support creating qps with GFP_NOIO flag Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 123/210] kernel/panic.c: turn off locks debug before releasing console lock Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 132/210] ALSA: hrtimer: Fix stall by hrtimer_cancel() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 130/210] crypto: af_alg - Allow af_af_alg_release_parent to be called on nokey path Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 151/210] SCSI: initio: remove duplicate module device table Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 129/210] crypto: hash - Add crypto_ahash_has_setkey Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 131/210] crypto: af_alg - Forbid bind(2) when nokey child sockets are present Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 156/210] mtd: nand: fix ONFI parameter page layout Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 145/210] ALSA: timer: Handle disconnection more safely Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 144/210] ALSA: hda - Flush the pending probe work at remove Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 124/210] printk: do cond_resched() between lines while outputting to consoles Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 142/210] ideapad-laptop: Add Lenovo ideapad Y700-17ISK to no_hw_rfkill dmi list Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 152/210] clk: xgene: Fix divider with non-zero shift value Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 136/210] ARM: debug-ll: fix BCM63xx entry for multiplatform Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 140/210] IB/qib: fix mcast detach when qp not attached Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 139/210] crypto: crc32c - Fix crc32c soft dependency Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 146/210] ocfs2: NFS hangs in __ocfs2_cluster_lock due to race with ocfs2_unblock_lock Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 150/210] [media] rc: allow rc modules to be loaded if rc-main is not a module Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 092/210] x86/reboot/quirks: Add iMac10,1 to pci_reboot_dmi_table[] Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 154/210] ASoC: Intel: pass correct parameter in sst_alloc_stream_mrfld() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 143/210] iscsi-target: Fix potential dead-lock during node acl delete Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 085/210] x86/mm: Add barriers and document switch_mm()-vs-flush synchronization Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 155/210] ath9k_htc: check for underflow in ath9k_htc_rx_msg() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 148/210] ideapad-laptop: Add Lenovo Yoga 700 to no_hw_rfkill dmi list Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 127/210] crypto: af_alg - Fix socket double-free when accept fails Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 137/210] xfs: log mount failures don't wait for buffers to be released Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 138/210] crypto: algif_skcipher - Load TX SG list after waiting Kamal Mostafa <kamal@canonical.com> - 2016-01-29 02:50 +0100
[PATCH 3.19.y-ckt 108/210] ALSA: timer: Fix race among timer ioctls Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 093/210] ALSA: seq: Fix missing NULL check at remove_events ioctl Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 116/210] ocfs2/dlm: ignore cleaning the migration mle that is inuse Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 109/210] sparc64: fix incorrect sign extension in sys_sparc64_personality Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 105/210] dmaengine: dw: fix cyclic transfer setup Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 119/210] zram: try vmalloc() after kmalloc() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 112/210] cifs_dbg() outputs an uninitialized buffer in cifs_readdir() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 120/210] mm: soft-offline: check return value in second __get_any_page() call Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 102/210] drm/i915: intel_hpd_init(): Fix suspend/resume reprobing Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 096/210] virtio_balloon: fix race between migration and ballooning Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 104/210] ALSA: timer: Fix double unlink of active_list Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 113/210] m32r: fix m32104ut_defconfig build fail Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 115/210] scripts/bloat-o-meter: fix python3 syntax error Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 090/210] clocksource/drivers/vt8500: Increase the minimum delta Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 106/210] dmaengine: dw: fix cyclic transfer callbacks Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 094/210] ALSA: seq: Fix race at timer setup and close Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 128/210] crypto: af_alg - Add nokey compatibility path Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 095/210] virtio_balloon: fix race by fill and leak Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 086/210] x86/boot: Double BOOT_HEAP_SIZE to 64KB Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 101/210] ALSA: usb-audio: Fix mixer ctl regression of Native Instrument devices Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 097/210] parisc: Fix __ARCH_SI_PREAMBLE_SIZE Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 099/210] powerpc/module: Handle R_PPC64_ENTRY relocations Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 110/210] cifs: Ratelimit kernel log messages Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 100/210] ALSA: hda - fix the headset mic detection problem for a Dell laptop Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 091/210] Input: elantech - mark protocols v2 and v3 as semi-mt Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 118/210] zram/zcomp: use GFP_NOIO to allocate streams Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 126/210] crypto: af_alg - Disallow bind/setkey/... after accept(2) Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:00 +0100
[PATCH 3.19.y-ckt 059/210] bcache: fix a leak in bch_cached_dev_run() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 084/210] ALSA: hda - Fixup inverted internal mic for Lenovo E50-80 Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 069/210] udf: Check output buffer length when converting name to CS0 Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 051/210] rtlwifi: rtl8192se: Fix module parameter initialization Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 066/210] libxfs: pack the agfl header structure so XFS_AGFL_SIZE is correct Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 055/210] rtlwifi: rtl_pci: Fix kernel panic Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 073/210] drm/dp/mst: fix in RAD element access Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 067/210] x86/xen: don't reset vcpu_info on a cancelled suspend Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 056/210] bcache: fix a livelock when we cause a huge number of cache misses Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 078/210] ASoC: compress: Fix compress device direction check Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 063/210] bcache: Change refill_dirty() to always scan entire disk if necessary Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 065/210] Input: i8042 - add Fujitsu Lifebook U745 to the nomux list Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 074/210] PCI: Fix minimum allocation address overwrite Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 053/210] rtlwifi: rtl8192cu: Add missing parameter setup Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 050/210] rtlwifi: rtl8192de: Fix incorrect module parameter descriptions Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 045/210] posix-clock: Fix return code on the poll method's error path Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 089/210] xfs: handle dquot buffer readahead in log recovery correctly Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 068/210] udf: Prevent buffer overrun with multi-byte characters Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 082/210] drm/nouveau/kms: take mode_config mutex in connector hotplug path Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 083/210] ALSA: usb: Add native DSD support for Oppo HA-1 Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 075/210] PCI: host: Mark PCIe/PCI (MSI) IRQ cascade handlers as IRQF_NO_THREAD Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 087/210] s390: fix normalization bug in exception table sorting Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 058/210] bcache: clear BCACHE_DEV_UNLINK_DONE flag when attaching a backing device Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 079/210] dm snapshot: fix hung bios when copy error occurs Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 072/210] drm/dp/mst: fix in MSTB RAD initialization Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 062/210] bcache: prevent crash on changing writeback_running Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 061/210] bcache: allows use of register in udev to avoid "device_busy" error. Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 064/210] wlcore/wl12xx: spi: fix NULL pointer dereference (Oops) Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 088/210] xfs: inode recovery readahead can race with inode buffer creation Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 070/210] drm/dp/mst: process broadcast messages correctly Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 080/210] uml: fix hostfs mknod() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 077/210] locks: fix unlock when fcntl_setlk races with a close Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:10 +0100
[PATCH 3.19.y-ckt 027/210] dm thin: fix race condition when destroying thin pool workqueue Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 048/210] rtlwifi: rtl8821ae: Fix errors in parameter initialization Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 037/210] [media] rc: sunxi-cir: Initialize the spinlock properly Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 030/210] arm64: kernel: enforce pmuserenr_el0 initialization and restore Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 020/210] ovl: check dentry positiveness in ovl_cleanup_whiteouts() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 017/210] Bluetooth: Add support of Toshiba Broadcom based devices Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 033/210] mmc: sdio: Fix invalid vdd in voltage switch power cycle Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 047/210] rtlwifi: rtl8723ae: Fix initialization of module parameters Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 042/210] Thermal: initialize thermal zone device correctly Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 040/210] NFSv4: Don't perform cached access checks before we've OPENed the file Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 049/210] rtlwifi: rtl8188ee: Fix module parameter initialization Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 044/210] Thermal: do thermal zone update after a cooling device registered Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 026/210] dm space map metadata: remove unused variable in brb_pop() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 043/210] Thermal: handle thermal zone device properly during system sleep Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 024/210] powerpc: Make value-returning atomics fully ordered Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 025/210] powerpc: Make {cmp}xchg* and their atomic_ versions fully ordered Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 014/210] arm64: Clear out any singlestep state on a ptrace detach operation Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 029/210] arm64: mdscr_el1: avoid exposing DCC to userspace Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 018/210] rtlwifi: fix memory leak for USB device Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 041/210] NFS: Ensure we revalidate attributes before using execute_ok() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 028/210] futex: Drop refcount if requeue_pi() acquired the rtmutex Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 036/210] udf: limit the maximum number of indirect extents in a row Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 021/210] EDAC, mc_sysfs: Fix freeing bus' name Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 039/210] USB: cp210x: add ID for ELV Marble Sound Board 1 Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 032/210] drm/radeon: clean up fujitsu quirks Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 034/210] mmc: sdhci: Fix DMA descriptor with zero data length Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 031/210] drm/radeon: Fix off-by-one errors in radeon_vm_bo_set_addr Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 023/210] arm64: mm: ensure that the zero page is visible to the page table walker Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:20 +0100
[PATCH 3.19.y-ckt 016/210] ovl: root: copy attr Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:30 +0100
[PATCH 3.19.y-ckt 015/210] time: Avoid signed overflow in timekeeping_get_ns() Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:30 +0100
[PATCH 3.19.y-ckt 008/210] [media] media: dvb-core: Don't force CAN_INVERSION_AUTO in oneshot mode Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:30 +0100
[PATCH 3.19.y-ckt 010/210] KVM: x86: expose MSR_TSC_AUX to userspace Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:30 +0100
[PATCH 3.19.y-ckt 011/210] KVM: x86: correctly print #AC in traces Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:30 +0100
[PATCH 3.19.y-ckt 007/210] [media] gspca: ov534/topro: prevent a division by 0 Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:30 +0100
[PATCH 3.19.y-ckt 002/210] drm/nouveau/nv46: Change mc subdev oclass from nv44 to nv4c Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:40 +0100
[PATCH 3.19.y-ckt 005/210] ovl: use a minimal buffer in ovl_copy_xattr Kamal Mostafa <kamal@canonical.com> - 2016-01-29 03:40 +0100
Page 1 of 11 [1] 2 3 … 11 Next page →
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:20 +0100 |
| Subject | [3.19.y-ckt stable] Linux 3.19.8-ckt14 stable review |
| Message-ID | <qW5Tb-3vu-3@gated-at.bofh.it> |
This is the start of the review cycle for the Linux 3.19.8-ckt14 stable kernel.
This version contains 210 new patches, summarized below. The new patches are
posted as replies to this message and also available in this git branch:
http://kernel.ubuntu.com/git/ubuntu/linux.git/log/?h=linux-3.19.y-review
git://kernel.ubuntu.com/ubuntu/linux.git linux-3.19.y-review
The review period for version 3.19.8-ckt14 will be open for the next three days.
To report a problem, please reply to the relevant follow-up patch message.
For more information about the Linux 3.19.y-ckt extended stable kernel version,
see https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable .
-Kamal
--
MAINTAINERS | 4 +-
arch/arm/Kconfig.debug | 17 +--
arch/arm/boot/dts/r8a7740-armadillo800eva.dts | 2 +-
arch/arm64/kernel/perf_event.c | 3 -
arch/arm64/kernel/ptrace.c | 6 +
arch/arm64/mm/mmu.c | 3 +
arch/arm64/mm/proc.S | 5 +-
arch/m32r/kernel/setup.c | 3 +
arch/m68k/atari/config.c | 4 +-
arch/m68k/sun3/config.c | 2 +-
arch/parisc/include/uapi/asm/siginfo.h | 4 +
arch/powerpc/include/asm/cmpxchg.h | 16 +--
arch/powerpc/include/asm/synch.h | 2 +-
arch/powerpc/include/uapi/asm/elf.h | 2 +
arch/powerpc/kernel/module_64.c | 27 ++++
arch/s390/mm/extable.c | 8 +-
arch/sparc/kernel/sys_sparc_64.c | 2 +-
arch/um/os-Linux/start_up.c | 2 +
arch/x86/include/asm/boot.h | 2 +-
arch/x86/include/asm/mmu_context.h | 34 ++++-
arch/x86/kernel/cpu/perf_event.c | 11 +-
arch/x86/kernel/process_64.c | 2 +-
arch/x86/kernel/reboot.c | 8 ++
arch/x86/kvm/trace.h | 2 +-
arch/x86/kvm/x86.c | 11 +-
arch/x86/mm/tlb.c | 29 +++-
arch/x86/um/Makefile | 2 +-
arch/x86/xen/suspend.c | 3 +-
crypto/af_alg.c | 55 +++++++-
crypto/ahash.c | 5 +-
crypto/algif_skcipher.c | 14 +-
crypto/crc32c_generic.c | 1 -
crypto/shash.c | 4 +-
drivers/acpi/acpi_lpss.c | 8 +-
drivers/base/firmware_class.c | 8 +-
drivers/block/zram/zcomp.c | 4 +-
drivers/block/zram/zcomp_lz4.c | 23 +++-
drivers/block/zram/zcomp_lzo.c | 23 +++-
drivers/bluetooth/btusb.c | 4 +
drivers/clk/clk-xgene.c | 3 +-
drivers/clk/st/clkgen-fsyn.c | 17 +--
drivers/clocksource/vt8500_timer.c | 6 +-
drivers/connector/connector.c | 11 +-
drivers/dma/dw/core.c | 43 +++---
drivers/edac/edac_device.c | 11 +-
drivers/edac/edac_mc.c | 14 +-
drivers/edac/edac_mc_sysfs.c | 18 ++-
drivers/edac/edac_pci.c | 9 +-
drivers/gpu/drm/drm_dp_mst_topology.c | 141 +++++++++++++------
drivers/gpu/drm/i915/i915_irq.c | 9 +-
drivers/gpu/drm/i915/intel_display.c | 21 ++-
drivers/gpu/drm/nouveau/core/engine/device/nv40.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_connector.c | 3 +
drivers/gpu/drm/radeon/radeon_atombios.c | 12 +-
drivers/gpu/drm/radeon/radeon_device.c | 1 +
drivers/gpu/drm/radeon/radeon_vm.c | 12 +-
drivers/infiniband/hw/mlx4/ah.c | 1 +
drivers/infiniband/hw/qib/qib_qp.c | 46 +++++--
drivers/infiniband/hw/qib/qib_verbs_mcast.c | 35 ++---
drivers/input/mouse/elantech.c | 2 +-
drivers/input/serio/i8042-x86ia64io.h | 7 +
drivers/md/bcache/btree.c | 5 +-
drivers/md/bcache/super.c | 16 ++-
drivers/md/bcache/writeback.c | 37 ++++-
drivers/md/bcache/writeback.h | 3 +-
drivers/md/dm-exception-store.h | 2 +-
drivers/md/dm-snap-persistent.c | 5 +-
drivers/md/dm-snap-transient.c | 4 +-
drivers/md/dm-snap.c | 20 +--
drivers/md/dm-thin.c | 4 +-
drivers/md/persistent-data/dm-space-map-metadata.c | 3 -
drivers/media/dvb-core/dvb_frontend.c | 6 +-
drivers/media/rc/rc-main.c | 2 +-
drivers/media/rc/sunxi-cir.c | 2 +
drivers/media/usb/gspca/ov534.c | 9 +-
drivers/media/usb/gspca/topro.c | 6 +-
drivers/media/v4l2-core/videobuf2-core.c | 6 +-
drivers/mmc/core/debugfs.c | 2 +-
drivers/mmc/core/sd.c | 20 ++-
drivers/mmc/core/sdio.c | 2 +-
drivers/mmc/host/mmci.c | 2 +-
drivers/mmc/host/sdhci.c | 32 ++---
drivers/mtd/nand/denali.c | 11 +-
drivers/net/bonding/bond_main.c | 5 +-
drivers/net/team/team.c | 6 +-
drivers/net/usb/cdc_mbim.c | 2 +-
drivers/net/usb/cdc_ncm.c | 31 +++++
drivers/net/veth.c | 6 -
drivers/net/vxlan.c | 12 +-
drivers/net/wireless/ath/ath9k/htc_hst.c | 2 +-
drivers/net/wireless/iwlwifi/pcie/drv.c | 5 +-
drivers/net/wireless/rtlwifi/pci.c | 11 +-
drivers/net/wireless/rtlwifi/rtl8188ee/sw.c | 7 +-
drivers/net/wireless/rtlwifi/rtl8192ce/sw.c | 2 +
drivers/net/wireless/rtlwifi/rtl8192cu/sw.c | 2 +
drivers/net/wireless/rtlwifi/rtl8192de/sw.c | 4 +-
drivers/net/wireless/rtlwifi/rtl8192se/sw.c | 6 +-
drivers/net/wireless/rtlwifi/rtl8723ae/sw.c | 9 ++
drivers/net/wireless/rtlwifi/rtl8723be/sw.c | 8 +-
drivers/net/wireless/rtlwifi/rtl8821ae/sw.c | 6 +-
drivers/net/wireless/rtlwifi/usb.c | 2 +
drivers/net/wireless/ti/wlcore/io.h | 10 +-
drivers/net/wireless/ti/wlcore/spi.c | 10 +-
drivers/net/xen-netback/netback.c | 7 +-
drivers/net/xen-netfront.c | 21 +--
drivers/pci/bus.c | 6 +-
drivers/pci/host/pci-dra7xx.c | 3 +-
drivers/pci/host/pci-exynos.c | 3 +-
drivers/pci/host/pci-imx6.c | 3 +-
drivers/pci/host/pci-tegra.c | 2 +-
drivers/pci/host/pcie-rcar.c | 6 +-
drivers/pci/host/pcie-spear13xx.c | 3 +-
drivers/pci/host/pcie-xilinx.c | 3 +-
drivers/pinctrl/pinctrl-bcm2835.c | 2 +-
drivers/platform/x86/ideapad-laptop.c | 14 ++
drivers/power/test_power.c | 2 +
drivers/scsi/initio.c | 16 ---
drivers/target/iscsi/iscsi_target_configfs.c | 16 ++-
drivers/target/target_core_configfs.c | 6 +-
drivers/thermal/step_wise.c | 17 ++-
drivers/thermal/thermal_core.c | 75 +++++++++-
drivers/thermal/thermal_core.h | 1 +
drivers/tty/sysrq.c | 6 +
drivers/usb/host/xhci.c | 4 +
drivers/usb/serial/cp210x.c | 1 +
drivers/virtio/virtio_balloon.c | 2 +-
fs/btrfs/extent-tree.c | 2 +-
fs/btrfs/volumes.c | 1 +
fs/cifs/cifs_debug.c | 2 +-
fs/cifs/cifs_debug.h | 9 +-
fs/cifs/connect.c | 2 +-
fs/cifs/readdir.c | 1 +
fs/cifs/transport.c | 6 +-
fs/hostfs/hostfs_kern.c | 4 +-
fs/locks.c | 51 ++++---
fs/nfs/dir.c | 21 ++-
fs/nfs/inode.c | 54 ++++++--
fs/nfs/nfs4proc.c | 2 +-
fs/ocfs2/dlm/dlmmaster.c | 26 ++--
fs/ocfs2/dlmglue.c | 6 +
fs/overlayfs/copy_up.c | 41 ++++--
fs/overlayfs/readdir.c | 3 +-
fs/overlayfs/super.c | 3 +
fs/udf/inode.c | 15 ++
fs/udf/unicode.c | 21 ++-
fs/xfs/libxfs/xfs_dquot_buf.c | 35 ++++-
fs/xfs/libxfs/xfs_format.h | 2 +-
fs/xfs/libxfs/xfs_inode_buf.c | 14 +-
fs/xfs/libxfs/xfs_quota_defs.h | 2 +-
fs/xfs/libxfs/xfs_shared.h | 1 +
fs/xfs/xfs_buf.c | 17 +++
fs/xfs/xfs_log_recover.c | 9 +-
include/crypto/hash.h | 6 +
include/crypto/if_alg.h | 11 +-
include/drm/drm_dp_mst_helper.h | 2 -
include/linux/console.h | 1 +
include/linux/mlx4/device.h | 4 -
include/linux/mtd/nand.h | 4 +-
include/linux/printk.h | 12 +-
include/linux/sched.h | 1 +
include/linux/skbuff.h | 3 +-
include/linux/thermal.h | 5 +
include/linux/usb/cdc_ncm.h | 1 +
include/linux/vmstat.h | 2 +
include/net/inet_ecn.h | 19 ++-
include/net/sock.h | 10 +-
include/net/vxlan.h | 5 +
kernel/bpf/verifier.c | 10 ++
kernel/cpu.c | 56 ++++----
kernel/futex.c | 5 +
kernel/panic.c | 12 ++
kernel/printk/printk.c | 35 ++++-
kernel/sched/idle.c | 1 +
kernel/time/posix-clock.c | 4 +-
kernel/time/timekeeping.c | 3 +-
lib/dma-debug.c | 2 +-
lib/libcrc32c.c | 1 +
mm/balloon_compaction.c | 4 +-
mm/memcontrol.c | 11 +-
mm/memory-failure.c | 2 +-
mm/vmstat.c | 69 ++++++----
net/batman-adv/bridge_loop_avoidance.c | 10 +-
net/batman-adv/hard-interface.h | 12 --
net/batman-adv/network-coding.c | 19 ++-
net/batman-adv/originator.c | 151 ++++++++-------------
net/batman-adv/originator.h | 1 -
net/batman-adv/translation-table.c | 28 ++--
net/bridge/br_device.c | 8 ++
net/bridge/br_stp_if.c | 5 +-
net/core/dev.c | 5 +
net/core/filter.c | 5 +
net/ipv4/ip_output.c | 3 +-
net/ipv4/ipmr.c | 15 +-
net/ipv4/tcp_yeah.c | 2 +-
net/ipv4/xfrm4_policy.c | 46 +++++--
net/ipv6/ip6_output.c | 2 +-
net/ipv6/xfrm6_mode_tunnel.c | 2 +-
net/ipv6/xfrm6_policy.c | 53 ++++++--
net/openvswitch/datapath.c | 5 +-
net/phonet/af_phonet.c | 4 +
net/sctp/sm_sideeffect.c | 42 +++---
net/sctp/sm_statefuns.c | 6 +-
net/sctp/socket.c | 3 +-
net/sctp/sysctl.c | 2 +-
net/unix/af_unix.c | 24 +++-
net/unix/garbage.c | 16 ++-
net/xfrm/xfrm_output.c | 2 +
net/xfrm/xfrm_policy.c | 38 ------
scripts/Makefile.extrawarn | 2 +
scripts/bloat-o-meter | 8 +-
scripts/kconfig/menu.c | 2 +-
scripts/recordmcount.pl | 3 +-
sound/core/control.c | 2 +
sound/core/hrtimer.c | 3 +-
sound/core/pcm_compat.c | 13 +-
sound/core/seq/seq_clientmgr.c | 2 +-
sound/core/seq/seq_compat.c | 9 +-
sound/core/seq/seq_queue.c | 2 +
sound/core/timer.c | 100 +++++++++++---
sound/pci/fm801.c | 4 +
sound/pci/hda/hda_intel.c | 10 +-
sound/pci/hda/patch_realtek.c | 13 ++
sound/soc/intel/sst/sst_stream.c | 2 +-
sound/soc/soc-compress.c | 23 +++-
sound/usb/mixer_quirks.c | 2 +-
sound/usb/quirks.c | 1 +
tools/lib/traceevent/event-parse.c | 5 +-
227 files changed, 1821 insertions(+), 898 deletions(-)
Aaron Conole (1):
printk: help pr_debug and pr_devel to optimize out arguments
Adrian Hunter (3):
mmc: sdio: Fix invalid vdd in voltage switch power cycle
mmc: sdhci: Fix DMA descriptor with zero data length
mmc: sdhci: Fix sdhci_runtime_pm_bus_on/off()
Al Viro (1):
bcache: fix a leak in bch_cached_dev_run()
Alex Deucher (2):
drm/radeon: call hpd_irq_event on resume
drm/radeon: clean up fujitsu quirks
Andrew Elble (1):
nfs: Fix race in __update_open_stateid()
Andrew Gabbasov (2):
udf: Prevent buffer overrun with multi-byte characters
udf: Check output buffer length when converting name to CS0
Andy Lutomirski (2):
x86/mm: Add barriers and document switch_mm()-vs-flush synchronization
x86/mm: Improve switch_mm() barrier comments
Andy Shevchenko (2):
Revert "ACPI / LPSS: allow to use specific PM domain during ->probe()"
ALSA: fm801: propagate TUNER_ONLY bit when autodetected
Ani Sinha (1):
sysrq: Fix warning in sysrq generated crash.
Antonio Ospite (1):
[media] gspca: ov534/topro: prevent a division by 0
Ard Biesheuvel (1):
s390: fix normalization bug in exception table sorting
Arnd Bergmann (3):
ARM: debug-ll: fix BCM63xx entry for multiplatform
SCSI: initio: remove duplicate module device table
clk: st: avoid uninitialized variable use
Aurélien Francillon (1):
Input: i8042 - add Fujitsu Lifebook U745 to the nomux list
Bart Van Assche (1):
target: Fix a memory leak in target_dev_lba_map_store()
Ben Skeggs (1):
drm/nouveau/kms: take mode_config mutex in connector hotplug path
Benjamin Tissoires (1):
Input: elantech - mark protocols v2 and v3 as semi-mt
Bjørn Mork (1):
net: cdc_ncm: avoid changing RX/TX buffers on MTU changes
Boqun Feng (2):
powerpc: Make value-returning atomics fully ordered
powerpc: Make {cmp}xchg* and their atomic_ versions fully ordered
Boris BREZILLON (2):
mtd: nand: fix ONFI parameter page layout
mtd: nand: denali: add missing nand_release() call in denali_remove()
Borislav Petkov (2):
EDAC, mc_sysfs: Fix freeing bus' name
EDAC: Robustify workqueues destruction
Brian Norris (1):
firmware: actually return NULL on failed request_firmware_nowait()
Chen Yu (1):
Thermal: do thermal zone update after a cooling device registered
Chen-Yu Tsai (1):
[media] rc: sunxi-cir: Initialize the spinlock properly
Christoph Biedl (1):
PCI: Fix minimum allocation address overwrite
Christoph Lameter (1):
vmstat: make vmstat_updater deferrable again and shut down on idle
Chuanxiao Dong (1):
mmc: debugfs: correct wrong voltage value
Dan Carpenter (3):
ASoC: Intel: pass correct parameter in sst_alloc_stream_mrfld()
ath9k_htc: check for underflow in ath9k_htc_rx_msg()
Btrfs: clean up an error code in btrfs_init_space_info()
Dan Streetman (1):
xfrm: dst_entries_init() per-net dst_ops
Darrick J. Wong (1):
libxfs: pack the agfl header structure so XFS_AGFL_SIZE is correct
Dave Chinner (3):
xfs: inode recovery readahead can race with inode buffer creation
xfs: handle dquot buffer readahead in log recovery correctly
xfs: log mount failures don't wait for buffers to be released
David Gibson (1):
time: Avoid signed overflow in timekeeping_get_ns()
David Henningsson (1):
ALSA: hda - Fixup inverted internal mic for Lenovo E50-80
David Hildenbrand (1):
hotplugcpu: Avoid deadlocks by waking active_writer
Dmitry Tunin (1):
Bluetooth: Add support of Toshiba Broadcom based devices
Dmitry V. Levin (1):
sparc64: fix incorrect sign extension in sys_sparc64_personality
Eric Dumazet (2):
phonet: properly unshare skbs in phonet_rcv()
ipv6: update skb->csum when CE mark is propagated
Felix Kuehling (1):
drm/radeon: Fix off-by-one errors in radeon_vm_bo_set_addr
Finn Thain (1):
m68k/atari, m68k/sun3: Fix SCSI platform device registration when driver is modular
Florian Westphal (1):
connector: bump skb->users before callback invocation
Gabriel de Perthuis (1):
bcache: allows use of register in udev to avoid "device_busy" error.
Geert Uytterhoeven (1):
ARM: dts: armadillo800eva Correct extal1 frequency to 24 MHz
Grygorii Strashko (1):
PCI: host: Mark PCIe/PCI (MSI) IRQ cascade handlers as IRQF_NO_THREAD
H.J. Lu (1):
x86/boot: Double BOOT_HEAP_SIZE to 64KB
Hannes Frederic Sowa (1):
bridge: Only call /sbin/bridge-stp for the initial network namespace
Hans Verkuil (1):
[media] vb2: fix a regression in poll() behavior for output,streams
Hans de Goede (1):
drm/nouveau/nv46: Change mc subdev oclass from nv44 to nv4c
Helge Deller (1):
parisc: Fix __ARCH_SI_PREAMBLE_SIZE
Herbert Xu (7):
crypto: af_alg - Disallow bind/setkey/... after accept(2)
crypto: af_alg - Fix socket double-free when accept fails
crypto: af_alg - Add nokey compatibility path
crypto: hash - Add crypto_ahash_has_setkey
crypto: af_alg - Allow af_af_alg_release_parent to be called on nokey path
crypto: af_alg - Forbid bind(2) when nokey child sockets are present
crypto: algif_skcipher - Load TX SG list after waiting
Hui Wang (1):
ALSA: hda - fix the headset mic detection problem for a Dell laptop
Ido Schimmel (1):
team: Replace rcu_read_lock with a mutex in team_vlan_rx_kill_vid
Jamie Bainbridge (1):
cifs: Ratelimit kernel log messages
Jan Beulich (1):
x86/LDT: Print the real LDT base address
Jean Delvare (1):
crypto: crc32c - Fix crc32c soft dependency
Jeff Layton (1):
locks: fix unlock when fcntl_setlk races with a close
Jisheng Zhang (1):
mmc: sdhci: restore behavior when setting VDD via external regulator
Joe Jin (1):
xen-netfront: update num_queues to real created
Johannes Weiner (1):
net: tcp_memcontrol: properly detect ancestor socket pressure
John Blackwood (1):
arm64: Clear out any singlestep state on a ptrace detach operation
Josh Boyer (2):
ideapad-laptop: Add Lenovo ideapad Y700-17ISK to no_hw_rfkill dmi list
ideapad-laptop: Add Lenovo Yoga 700 to no_hw_rfkill dmi list
Jurgen Kramer (1):
ALSA: usb: Add native DSD support for Oppo HA-1
Karl Heiss (2):
bonding: Prevent IPv6 link local address on enslaved devices
sctp: Prevent soft lockup when sctp_accept() is called during a timeout event
Kent Overstreet (2):
bcache: Add a cond_resched() call to gc
bcache: Change refill_dirty() to always scan entire disk if necessary
Konstantin Khlebnikov (2):
ovl: check dentry positiveness in ovl_cleanup_whiteouts()
net: preserve IP control block during GSO segmentation
Kyeongdon Kim (1):
zram: try vmalloc() after kmalloc()
Larry Finger (9):
rtlwifi: rtl8723be: Fix module parameter initialization
rtlwifi: rtl8723ae: Fix initialization of module parameters
rtlwifi: rtl8821ae: Fix errors in parameter initialization
rtlwifi: rtl8188ee: Fix module parameter initialization
rtlwifi: rtl8192de: Fix incorrect module parameter descriptions
rtlwifi: rtl8192se: Fix module parameter initialization
rtlwifi: rtl8192ce: Fix handling of module parameters
rtlwifi: rtl8192cu: Add missing parameter setup
rtlwifi: rtl_pci: Fix kernel panic
Laura Abbott (1):
dma-debug: switch check from _text to _stext
Lee Jones (1):
kbuild: Demote 'sign-compare' warning to W=2
Linus Walleij (1):
mmc: mmci: fix an ages old detection error
Loc Ho (1):
clk: xgene: Fix divider with non-zero shift value
Lorenzo Pieralisi (1):
arm64: kernel: enforce pmuserenr_el0 initialization and restore
Lukas Wunner (1):
drm/i915: On fb alloc failure, unref gem object where it gets refed
Lyude (1):
drm/i915: intel_hpd_init(): Fix suspend/resume reprobing
Malcolm Priestley (1):
[media] media: dvb-core: Don't force CAN_INVERSION_AUTO in oneshot mode
Mans Rullgard (2):
dmaengine: dw: fix cyclic transfer setup
dmaengine: dw: fix cyclic transfer callbacks
Mario Kleiner (1):
x86/reboot/quirks: Add iMac10,1 to pci_reboot_dmi_table[]
Martijn Coenen (1):
memcg: only free spare array when readers are done
Matan Barak (1):
IB/mlx4: Initialize hop_limit when creating address handle
Michal KubeÄŤek (1):
udp: disallow UFO for sockets with SO_NO_CHECK option
Mickaël Salaün (1):
um: Fix build error and kconfig for i386
Mike Marciniszyn (1):
IB/qib: fix mcast detach when qp not attached
Mike Snitzer (1):
dm space map metadata: remove unused variable in brb_pop()
Miklos Szeredi (2):
ovl: allow zero size xattr
ovl: root: copy attr
Mikulas Patocka (1):
dm snapshot: fix hung bios when copy error occurs
Minchan Kim (2):
virtio_balloon: fix race by fill and leak
virtio_balloon: fix race between migration and ballooning
Moni Shoua (1):
net/mlx4: Remove unused macro
Mykola Lysenko (4):
drm/dp/mst: process broadcast messages correctly
drm/dp/mst: always send reply for UP request
drm/dp/mst: fix in MSTB RAD initialization
drm/dp/mst: fix in RAD element access
Naoya Horiguchi (1):
mm: soft-offline: check return value in second __get_any_page() call
Neal Cardwell (1):
tcp_yeah: don't set ssthresh below 2
Nicholas Bellinger (1):
iscsi-target: Fix potential dead-lock during node acl delete
Nicolas Boichat (2):
ALSA: pcm: Fix snd_pcm_hw_params struct copy in compat mode
ALSA: seq: Fix snd_seq_call_port_info_ioctl in compat mode
Nicolas Dichtel (1):
vxlan: fix test which detect duplicate vxlan iface
Nikolay Aleksandrov (2):
net: ipmr: fix static mfc/dev leaks on table destruction
bridge: fix lockdep addr_list_lock false positive splat
Nikolay Borisov (1):
dm thin: fix race condition when destroying thin pool workqueue
Oliver Freyermuth (1):
USB: cp210x: add ID for ELV Marble Sound Board 1
Oliver Neukum (1):
xhci: refuse loading if nousb is used
Oren Givon (1):
iwlwifi: update and fix 7265 series PCI IDs
Ouyang Zhaowei (Charles) (1):
x86/xen: don't reset vcpu_info on a cancelled suspend
Paolo Bonzini (2):
KVM: x86: expose MSR_TSC_AUX to userspace
KVM: x86: correctly print #AC in traces
Peter Wu (1):
rtlwifi: fix memory leak for USB device
Rabin Vincent (2):
cifs: fix race between call_async() and reconnect()
net: bpf: reject invalid shifts
Rich Felker (1):
MAINTAINERS: return arch/sh to maintained state, with new maintainers
Richard Cochran (1):
posix-clock: Fix return code on the poll method's error path
Roman Volkov (1):
clocksource/drivers/vt8500: Increase the minimum delta
Russell King (2):
[media] rc: allow rc modules to be loaded if rc-main is not a module
mmc: sd: limit SD card power limit according to cards capabilities
Sasha Levin (2):
power: test_power: correctly handle empty writes
net: sctp: prevent writes to cookie_hmac_alg from accessing invalid memory
Sebastian Andrzej Siewior (1):
btrfs: initialize the seq counter in struct btrfs_device
Sergey Senozhatsky (2):
scripts/bloat-o-meter: fix python3 syntax error
zram/zcomp: use GFP_NOIO to allocate streams
Stefan Bader (1):
bcache: prevent crash on changing writeback_running
Stefan Wahren (1):
pinctrl: bcm2835: Fix memory leak in error path
Stephane Eranian (1):
perf/x86: Fix filter_events() bug with event mappings
Steven Rostedt (1):
tools lib traceevent: Fix output of %llu for 64 bit values read on 32 bit machines
Sudip Mukherjee (1):
m32r: fix m32104ut_defconfig build fail
Sven Eckelmann (7):
batman-adv: Avoid recursive call_rcu for batadv_bla_claim
batman-adv: Avoid recursive call_rcu for batadv_nc_node
batman-adv: Drop immediate batadv_orig_ifinfo free function
batman-adv: Drop immediate batadv_neigh_node free function
batman-adv: Drop immediate neigh_ifinfo free function
batman-adv: Drop immediate batadv_hard_iface free function
batman-adv: Drop immediate orig_node free function
Takashi Iwai (11):
ALSA: seq: Fix missing NULL check at remove_events ioctl
ALSA: seq: Fix race at timer setup and close
ALSA: usb-audio: Fix mixer ctl regression of Native Instrument devices
ALSA: timer: Fix double unlink of active_list
ALSA: timer: Fix race among timer ioctls
ALSA: timer: Harden slave timer list handling
ALSA: hda - Fix bass pin fixup for ASUS N550JX
ALSA: hrtimer: Fix stall by hrtimer_cancel()
ALSA: control: Avoid kernel warnings from tlv ioctl with numid 0
ALSA: hda - Flush the pending probe work at remove
ALSA: timer: Handle disconnection more safely
Tariq Saeed (1):
ocfs2: NFS hangs in __ocfs2_cluster_lock due to race with ocfs2_unblock_lock
Tejun Heo (1):
printk: do cond_resched() between lines while outputting to consoles
Thomas Gleixner (1):
futex: Drop refcount if requeue_pi() acquired the rtmutex
Trond Myklebust (3):
NFSv4: Don't perform cached access checks before we've OPENed the file
NFS: Ensure we revalidate attributes before using execute_ok()
NFS: Fix attribute cache revalidation
Ulrich Weigand (2):
scripts/recordmcount.pl: support data in text section on powerpc
powerpc/module: Handle R_PPC64_ENTRY relocations
Uri Mashiach (2):
wlcore/wl12xx: spi: fix oops on firmware load
wlcore/wl12xx: spi: fix NULL pointer dereference (Oops)
Vasily Averin (1):
cifs_dbg() outputs an uninitialized buffer in cifs_readdir()
Vegard Nossum (4):
udf: limit the maximum number of indirect extents in a row
uml: fix hostfs mknod()
uml: flush stdout before forking
kconfig: return 'false' instead of 'no' in bool function
Vijay Pandurangan (1):
veth: don’t modify ip_summed; doing so treats packets with bad checksums as good.
Vinit Agnihotri (1):
IB/qib: Support creating qps with GFP_NOIO flag
Vinod Koul (1):
ASoC: compress: Fix compress device direction check
Vitaly Kuznetsov (2):
panic: release stale console lock to always get the logbuf printed out
kernel/panic.c: turn off locks debug before releasing console lock
Vito Caputo (1):
ovl: use a minimal buffer in ovl_copy_xattr
Wei Liu (2):
xen-netback: respect user provided max_queues
xen-netfront: respect user provided max_queues
Will Deacon (2):
arm64: mm: ensure that the zero page is visible to the page table walker
arm64: mdscr_el1: avoid exposing DCC to userspace
Xin Long (1):
sctp: sctp should release assoc when sctp_make_abort_user return NULL in sctp_close
Zhang Rui (2):
Thermal: initialize thermal zone device correctly
Thermal: handle thermal zone device properly during system sleep
Zheng Liu (3):
bcache: fix a livelock when we cause a huge number of cache misses
bcache: clear BCACHE_DEV_UNLINK_DONE flag when attaching a backing device
bcache: unregister reboot notifier if bcache fails to unregister device
willy tarreau (1):
unix: properly account for FDs passed over unix sockets
xuejiufei (1):
ocfs2/dlm: ignore cleaning the migration mle that is inuse
[toc] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 174/210] vmstat: make vmstat_updater deferrable again and shut down on idle |
| Message-ID | <qW62R-3zN-1@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Christoph Lameter <cl@linux.com>
commit 0eb77e9880321915322d42913c3b53241739c8aa upstream.
Currently the vmstat updater is not deferrable as a result of commit
ba4877b9ca51 ("vmstat: do not use deferrable delayed work for
vmstat_update"). This in turn can cause multiple interruptions of the
applications because the vmstat updater may run at
Make vmstate_update deferrable again and provide a function that folds
the differentials when the processor is going to idle mode thus
addressing the issue of the above commit in a clean way.
Note that the shepherd thread will continue scanning the differentials
from another processor and will reenable the vmstat workers if it
detects any changes.
Fixes: ba4877b9ca51 ("vmstat: do not use deferrable delayed work for vmstat_update")
Signed-off-by: Christoph Lameter <cl@linux.com>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[ kamal: backport to 4.2-stable: context ]
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
include/linux/vmstat.h | 2 ++
kernel/sched/idle.c | 1 +
mm/vmstat.c | 69 ++++++++++++++++++++++++++++++++------------------
3 files changed, 47 insertions(+), 25 deletions(-)
diff --git a/include/linux/vmstat.h b/include/linux/vmstat.h
index 82e7db7..c013b8d 100644
--- a/include/linux/vmstat.h
+++ b/include/linux/vmstat.h
@@ -211,6 +211,7 @@ extern void __inc_zone_state(struct zone *, enum zone_stat_item);
extern void dec_zone_state(struct zone *, enum zone_stat_item);
extern void __dec_zone_state(struct zone *, enum zone_stat_item);
+void quiet_vmstat(void);
void cpu_vm_stats_fold(int cpu);
void refresh_zone_stat_thresholds(void);
@@ -272,6 +273,7 @@ static inline void __dec_zone_page_state(struct page *page,
static inline void refresh_cpu_vm_stats(int cpu) { }
static inline void refresh_zone_stat_thresholds(void) { }
static inline void cpu_vm_stats_fold(int cpu) { }
+static inline void quiet_vmstat(void) { }
static inline void drain_zonestat(struct zone *zone,
struct per_cpu_pageset *pset) { }
diff --git a/kernel/sched/idle.c b/kernel/sched/idle.c
index c47fce7..c232a2c 100644
--- a/kernel/sched/idle.c
+++ b/kernel/sched/idle.c
@@ -199,6 +199,7 @@ static void cpu_idle_loop(void)
*/
__current_set_polling();
+ quiet_vmstat();
tick_nohz_idle_enter();
while (!need_resched()) {
diff --git a/mm/vmstat.c b/mm/vmstat.c
index 24503df..8bf4322 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -457,7 +457,7 @@ static int fold_diff(int *diff)
*
* The function returns the number of global counters updated.
*/
-static int refresh_cpu_vm_stats(void)
+static int refresh_cpu_vm_stats(bool do_pagesets)
{
struct zone *zone;
int i;
@@ -481,33 +481,35 @@ static int refresh_cpu_vm_stats(void)
#endif
}
}
- cond_resched();
#ifdef CONFIG_NUMA
- /*
- * Deal with draining the remote pageset of this
- * processor
- *
- * Check if there are pages remaining in this pageset
- * if not then there is nothing to expire.
- */
- if (!__this_cpu_read(p->expire) ||
+ if (do_pagesets) {
+ cond_resched();
+ /*
+ * Deal with draining the remote pageset of this
+ * processor
+ *
+ * Check if there are pages remaining in this pageset
+ * if not then there is nothing to expire.
+ */
+ if (!__this_cpu_read(p->expire) ||
!__this_cpu_read(p->pcp.count))
- continue;
+ continue;
- /*
- * We never drain zones local to this processor.
- */
- if (zone_to_nid(zone) == numa_node_id()) {
- __this_cpu_write(p->expire, 0);
- continue;
- }
+ /*
+ * We never drain zones local to this processor.
+ */
+ if (zone_to_nid(zone) == numa_node_id()) {
+ __this_cpu_write(p->expire, 0);
+ continue;
+ }
- if (__this_cpu_dec_return(p->expire))
- continue;
+ if (__this_cpu_dec_return(p->expire))
+ continue;
- if (__this_cpu_read(p->pcp.count)) {
- drain_zone_pages(zone, this_cpu_ptr(&p->pcp));
- changes++;
+ if (__this_cpu_read(p->pcp.count)) {
+ drain_zone_pages(zone, this_cpu_ptr(&p->pcp));
+ changes++;
+ }
}
#endif
}
@@ -1362,7 +1364,7 @@ static cpumask_var_t cpu_stat_off;
static void vmstat_update(struct work_struct *w)
{
- if (refresh_cpu_vm_stats())
+ if (refresh_cpu_vm_stats(true))
/*
* Counters were updated so we expect more updates
* to occur in the future. Keep on running the
@@ -1394,6 +1396,23 @@ static void vmstat_update(struct work_struct *w)
}
/*
+ * Switch off vmstat processing and then fold all the remaining differentials
+ * until the diffs stay at zero. The function is used by NOHZ and can only be
+ * invoked when tick processing is not active.
+ */
+void quiet_vmstat(void)
+{
+ if (system_state != SYSTEM_RUNNING)
+ return;
+
+ do {
+ if (!cpumask_test_and_set_cpu(smp_processor_id(), cpu_stat_off))
+ cancel_delayed_work(this_cpu_ptr(&vmstat_work));
+
+ } while (refresh_cpu_vm_stats(false));
+}
+
+/*
* Check if the diffs for a certain cpu indicate that
* an update is needed.
*/
@@ -1425,7 +1444,7 @@ static bool need_update(int cpu)
*/
static void vmstat_shepherd(struct work_struct *w);
-static DECLARE_DELAYED_WORK(shepherd, vmstat_shepherd);
+static DECLARE_DEFERRABLE_WORK(shepherd, vmstat_shepherd);
static void vmstat_shepherd(struct work_struct *w)
{
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 201/210] batman-adv: Drop immediate batadv_neigh_node free function |
| Message-ID | <qW62R-3zN-3@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Sven Eckelmann <sven@narfation.org>
[ Upstream commit 2baa753c276f27f8e844637561ad597867aa6fb6 ]
It is not allowed to free the memory of an object which is part of a list
which is protected by rcu-read-side-critical sections without making sure
that no other context is accessing the object anymore. This usually happens
by removing the references to this object and then waiting until the rcu
grace period is over and no one (allowedly) accesses it anymore.
But the _now functions ignore this completely. They free the object
directly even when a different context still tries to access it. This has
to be avoided and thus these functions must be removed and all functions
have to use batadv_neigh_node_free_ref.
Fixes: 89652331c00f ("batman-adv: split tq information in neigh_node struct")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
net/batman-adv/originator.c | 33 ++++++++++-----------------------
1 file changed, 10 insertions(+), 23 deletions(-)
diff --git a/net/batman-adv/originator.c b/net/batman-adv/originator.c
index 751f769..edfb70e 100644
--- a/net/batman-adv/originator.c
+++ b/net/batman-adv/originator.c
@@ -210,20 +210,8 @@ static void batadv_neigh_node_free_rcu(struct rcu_head *rcu)
}
/**
- * batadv_neigh_node_free_ref_now - decrement the neighbors refcounter
- * and possibly free it (without rcu callback)
- * @neigh_node: neigh neighbor to free
- */
-static void
-batadv_neigh_node_free_ref_now(struct batadv_neigh_node *neigh_node)
-{
- if (atomic_dec_and_test(&neigh_node->refcount))
- batadv_neigh_node_free_rcu(&neigh_node->rcu);
-}
-
-/**
* batadv_neigh_node_free_ref - decrement the neighbors refcounter
- * and possibly free it
+ * and possibly release it
* @neigh_node: neigh neighbor to free
*/
void batadv_neigh_node_free_ref(struct batadv_neigh_node *neigh_node)
@@ -495,24 +483,23 @@ batadv_neigh_node_get(const struct batadv_orig_node *orig_node,
}
/**
- * batadv_orig_ifinfo_free_rcu - free the orig_ifinfo object
- * @rcu: rcu pointer of the orig_ifinfo object
+ * batadv_orig_ifinfo_release - release orig_ifinfo from lists and queue for
+ * free after rcu grace period
+ * @orig_ifinfo: the orig_ifinfo object to release
*/
-static void batadv_orig_ifinfo_free_rcu(struct rcu_head *rcu)
+static void batadv_orig_ifinfo_release(struct batadv_orig_ifinfo *orig_ifinfo)
{
- struct batadv_orig_ifinfo *orig_ifinfo;
struct batadv_neigh_node *router;
- orig_ifinfo = container_of(rcu, struct batadv_orig_ifinfo, rcu);
-
if (orig_ifinfo->if_outgoing != BATADV_IF_DEFAULT)
- batadv_hardif_free_ref_now(orig_ifinfo->if_outgoing);
+ batadv_hardif_free_ref(orig_ifinfo->if_outgoing);
/* this is the last reference to this object */
router = rcu_dereference_protected(orig_ifinfo->router, true);
if (router)
- batadv_neigh_node_free_ref_now(router);
- kfree(orig_ifinfo);
+ batadv_neigh_node_free_ref(router);
+
+ kfree_rcu(orig_ifinfo, rcu);
}
/**
@@ -523,7 +510,7 @@ static void batadv_orig_ifinfo_free_rcu(struct rcu_head *rcu)
void batadv_orig_ifinfo_free_ref(struct batadv_orig_ifinfo *orig_ifinfo)
{
if (atomic_dec_and_test(&orig_ifinfo->refcount))
- call_rcu(&orig_ifinfo->rcu, batadv_orig_ifinfo_free_rcu);
+ batadv_orig_ifinfo_release(orig_ifinfo);
}
/**
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 210/210] xfrm: dst_entries_init() per-net dst_ops |
| Message-ID | <qW62R-3zN-5@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Dan Streetman <dan.streetman@canonical.com>
[ Upstream commit a8a572a6b5f2a79280d6e302cb3c1cb1fbaeb3e8 ]
Remove the dst_entries_init/destroy calls for xfrm4 and xfrm6 dst_ops
templates; their dst_entries counters will never be used. Move the
xfrm dst_ops initialization from the common xfrm/xfrm_policy.c to
xfrm4/xfrm4_policy.c and xfrm6/xfrm6_policy.c, and call dst_entries_init
and dst_entries_destroy for each net namespace.
The ipv4 and ipv6 xfrms each create dst_ops template, and perform
dst_entries_init on the templates. The template values are copied to each
net namespace's xfrm.xfrm*_dst_ops. The problem there is the dst_ops
pcpuc_entries field is a percpu counter and cannot be used correctly by
simply copying it to another object.
The result of this is a very subtle bug; changes to the dst entries
counter from one net namespace may sometimes get applied to a different
net namespace dst entries counter. This is because of how the percpu
counter works; it has a main count field as well as a pointer to the
percpu variables. Each net namespace maintains its own main count
variable, but all point to one set of percpu variables. When any net
namespace happens to change one of the percpu variables to outside its
small batch range, its count is moved to the net namespace's main count
variable. So with multiple net namespaces operating concurrently, the
dst_ops entries counter can stray from the actual value that it should
be; if counts are consistently moved from one net namespace to another
(which my testing showed is likely), then one net namespace winds up
with a negative dst_ops count while another winds up with a continually
increasing count, eventually reaching its gc_thresh limit, which causes
all new traffic on the net namespace to fail with -ENOBUFS.
Signed-off-by: Dan Streetman <dan.streetman@canonical.com>
Signed-off-by: Dan Streetman <ddstreet@ieee.org>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
net/ipv4/xfrm4_policy.c | 46 +++++++++++++++++++++++++++++++++---------
net/ipv6/xfrm6_policy.c | 53 +++++++++++++++++++++++++++++++++++--------------
net/xfrm/xfrm_policy.c | 38 -----------------------------------
3 files changed, 75 insertions(+), 62 deletions(-)
diff --git a/net/ipv4/xfrm4_policy.c b/net/ipv4/xfrm4_policy.c
index 6156f68..94fc16d 100644
--- a/net/ipv4/xfrm4_policy.c
+++ b/net/ipv4/xfrm4_policy.c
@@ -230,7 +230,7 @@ static void xfrm4_dst_ifdown(struct dst_entry *dst, struct net_device *dev,
xfrm_dst_ifdown(dst, dev);
}
-static struct dst_ops xfrm4_dst_ops = {
+static struct dst_ops xfrm4_dst_ops_template = {
.family = AF_INET,
.protocol = cpu_to_be16(ETH_P_IP),
.gc = xfrm4_garbage_collect,
@@ -245,7 +245,7 @@ static struct dst_ops xfrm4_dst_ops = {
static struct xfrm_policy_afinfo xfrm4_policy_afinfo = {
.family = AF_INET,
- .dst_ops = &xfrm4_dst_ops,
+ .dst_ops = &xfrm4_dst_ops_template,
.dst_lookup = xfrm4_dst_lookup,
.get_saddr = xfrm4_get_saddr,
.decode_session = _decode_session4,
@@ -267,7 +267,7 @@ static struct ctl_table xfrm4_policy_table[] = {
{ }
};
-static int __net_init xfrm4_net_init(struct net *net)
+static int __net_init xfrm4_net_sysctl_init(struct net *net)
{
struct ctl_table *table;
struct ctl_table_header *hdr;
@@ -295,7 +295,7 @@ err_alloc:
return -ENOMEM;
}
-static void __net_exit xfrm4_net_exit(struct net *net)
+static void __net_exit xfrm4_net_sysctl_exit(struct net *net)
{
struct ctl_table *table;
@@ -307,12 +307,44 @@ static void __net_exit xfrm4_net_exit(struct net *net)
if (!net_eq(net, &init_net))
kfree(table);
}
+#else /* CONFIG_SYSCTL */
+static int inline xfrm4_net_sysctl_init(struct net *net)
+{
+ return 0;
+}
+
+static void inline xfrm4_net_sysctl_exit(struct net *net)
+{
+}
+#endif
+
+static int __net_init xfrm4_net_init(struct net *net)
+{
+ int ret;
+
+ memcpy(&net->xfrm.xfrm4_dst_ops, &xfrm4_dst_ops_template,
+ sizeof(xfrm4_dst_ops_template));
+ ret = dst_entries_init(&net->xfrm.xfrm4_dst_ops);
+ if (ret)
+ return ret;
+
+ ret = xfrm4_net_sysctl_init(net);
+ if (ret)
+ dst_entries_destroy(&net->xfrm.xfrm4_dst_ops);
+
+ return ret;
+}
+
+static void __net_exit xfrm4_net_exit(struct net *net)
+{
+ xfrm4_net_sysctl_exit(net);
+ dst_entries_destroy(&net->xfrm.xfrm4_dst_ops);
+}
static struct pernet_operations __net_initdata xfrm4_net_ops = {
.init = xfrm4_net_init,
.exit = xfrm4_net_exit,
};
-#endif
static void __init xfrm4_policy_init(void)
{
@@ -321,13 +353,9 @@ static void __init xfrm4_policy_init(void)
void __init xfrm4_init(void)
{
- dst_entries_init(&xfrm4_dst_ops);
-
xfrm4_state_init();
xfrm4_policy_init();
xfrm4_protocol_init();
-#ifdef CONFIG_SYSCTL
register_pernet_subsys(&xfrm4_net_ops);
-#endif
}
diff --git a/net/ipv6/xfrm6_policy.c b/net/ipv6/xfrm6_policy.c
index 48bf5a0..5d8f9c5 100644
--- a/net/ipv6/xfrm6_policy.c
+++ b/net/ipv6/xfrm6_policy.c
@@ -290,7 +290,7 @@ static void xfrm6_dst_ifdown(struct dst_entry *dst, struct net_device *dev,
xfrm_dst_ifdown(dst, dev);
}
-static struct dst_ops xfrm6_dst_ops = {
+static struct dst_ops xfrm6_dst_ops_template = {
.family = AF_INET6,
.protocol = cpu_to_be16(ETH_P_IPV6),
.gc = xfrm6_garbage_collect,
@@ -305,7 +305,7 @@ static struct dst_ops xfrm6_dst_ops = {
static struct xfrm_policy_afinfo xfrm6_policy_afinfo = {
.family = AF_INET6,
- .dst_ops = &xfrm6_dst_ops,
+ .dst_ops = &xfrm6_dst_ops_template,
.dst_lookup = xfrm6_dst_lookup,
.get_saddr = xfrm6_get_saddr,
.decode_session = _decode_session6,
@@ -338,7 +338,7 @@ static struct ctl_table xfrm6_policy_table[] = {
{ }
};
-static int __net_init xfrm6_net_init(struct net *net)
+static int __net_init xfrm6_net_sysctl_init(struct net *net)
{
struct ctl_table *table;
struct ctl_table_header *hdr;
@@ -366,7 +366,7 @@ err_alloc:
return -ENOMEM;
}
-static void __net_exit xfrm6_net_exit(struct net *net)
+static void __net_exit xfrm6_net_sysctl_exit(struct net *net)
{
struct ctl_table *table;
@@ -378,24 +378,52 @@ static void __net_exit xfrm6_net_exit(struct net *net)
if (!net_eq(net, &init_net))
kfree(table);
}
+#else /* CONFIG_SYSCTL */
+static int inline xfrm6_net_sysctl_init(struct net *net)
+{
+ return 0;
+}
+
+static void inline xfrm6_net_sysctl_exit(struct net *net)
+{
+}
+#endif
+
+static int __net_init xfrm6_net_init(struct net *net)
+{
+ int ret;
+
+ memcpy(&net->xfrm.xfrm6_dst_ops, &xfrm6_dst_ops_template,
+ sizeof(xfrm6_dst_ops_template));
+ ret = dst_entries_init(&net->xfrm.xfrm6_dst_ops);
+ if (ret)
+ return ret;
+
+ ret = xfrm6_net_sysctl_init(net);
+ if (ret)
+ dst_entries_destroy(&net->xfrm.xfrm6_dst_ops);
+
+ return ret;
+}
+
+static void __net_exit xfrm6_net_exit(struct net *net)
+{
+ xfrm6_net_sysctl_exit(net);
+ dst_entries_destroy(&net->xfrm.xfrm6_dst_ops);
+}
static struct pernet_operations xfrm6_net_ops = {
.init = xfrm6_net_init,
.exit = xfrm6_net_exit,
};
-#endif
int __init xfrm6_init(void)
{
int ret;
- dst_entries_init(&xfrm6_dst_ops);
-
ret = xfrm6_policy_init();
- if (ret) {
- dst_entries_destroy(&xfrm6_dst_ops);
+ if (ret)
goto out;
- }
ret = xfrm6_state_init();
if (ret)
goto out_policy;
@@ -404,9 +432,7 @@ int __init xfrm6_init(void)
if (ret)
goto out_state;
-#ifdef CONFIG_SYSCTL
register_pernet_subsys(&xfrm6_net_ops);
-#endif
out:
return ret;
out_state:
@@ -418,11 +444,8 @@ out_policy:
void xfrm6_fini(void)
{
-#ifdef CONFIG_SYSCTL
unregister_pernet_subsys(&xfrm6_net_ops);
-#endif
xfrm6_protocol_fini();
xfrm6_policy_fini();
xfrm6_state_fini();
- dst_entries_destroy(&xfrm6_dst_ops);
}
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
index cee479b..daabfdc 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -2806,7 +2806,6 @@ static struct neighbour *xfrm_neigh_lookup(const struct dst_entry *dst,
int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo)
{
- struct net *net;
int err = 0;
if (unlikely(afinfo == NULL))
return -EINVAL;
@@ -2837,26 +2836,6 @@ int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo)
}
spin_unlock(&xfrm_policy_afinfo_lock);
- rtnl_lock();
- for_each_net(net) {
- struct dst_ops *xfrm_dst_ops;
-
- switch (afinfo->family) {
- case AF_INET:
- xfrm_dst_ops = &net->xfrm.xfrm4_dst_ops;
- break;
-#if IS_ENABLED(CONFIG_IPV6)
- case AF_INET6:
- xfrm_dst_ops = &net->xfrm.xfrm6_dst_ops;
- break;
-#endif
- default:
- BUG();
- }
- *xfrm_dst_ops = *afinfo->dst_ops;
- }
- rtnl_unlock();
-
return err;
}
EXPORT_SYMBOL(xfrm_policy_register_afinfo);
@@ -2892,22 +2871,6 @@ int xfrm_policy_unregister_afinfo(struct xfrm_policy_afinfo *afinfo)
}
EXPORT_SYMBOL(xfrm_policy_unregister_afinfo);
-static void __net_init xfrm_dst_ops_init(struct net *net)
-{
- struct xfrm_policy_afinfo *afinfo;
-
- rcu_read_lock();
- afinfo = rcu_dereference(xfrm_policy_afinfo[AF_INET]);
- if (afinfo)
- net->xfrm.xfrm4_dst_ops = *afinfo->dst_ops;
-#if IS_ENABLED(CONFIG_IPV6)
- afinfo = rcu_dereference(xfrm_policy_afinfo[AF_INET6]);
- if (afinfo)
- net->xfrm.xfrm6_dst_ops = *afinfo->dst_ops;
-#endif
- rcu_read_unlock();
-}
-
static int xfrm_dev_event(struct notifier_block *this, unsigned long event, void *ptr)
{
struct net_device *dev = netdev_notifier_info_to_dev(ptr);
@@ -3056,7 +3019,6 @@ static int __net_init xfrm_net_init(struct net *net)
rv = xfrm_policy_init(net);
if (rv < 0)
goto out_policy;
- xfrm_dst_ops_init(net);
rv = xfrm_sysctl_init(net);
if (rv < 0)
goto out_sysctl;
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 052/210] rtlwifi: rtl8192ce: Fix handling of module parameters |
| Message-ID | <qW62S-3zN-7@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Larry Finger <Larry.Finger@lwfinger.net>
commit b24f19f16b9e43f54218c07609b783ea8625406a upstream.
The module parameter for software encryption was never transferred to
the location used by the driver.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
drivers/net/wireless/rtlwifi/rtl8192ce/sw.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c b/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c
index dd5aa08..1014de8 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c
@@ -139,6 +139,8 @@ int rtl92c_init_sw_vars(struct ieee80211_hw *hw)
rtlpriv->psc.inactiveps = rtlpriv->cfg->mod_params->inactiveps;
rtlpriv->psc.swctrl_lps = rtlpriv->cfg->mod_params->swctrl_lps;
rtlpriv->psc.fwctrl_lps = rtlpriv->cfg->mod_params->fwctrl_lps;
+ rtlpriv->cfg->mod_params->sw_crypto =
+ rtlpriv->cfg->mod_params->sw_crypto;
if (!rtlpriv->psc.inactiveps)
pr_info("rtl8192ce: Power Save off (module option)\n");
if (!rtlpriv->psc.fwctrl_lps)
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 121/210] memcg: only free spare array when readers are done |
| Message-ID | <qW62S-3zN-9@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Martijn Coenen <maco@google.com>
commit 6611d8d76132f86faa501de9451a89bf23fb2371 upstream.
A spare array holding mem cgroup threshold events is kept around to make
sure we can always safely deregister an event and have an array to store
the new set of events in.
In the scenario where we're going from 1 to 0 registered events, the
pointer to the primary array containing 1 event is copied to the spare
slot, and then the spare slot is freed because no events are left.
However, it is freed before calling synchronize_rcu(), which means
readers may still be accessing threshold->primary after it is freed.
Fixed by only freeing after synchronize_rcu().
Signed-off-by: Martijn Coenen <maco@google.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Vladimir Davydov <vdavydov@virtuozzo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
mm/memcontrol.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index fd6f44a..2164b6d 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -4050,16 +4050,17 @@ static void __mem_cgroup_usage_unregister_event(struct mem_cgroup *memcg,
swap_buffers:
/* Swap primary and spare array */
thresholds->spare = thresholds->primary;
- /* If all events are unregistered, free the spare array */
- if (!new) {
- kfree(thresholds->spare);
- thresholds->spare = NULL;
- }
rcu_assign_pointer(thresholds->primary, new);
/* To be sure that nobody uses thresholds */
synchronize_rcu();
+
+ /* If all events are unregistered, free the spare array */
+ if (!new) {
+ kfree(thresholds->spare);
+ thresholds->spare = NULL;
+ }
unlock:
mutex_unlock(&memcg->thresholds_lock);
}
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 197/210] bridge: fix lockdep addr_list_lock false positive splat |
| Message-ID | <qW62T-3zN-13@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
[ Upstream commit c6894dec8ea9ae05747124dce98b3b5c2e69b168 ]
After promisc mode management was introduced a bridge device could do
dev_set_promiscuity from its ndo_change_rx_flags() callback which in
turn can be called after the bridge's addr_list_lock has been taken
(e.g. by dev_uc_add). This causes a false positive lockdep splat because
the port interfaces' addr_list_lock is taken when br_manage_promisc()
runs after the bridge's addr list lock was already taken.
To remove the false positive introduce a custom bridge addr_list_lock
class and set it on bridge init.
A simple way to reproduce this is with the following:
$ brctl addbr br0
$ ip l add l br0 br0.100 type vlan id 100
$ ip l set br0 up
$ ip l set br0.100 up
$ echo 1 > /sys/class/net/br0/bridge/vlan_filtering
$ brctl addif br0 eth0
Splat:
[ 43.684325] =============================================
[ 43.684485] [ INFO: possible recursive locking detected ]
[ 43.684636] 4.4.0-rc8+ #54 Not tainted
[ 43.684755] ---------------------------------------------
[ 43.684906] brctl/1187 is trying to acquire lock:
[ 43.685047] (_xmit_ETHER){+.....}, at: [<ffffffff8150169e>] dev_set_rx_mode+0x1e/0x40
[ 43.685460] but task is already holding lock:
[ 43.685618] (_xmit_ETHER){+.....}, at: [<ffffffff815072a7>] dev_uc_add+0x27/0x80
[ 43.686015] other info that might help us debug this:
[ 43.686316] Possible unsafe locking scenario:
[ 43.686743] CPU0
[ 43.686967] ----
[ 43.687197] lock(_xmit_ETHER);
[ 43.687544] lock(_xmit_ETHER);
[ 43.687886] *** DEADLOCK ***
[ 43.688438] May be due to missing lock nesting notation
[ 43.688882] 2 locks held by brctl/1187:
[ 43.689134] #0: (rtnl_mutex){+.+.+.}, at: [<ffffffff81510317>] rtnl_lock+0x17/0x20
[ 43.689852] #1: (_xmit_ETHER){+.....}, at: [<ffffffff815072a7>] dev_uc_add+0x27/0x80
[ 43.690575] stack backtrace:
[ 43.690970] CPU: 0 PID: 1187 Comm: brctl Not tainted 4.4.0-rc8+ #54
[ 43.691270] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.8.1-20150318_183358- 04/01/2014
[ 43.691770] ffffffff826a25c0 ffff8800369fb8e0 ffffffff81360ceb ffffffff826a25c0
[ 43.692425] ffff8800369fb9b8 ffffffff810d0466 ffff8800369fb968 ffffffff81537139
[ 43.693071] ffff88003a08c880 0000000000000000 00000000ffffffff 0000000002080020
[ 43.693709] Call Trace:
[ 43.693931] [<ffffffff81360ceb>] dump_stack+0x4b/0x70
[ 43.694199] [<ffffffff810d0466>] __lock_acquire+0x1e46/0x1e90
[ 43.694483] [<ffffffff81537139>] ? netlink_broadcast_filtered+0x139/0x3e0
[ 43.694789] [<ffffffff8153b5da>] ? nlmsg_notify+0x5a/0xc0
[ 43.695064] [<ffffffff810d10f5>] lock_acquire+0xe5/0x1f0
[ 43.695340] [<ffffffff8150169e>] ? dev_set_rx_mode+0x1e/0x40
[ 43.695623] [<ffffffff815edea5>] _raw_spin_lock_bh+0x45/0x80
[ 43.695901] [<ffffffff8150169e>] ? dev_set_rx_mode+0x1e/0x40
[ 43.696180] [<ffffffff8150169e>] dev_set_rx_mode+0x1e/0x40
[ 43.696460] [<ffffffff8150189c>] dev_set_promiscuity+0x3c/0x50
[ 43.696750] [<ffffffffa0586845>] br_port_set_promisc+0x25/0x50 [bridge]
[ 43.697052] [<ffffffffa05869aa>] br_manage_promisc+0x8a/0xe0 [bridge]
[ 43.697348] [<ffffffffa05826ee>] br_dev_change_rx_flags+0x1e/0x20 [bridge]
[ 43.697655] [<ffffffff81501532>] __dev_set_promiscuity+0x132/0x1f0
[ 43.697943] [<ffffffff81501672>] __dev_set_rx_mode+0x82/0x90
[ 43.698223] [<ffffffff815072de>] dev_uc_add+0x5e/0x80
[ 43.698498] [<ffffffffa05b3c62>] vlan_device_event+0x542/0x650 [8021q]
[ 43.698798] [<ffffffff8109886d>] notifier_call_chain+0x5d/0x80
[ 43.699083] [<ffffffff810988b6>] raw_notifier_call_chain+0x16/0x20
[ 43.699374] [<ffffffff814f456e>] call_netdevice_notifiers_info+0x6e/0x80
[ 43.699678] [<ffffffff814f4596>] call_netdevice_notifiers+0x16/0x20
[ 43.699973] [<ffffffffa05872be>] br_add_if+0x47e/0x4c0 [bridge]
[ 43.700259] [<ffffffffa058801e>] add_del_if+0x6e/0x80 [bridge]
[ 43.700548] [<ffffffffa0588b5f>] br_dev_ioctl+0xaf/0xc0 [bridge]
[ 43.700836] [<ffffffff8151a7ac>] dev_ifsioc+0x30c/0x3c0
[ 43.701106] [<ffffffff8151aac9>] dev_ioctl+0xf9/0x6f0
[ 43.701379] [<ffffffff81254345>] ? mntput_no_expire+0x5/0x450
[ 43.701665] [<ffffffff812543ee>] ? mntput_no_expire+0xae/0x450
[ 43.701947] [<ffffffff814d7b02>] sock_do_ioctl+0x42/0x50
[ 43.702219] [<ffffffff814d8175>] sock_ioctl+0x1e5/0x290
[ 43.702500] [<ffffffff81242d0b>] do_vfs_ioctl+0x2cb/0x5c0
[ 43.702771] [<ffffffff81243079>] SyS_ioctl+0x79/0x90
[ 43.703033] [<ffffffff815eebb6>] entry_SYSCALL_64_fastpath+0x16/0x7a
CC: Vlad Yasevich <vyasevic@redhat.com>
CC: Stephen Hemminger <stephen@networkplumber.org>
CC: Bridge list <bridge@lists.linux-foundation.org>
CC: Andy Gospodarek <gospo@cumulusnetworks.com>
CC: Roopa Prabhu <roopa@cumulusnetworks.com>
Fixes: 2796d0c648c9 ("bridge: Automatically manage port promiscuous mode.")
Reported-by: Andy Gospodarek <gospo@cumulusnetworks.com>
Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
net/bridge/br_device.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c
index ffd379d..986ff12 100644
--- a/net/bridge/br_device.c
+++ b/net/bridge/br_device.c
@@ -25,6 +25,8 @@
#define COMMON_FEATURES (NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_HIGHDMA | \
NETIF_F_GSO_MASK | NETIF_F_HW_CSUM)
+static struct lock_class_key bridge_netdev_addr_lock_key;
+
/* net device transmit always called with BH disabled */
netdev_tx_t br_dev_xmit(struct sk_buff *skb, struct net_device *dev)
{
@@ -85,6 +87,11 @@ out:
return NETDEV_TX_OK;
}
+static void br_set_lockdep_class(struct net_device *dev)
+{
+ lockdep_set_class(&dev->addr_list_lock, &bridge_netdev_addr_lock_key);
+}
+
static int br_dev_init(struct net_device *dev)
{
struct net_bridge *br = netdev_priv(dev);
@@ -97,6 +104,7 @@ static int br_dev_init(struct net_device *dev)
err = br_vlan_init(br);
if (err)
free_percpu(br->stats);
+ br_set_lockdep_class(dev);
return err;
}
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 208/210] xen-netfront: respect user provided max_queues |
| Message-ID | <qW62S-3zN-11@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Wei Liu <wei.liu2@citrix.com>
[ Upstream commit 32a844056fd43dda647e1c3c6b9983bdfa04d17d ]
Originally that parameter was always reset to num_online_cpus during
module initialisation, which renders it useless.
The fix is to only set max_queues to num_online_cpus when user has not
provided a value.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: David Vrabel <david.vrabel@citrix.com>
Tested-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
drivers/net/xen-netfront.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 76ce69c..e315fee 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -2229,8 +2229,11 @@ static int __init netif_init(void)
pr_info("Initialising Xen virtual ethernet driver\n");
- /* Allow as many queues as there are CPUs, by default */
- xennet_max_queues = num_online_cpus();
+ /* Allow as many queues as there are CPUs if user has not
+ * specified a value.
+ */
+ if (xennet_max_queues == 0)
+ xennet_max_queues = num_online_cpus();
return xenbus_register_frontend(&netfront_driver);
}
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 193/210] bonding: Prevent IPv6 link local address on enslaved devices |
| Message-ID | <qW62T-3zN-17@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Karl Heiss <kheiss@gmail.com>
[ Upstream commit 03d84a5f83a67e692af00a3d3901e7820e3e84d5 ]
Commit 1f718f0f4f97 ("bonding: populate neighbour's private on enslave")
undoes the fix provided by commit c2edacf80e15 ("bonding / ipv6: no addrconf
for slaves separately from master") by effectively setting the slave flag
after the slave has been opened. If the slave comes up quickly enough, it
will go through the IPv6 addrconf before the slave flag has been set and
will get a link local IPv6 address.
In order to ensure that addrconf knows to ignore the slave devices on state
change, set IFF_SLAVE before dev_open() during bonding enslavement.
Fixes: 1f718f0f4f97 ("bonding: populate neighbour's private on enslave")
Signed-off-by: Karl Heiss <kheiss@gmail.com>
Signed-off-by: Jay Vosburgh <jay.vosburgh@canonical.com>
Reviewed-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Andy Gospodarek <gospo@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
drivers/net/bonding/bond_main.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 719ebf3..90c4e00 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -1154,7 +1154,6 @@ static int bond_master_upper_dev_link(struct net_device *bond_dev,
err = netdev_master_upper_dev_link_private(slave_dev, bond_dev, slave);
if (err)
return err;
- slave_dev->flags |= IFF_SLAVE;
rtmsg_ifinfo(RTM_NEWLINK, slave_dev, IFF_SLAVE, GFP_KERNEL);
return 0;
}
@@ -1362,6 +1361,9 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
}
}
+ /* set slave flag before open to prevent IPv6 addrconf */
+ slave_dev->flags |= IFF_SLAVE;
+
/* open the slave since the application closed it */
res = dev_open(slave_dev);
if (res) {
@@ -1618,6 +1620,7 @@ err_close:
dev_close(slave_dev);
err_restore_mac:
+ slave_dev->flags &= ~IFF_SLAVE;
if (!bond->params.fail_over_mac ||
BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP) {
/* XXX TODO - fom follow mode needs to change master's
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 172/210] mmc: sd: limit SD card power limit according to cards capabilities |
| Message-ID | <qW62T-3zN-15@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Russell King <rmk+kernel@arm.linux.org.uk>
commit d9812780a020bcec44565b5950b2a8b31afb5545 upstream.
The SD card specification allows cards to error out a SWITCH command
where the requested function in a group is not supported. The spec
provides for a set of capabilities which indicate which functions are
supported.
In the case of the power limit, requesting an unsupported power level
via the SWITCH command fails, resulting in the power level remaining at
the power-on default of 0.72W, even though the host and card may support
higher powers levels.
This has been seen with SanDisk 8GB cards, which support the default
0.72W and 1.44W (200mA and 400mA) in combination with an iMX6 host,
supporting up to 2.88W (800mA). This currently causes us to try to set
a power limit function value of '3' (2.88W) which the card errors out
on, and thereby causes the power level to remain at 0.72W rather than
the desired 1.44W.
Arrange to limit the selected current limit by the capabilities reported
by the card to avoid the SWITCH command failing. Select the highest
current limit that the host and card combination support.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Fixes: a39ca6ae0a08 ("mmc: core: Simplify and fix for SD switch processing")
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
drivers/mmc/core/sd.c | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
index d90a6de..a1efd65 100644
--- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c
@@ -329,6 +329,7 @@ static int mmc_read_switch(struct mmc_card *card)
card->sw_caps.sd3_bus_mode = status[13];
/* Driver Strengths supported by the card */
card->sw_caps.sd3_drv_type = status[9];
+ card->sw_caps.sd3_curr_limit = status[7] | status[6] << 8;
}
out:
@@ -580,14 +581,25 @@ static int sd_set_current_limit(struct mmc_card *card, u8 *status)
* when we set current limit to 200ma, the card will draw 200ma, and
* when we set current limit to 400/600/800ma, the card will draw its
* maximum 300ma from the host.
+ *
+ * The above is incorrect: if we try to set a current limit that is
+ * not supported by the card, the card can rightfully error out the
+ * attempt, and remain at the default current limit. This results
+ * in a 300mA card being limited to 200mA even though the host
+ * supports 800mA. Failures seen with SanDisk 8GB UHS cards with
+ * an iMX6 host. --rmk
*/
- if (max_current >= 800)
+ if (max_current >= 800 &&
+ card->sw_caps.sd3_curr_limit & SD_MAX_CURRENT_800)
current_limit = SD_SET_CURRENT_LIMIT_800;
- else if (max_current >= 600)
+ else if (max_current >= 600 &&
+ card->sw_caps.sd3_curr_limit & SD_MAX_CURRENT_600)
current_limit = SD_SET_CURRENT_LIMIT_600;
- else if (max_current >= 400)
+ else if (max_current >= 400 &&
+ card->sw_caps.sd3_curr_limit & SD_MAX_CURRENT_400)
current_limit = SD_SET_CURRENT_LIMIT_400;
- else if (max_current >= 200)
+ else if (max_current >= 200 &&
+ card->sw_caps.sd3_curr_limit & SD_MAX_CURRENT_200)
current_limit = SD_SET_CURRENT_LIMIT_200;
if (current_limit != SD_SET_CURRENT_NO_CHANGE) {
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 004/210] ovl: allow zero size xattr |
| Message-ID | <qW62T-3zN-19@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Miklos Szeredi <miklos@szeredi.hu>
commit 97daf8b97ad6f913a34c82515be64dc9ac08d63e upstream.
When ovl_copy_xattr() encountered a zero size xattr no more xattrs were
copied and the function returned success. This is clearly not the desired
behavior.
Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
fs/overlayfs/copy_up.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/overlayfs/copy_up.c b/fs/overlayfs/copy_up.c
index 319c487..37b1b9e 100644
--- a/fs/overlayfs/copy_up.c
+++ b/fs/overlayfs/copy_up.c
@@ -54,7 +54,7 @@ int ovl_copy_xattr(struct dentry *old, struct dentry *new)
for (name = buf; name < (buf + list_size); name += strlen(name) + 1) {
size = vfs_getxattr(old, name, value, XATTR_SIZE_MAX);
- if (size <= 0) {
+ if (size < 0) {
error = size;
goto out_free_value;
}
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 134/210] ALSA: seq: Fix snd_seq_call_port_info_ioctl in compat mode |
| Message-ID | <qW62T-3zN-21@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Nicolas Boichat <drinkcat@chromium.org>
commit 9586495dc3011a80602329094e746dbce16cb1f1 upstream.
This reverts one hunk of
commit ef44a1ec6eee ("ALSA: sound/core: use memdup_user()"), which
replaced a number of kmalloc followed by memcpy with memdup calls.
In this case, we are copying from a struct snd_seq_port_info32 to a
struct snd_seq_port_info, but the latter is 4 bytes longer than the
32-bit version, so we need to separate kmalloc and copy calls.
Fixes: ef44a1ec6eee ('ALSA: sound/core: use memdup_user()')
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
sound/core/seq/seq_compat.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/sound/core/seq/seq_compat.c b/sound/core/seq/seq_compat.c
index 81f7c10..6517590 100644
--- a/sound/core/seq/seq_compat.c
+++ b/sound/core/seq/seq_compat.c
@@ -49,11 +49,12 @@ static int snd_seq_call_port_info_ioctl(struct snd_seq_client *client, unsigned
struct snd_seq_port_info *data;
mm_segment_t fs;
- data = memdup_user(data32, sizeof(*data32));
- if (IS_ERR(data))
- return PTR_ERR(data);
+ data = kmalloc(sizeof(*data), GFP_KERNEL);
+ if (!data)
+ return -ENOMEM;
- if (get_user(data->flags, &data32->flags) ||
+ if (copy_from_user(data, data32, sizeof(*data32)) ||
+ get_user(data->flags, &data32->flags) ||
get_user(data->time_queue, &data32->time_queue))
goto error;
data->kernel = NULL;
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 205/210] team: Replace rcu_read_lock with a mutex in team_vlan_rx_kill_vid |
| Message-ID | <qW62T-3zN-27@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Ido Schimmel <idosch@mellanox.com>
[ Upstream commit 60a6531bfe49555581ccd65f66a350cc5693fcde ]
We can't be within an RCU read-side critical section when deleting
VLANs, as underlying drivers might sleep during the hardware operation.
Therefore, replace the RCU critical section with a mutex. This is
consistent with team_vlan_rx_add_vid.
Fixes: 3d249d4ca7d0 ("net: introduce ethernet teaming device")
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
drivers/net/team/team.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c
index 2c087ef..95627f8 100644
--- a/drivers/net/team/team.c
+++ b/drivers/net/team/team.c
@@ -1851,10 +1851,10 @@ static int team_vlan_rx_kill_vid(struct net_device *dev, __be16 proto, u16 vid)
struct team *team = netdev_priv(dev);
struct team_port *port;
- rcu_read_lock();
- list_for_each_entry_rcu(port, &team->port_list, list)
+ mutex_lock(&team->lock);
+ list_for_each_entry(port, &team->port_list, list)
vlan_vid_del(port->dev, proto, vid);
- rcu_read_unlock();
+ mutex_unlock(&team->lock);
return 0;
}
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 009/210] tools lib traceevent: Fix output of %llu for 64 bit values read on 32 bit machines |
| Message-ID | <qW62T-3zN-25@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Steven Rostedt <rostedt@goodmis.org>
commit 32abc2ede536aae52978d6c0a8944eb1df14f460 upstream.
When a long value is read on 32 bit machines for 64 bit output, the
parsing needs to change "%lu" into "%llu", as the value is read
natively.
Unfortunately, if "%llu" is already there, the code will add another "l"
to it and fail to parse it properly.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/20151116172516.4b79b109@gandalf.local.home
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
tools/lib/traceevent/event-parse.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c
index dfb8be7..0c81ca7d 100644
--- a/tools/lib/traceevent/event-parse.c
+++ b/tools/lib/traceevent/event-parse.c
@@ -4399,13 +4399,12 @@ static void pretty_print(struct trace_seq *s, void *data, int size, struct event
sizeof(long) != 8) {
char *p;
- ls = 2;
/* make %l into %ll */
- p = strchr(format, 'l');
- if (p)
+ if (ls == 1 && (p = strchr(format, 'l')))
memmove(p+1, p, strlen(p)+1);
else if (strcmp(format, "%p") == 0)
strcpy(format, "0x%llx");
+ ls = 2;
}
switch (ls) {
case -2:
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 057/210] bcache: Add a cond_resched() call to gc |
| Message-ID | <qW62T-3zN-23@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Kent Overstreet <kmo@daterainc.com>
commit c5f1e5adf956e3ba82d204c7c141a75da9fa449a upstream.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Tested-by: Eric Wheeler <bcache@linux.ewheeler.net>
Cc: Kent Overstreet <kmo@daterainc.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
drivers/md/bcache/btree.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/md/bcache/btree.c b/drivers/md/bcache/btree.c
index 9aaa8f8..43829d9 100644
--- a/drivers/md/bcache/btree.c
+++ b/drivers/md/bcache/btree.c
@@ -1741,6 +1741,7 @@ static void bch_btree_gc(struct cache_set *c)
do {
ret = btree_root(gc_root, c, &op, &writes, &stats);
closure_sync(&writes);
+ cond_resched();
if (ret && ret != -EAGAIN)
pr_warn("gc failed!");
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 060/210] bcache: unregister reboot notifier if bcache fails to unregister device |
| Message-ID | <qW62T-3zN-29@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Zheng Liu <wenqing.lz@taobao.com>
commit 2ecf0cdb2b437402110ab57546e02abfa68a716b upstream.
In bcache_init() function it forgot to unregister reboot notifier if
bcache fails to unregister a block device. This commit fixes this.
Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Tested-by: Joshua Schmid <jschmid@suse.com>
Tested-by: Eric Wheeler <bcache@linux.ewheeler.net>
Cc: Kent Overstreet <kmo@daterainc.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
drivers/md/bcache/super.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
index 9d7b6ee..53f1512 100644
--- a/drivers/md/bcache/super.c
+++ b/drivers/md/bcache/super.c
@@ -2105,8 +2105,10 @@ static int __init bcache_init(void)
closure_debug_init();
bcache_major = register_blkdev(0, "bcache");
- if (bcache_major < 0)
+ if (bcache_major < 0) {
+ unregister_reboot_notifier(&reboot);
return bcache_major;
+ }
if (!(bcache_wq = create_workqueue("bcache")) ||
!(bcache_kobj = kobject_create_and_add("bcache", fs_kobj)) ||
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 194/210] phonet: properly unshare skbs in phonet_rcv() |
| Message-ID | <qW62T-3zN-31@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Eric Dumazet <edumazet@google.com>
[ Upstream commit 7aaed57c5c2890634cfadf725173c7c68ea4cb4f ]
Ivaylo Dimitrov reported a regression caused by commit 7866a621043f
("dev: add per net_device packet type chains").
skb->dev becomes NULL and we crash in __netif_receive_skb_core().
Before above commit, different kind of bugs or corruptions could happen
without major crash.
But the root cause is that phonet_rcv() can queue skb without checking
if skb is shared or not.
Many thanks to Ivaylo Dimitrov for his help, diagnosis and tests.
Reported-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Tested-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Remi Denis-Courmont <courmisch@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
net/phonet/af_phonet.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/net/phonet/af_phonet.c b/net/phonet/af_phonet.c
index 32ab87d..11d0b29 100644
--- a/net/phonet/af_phonet.c
+++ b/net/phonet/af_phonet.c
@@ -377,6 +377,10 @@ static int phonet_rcv(struct sk_buff *skb, struct net_device *dev,
struct sockaddr_pn sa;
u16 len;
+ skb = skb_share_check(skb, GFP_ATOMIC);
+ if (!skb)
+ return NET_RX_DROP;
+
/* check we have at least a full Phonet header */
if (!pskb_pull(skb, sizeof(struct phonethdr)))
goto out;
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 203/210] batman-adv: Drop immediate batadv_hard_iface free function |
| Message-ID | <qW62T-3zN-33@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Sven Eckelmann <sven@narfation.org>
[ Upstream commit b4d922cfc9c08318eeb77d53b7633740e6b0efb0 ]
It is not allowed to free the memory of an object which is part of a list
which is protected by rcu-read-side-critical sections without making sure
that no other context is accessing the object anymore. This usually happens
by removing the references to this object and then waiting until the rcu
grace period is over and no one (allowedly) accesses it anymore.
But the _now functions ignore this completely. They free the object
directly even when a different context still tries to access it. This has
to be avoided and thus these functions must be removed and all functions
have to use batadv_hardif_free_ref.
Fixes: 89652331c00f ("batman-adv: split tq information in neigh_node struct")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
net/batman-adv/hard-interface.h | 12 ------------
net/batman-adv/originator.c | 16 +++++++---------
2 files changed, 7 insertions(+), 21 deletions(-)
diff --git a/net/batman-adv/hard-interface.h b/net/batman-adv/hard-interface.h
index 1918cd5..b6bff9c 100644
--- a/net/batman-adv/hard-interface.h
+++ b/net/batman-adv/hard-interface.h
@@ -64,18 +64,6 @@ batadv_hardif_free_ref(struct batadv_hard_iface *hard_iface)
call_rcu(&hard_iface->rcu, batadv_hardif_free_rcu);
}
-/**
- * batadv_hardif_free_ref_now - decrement the hard interface refcounter and
- * possibly free it (without rcu callback)
- * @hard_iface: the hard interface to free
- */
-static inline void
-batadv_hardif_free_ref_now(struct batadv_hard_iface *hard_iface)
-{
- if (atomic_dec_and_test(&hard_iface->refcount))
- batadv_hardif_free_rcu(&hard_iface->rcu);
-}
-
static inline struct batadv_hard_iface *
batadv_primary_if_get_selected(struct batadv_priv *bat_priv)
{
diff --git a/net/batman-adv/originator.c b/net/batman-adv/originator.c
index 1d1123b..6c24428 100644
--- a/net/batman-adv/originator.c
+++ b/net/batman-adv/originator.c
@@ -175,24 +175,22 @@ void batadv_neigh_ifinfo_free_ref(struct batadv_neigh_ifinfo *neigh_ifinfo)
}
/**
- * batadv_neigh_node_free_rcu - free the neigh_node
- * @rcu: rcu pointer of the neigh_node
+ * batadv_neigh_node_release - release neigh_node from lists and queue for
+ * free after rcu grace period
+ * @neigh_node: neigh neighbor to free
*/
-static void batadv_neigh_node_free_rcu(struct rcu_head *rcu)
+static void batadv_neigh_node_release(struct batadv_neigh_node *neigh_node)
{
struct hlist_node *node_tmp;
- struct batadv_neigh_node *neigh_node;
struct batadv_neigh_ifinfo *neigh_ifinfo;
- neigh_node = container_of(rcu, struct batadv_neigh_node, rcu);
-
hlist_for_each_entry_safe(neigh_ifinfo, node_tmp,
&neigh_node->ifinfo_list, list) {
batadv_neigh_ifinfo_free_ref(neigh_ifinfo);
}
- batadv_hardif_free_ref_now(neigh_node->if_incoming);
+ batadv_hardif_free_ref(neigh_node->if_incoming);
- kfree(neigh_node);
+ kfree_rcu(neigh_node, rcu);
}
/**
@@ -203,7 +201,7 @@ static void batadv_neigh_node_free_rcu(struct rcu_head *rcu)
void batadv_neigh_node_free_ref(struct batadv_neigh_node *neigh_node)
{
if (atomic_dec_and_test(&neigh_node->refcount))
- call_rcu(&neigh_node->rcu, batadv_neigh_node_free_rcu);
+ batadv_neigh_node_release(neigh_node);
}
/**
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 046/210] rtlwifi: rtl8723be: Fix module parameter initialization |
| Message-ID | <qW62T-3zN-35@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Larry Finger <Larry.Finger@lwfinger.net>
commit 7079604ddb83f428359feace3aeaf8a9f435be4a upstream.
This driver has a number of errors in the module initialization. These
include the following:
Parameter msi_support is stored in two places - one is removed.
Paramters sw_crypto and disable_watchdog were never stored in the final
locations, nor were they initialized properly.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
drivers/net/wireless/rtlwifi/rtl8723be/sw.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/rtlwifi/rtl8723be/sw.c b/drivers/net/wireless/rtlwifi/rtl8723be/sw.c
index 775e7bc..d61563a 100644
--- a/drivers/net/wireless/rtlwifi/rtl8723be/sw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8723be/sw.c
@@ -93,7 +93,6 @@ int rtl8723be_init_sw_vars(struct ieee80211_hw *hw)
struct rtl_mac *mac = rtl_mac(rtl_priv(hw));
rtl8723be_bt_reg_init(hw);
- rtlpci->msi_support = rtlpriv->cfg->mod_params->msi_support;
rtlpriv->btcoexist.btc_ops = rtl_btc_get_ops_pointer();
rtlpriv->dm.dm_initialgain_enable = 1;
@@ -151,6 +150,10 @@ int rtl8723be_init_sw_vars(struct ieee80211_hw *hw)
rtlpriv->psc.swctrl_lps = rtlpriv->cfg->mod_params->swctrl_lps;
rtlpriv->psc.fwctrl_lps = rtlpriv->cfg->mod_params->fwctrl_lps;
rtlpci->msi_support = rtlpriv->cfg->mod_params->msi_support;
+ rtlpriv->cfg->mod_params->sw_crypto =
+ rtlpriv->cfg->mod_params->sw_crypto;
+ rtlpriv->cfg->mod_params->disable_watchdog =
+ rtlpriv->cfg->mod_params->disable_watchdog;
if (rtlpriv->cfg->mod_params->disable_watchdog)
pr_info("watchdog disabled\n");
rtlpriv->psc.reg_fwctrl_lps = 3;
@@ -267,6 +270,9 @@ static struct rtl_mod_params rtl8723be_mod_params = {
.inactiveps = true,
.swctrl_lps = false,
.fwctrl_lps = true,
+ .msi_support = false,
+ .disable_watchdog = false,
+ .debug = DBG_EMERG,
};
static struct rtl_hal_cfg rtl8723be_hal_cfg = {
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Kamal Mostafa <kamal@canonical.com> |
|---|---|
| Date | 2016-01-29 02:30 +0100 |
| Subject | [PATCH 3.19.y-ckt 161/210] mmc: sdhci: restore behavior when setting VDD via external regulator |
| Message-ID | <qW62U-3zN-41@gated-at.bofh.it> |
| In reply to | #1321181 |
3.19.8-ckt14 -stable review patch. If anyone has any objections, please let me know.
---8<------------------------------------------------------------
From: Jisheng Zhang <jszhang@marvell.com>
commit 918f4cbd4340ddd1eb389cd8efa3b07ac74ec4c0 upstream.
After commit 52221610dd84 ("mmc: sdhci: Improve external VDD regulator
support"), for the VDD is supplied via external regulators, we ignore
the code to convert a VDD voltage request into one of the standard
SDHCI voltage levels, then program it in the SDHCI_POWER_CONTROL. This
brings two issues:
1. SDHCI_QUIRK2_CARD_ON_NEEDS_BUS_ON quirk isn't handled properly any
more.
2. What's more, once SDHCI_POWER_ON bit is set, some controllers such
as the sdhci-pxav3 used in marvell berlin SoCs require the voltage
levels programming in the SDHCI_POWER_CONTROL register, even the VDD
is supplied by external regulator. So the host in marvell berlin SoCs
still works fine after the commit. However, commit 3cbc6123a93d ("mmc:
sdhci: Set SDHCI_POWER_ON with external vmmc") sets the SDHCI_POWER_ON
bit, this would make the host in marvell berlin SoCs won't work any
more with external vmmc.
This patch restores the behavior when setting VDD through external
regulator by moving the call of mmc_regulator_set_ocr() to the end
of sdhci_set_power() function.
After this patch, the sdcard on Marvell Berlin SoC boards work again.
Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Fixes: 52221610dd84 ("mmc: sdhci: Improve external VDD ...")
Reviewed-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Tested-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
drivers/mmc/host/sdhci.c | 19 ++++++-------------
1 file changed, 6 insertions(+), 13 deletions(-)
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index f4a7abf..b0585f6 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -1271,19 +1271,6 @@ static void sdhci_set_power(struct sdhci_host *host, unsigned char mode,
struct mmc_host *mmc = host->mmc;
u8 pwr = 0;
- if (!IS_ERR(mmc->supply.vmmc)) {
- spin_unlock_irq(&host->lock);
- mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, vdd);
- spin_lock_irq(&host->lock);
-
- if (mode != MMC_POWER_OFF)
- sdhci_writeb(host, SDHCI_POWER_ON, SDHCI_POWER_CONTROL);
- else
- sdhci_writeb(host, 0, SDHCI_POWER_CONTROL);
-
- return;
- }
-
if (mode != MMC_POWER_OFF) {
switch (1 << vdd) {
case MMC_VDD_165_195:
@@ -1342,6 +1329,12 @@ static void sdhci_set_power(struct sdhci_host *host, unsigned char mode,
if (host->quirks & SDHCI_QUIRK_DELAY_AFTER_POWER)
mdelay(10);
}
+
+ if (!IS_ERR(mmc->supply.vmmc)) {
+ spin_unlock_irq(&host->lock);
+ mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, vdd);
+ spin_lock_irq(&host->lock);
+ }
}
/*****************************************************************************\
--
1.9.1
[toc] | [prev] | [next] | [standalone]
Page 1 of 11 [1] 2 3 … 11 Next page →
Back to top | Article view | linux.kernel
csiph-web