aboutsummaryrefslogtreecommitdiff
path: root/kernel/gcov
Commit message (Collapse)AuthorAgeFilesLines
* Merge 3.18.100 into android-msm-marlin-3.18Thierry Strudel2018-03-201-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linux 3.18.100 fixup: sctp: verify size of a new chunk in _sctp_make_chunk() serial: 8250_pci: Add Brainboxes UC-260 4 port serial device usb: usbmon: Read text within supplied buffer size USB: usbmon: remove assignment from IS_ERR argument * usb: quirks: add control message delay for 1b1c:1b20 * staging: android: ashmem: Fix lockdep issue during llseek uas: fix comparison for error code tty/serial: atmel: add new version check for usart serial: sh-sci: prevent lockup on full TTY buffers x86: Treat R_X86_64_PLT32 as R_X86_64_PC32 x86/module: Detect and skip invalid relocations scripts: recordmcount: break hardlinks ubi: Fix race condition between ubi volume creation and udev netfilter: ipv6: fix use-after-free Write in nf_nat_ipv6_manip_pkt netfilter: bridge: ebt_among: add missing match size checks * netfilter: ebtables: CONFIG_COMPAT: don't trust userland offsets * netfilter: IDLETIMER: be syzkaller friendly * netfilter: nat: cope with negative port range netfilter: x_tables: fix missing timer initialization in xt_LED ALSA: seq: More protection for concurrent write and ioctl races ALSA: seq: Don't allow resizing pool in use x86/MCE: Serialize sysfs changes Input: matrix_keypad - fix race when disabling interrupts MIPS: BMIPS: Do not mask IPIs during suspend scsi: qla2xxx: Fix NULL pointer crash due to active timer for ABTS Linux 3.18.99 * dm io: fix duplicate bio completion due to missing ref count * fib_semantics: Don't match route with mismatching tclassid * net: ipv4: don't allow setting net.ipv4.route.min_pmtu below 68 sctp: verify size of a new chunk in _sctp_make_chunk() s390/qeth: fix IPA command submission race s390/qeth: fix SETIP command handling sctp: fix dst refcnt leak in sctp_v6_get_dst() * udplite: fix partial checksum initialization * ppp: prevent unregistered channels from connecting to PPP units * netlink: ensure to loop over all netns in genlmsg_multicast_allns() * net: fix race on decreasing number of TX queues * ipv6 sit: work around bogus gcc-8 -Wrestrict warning hdlc_ppp: carrier detect ok, don't turn off negotiation * bridge: check brport attr show in brport_show * leds: do not overflow sysfs buffer in led_trigger_show net: fec: introduce fec_ptp_stop and use in probe fail path ARM: mvebu: Fix broken PL310_ERRATA_753970 selects cpufreq: s3c24xx: Fix broken s3c_cpufreq_init() * ALSA: usb-audio: Add a quirck for B&W PX headphones tpm_i2c_nuvoton: fix potential buffer overruns caused by bit glitches on the bus tpm_i2c_infineon: fix potential buffer overruns caused by bit glitches on the bus Linux 3.18.98 net: gianfar_ptp: move set_fipers() to spinlock protecting area sctp: make use of pre-calculated len xen/gntdev: Fix partial gntdev_mmap() cleanup xen/gntdev: Fix off-by-one error when unmapping with holes SolutionEngine771x: fix Ether platform data mdio-sun4i: Fix a memory leak xen-netfront: enable device after manual module load drm/ttm: check the return value of kzalloc e1000: fix disabling already-disabled warning xfs: quota: check result of register_shrinker() xfs: quota: fix missed destroy of qi_tree_lock s390/dasd: fix wrongly assigned configuration data * led: core: Fix brightness setting when setting delay_off=0 bnx2x: Improve reliability in case of nested PCI errors tg3: Enable PHY reset in MTU change path for 5720 tg3: Add workaround to restrict 5762 MRRS to 2048 scsi: storvsc: Fix scsi_cmd error assignments in storvsc_handle_error net: arc_emac: fix arc_emac_rx() error paths spi: atmel: fixed spin_lock usage inside atmel_spi_remove * sget(): handle failures of register_shrinker() * ipv6: icmp6: Allow icmp messages to be looped back mtd: nand: gpmi: Fix failure when a erased page has a bitflip at BBM * hrtimer: Ensure POSIX compliance (relative CLOCK_REALTIME hrtimers) * ipv6: Skip XFRM lookup if dst_entry in socket cache is valid Linux 3.18.97 * ASN.1: fix out-of-bounds read when parsing indefinite length item * usb: gadget: f_fs: Process all descriptors during bind * usb: dwc3: gadget: Set maxpacket size for ep0 IN * arm64: Disable unhandled signal log messages by default * irqchip/gic-v3: Use wmb() instead of smb_wmb() in gic_raise_softirq() x86/oprofile: Fix bogus GCC-8 warning in nmi_setup() iio: adis_lib: Initialize trigger before requesting interrupt * iio: buffer: check if a buffer has been set up when poll is called cfg80211: fix cfg80211_beacon_dup scsi: ibmvfc: fix misdefined reserved field in ibmvfc_fcp_rsp_info PCI: keystone: Fix interrupt-controller-node lookup * netfilter: drop outermost socket lock in getsockopt() Linux 3.18.96 crypto: s5p-sss - Fix kernel Oops in AES-ECB mode KVM: async_pf: Fix #DF due to inject "Page not Present" and "Page Ready" exceptions simultaneously hippi: Fix a Fix a possible sleep-in-atomic bug in rr_close * xen: XEN_ACPI_PROCESSOR is Dom0-only x86/mm/kmmio: Fix mmiotrace for page unaligned addresses * mm/early_ioremap: Fix boot hang with earlyprintk=efi,keep dmaengine: jz4740: disable/unprepare clk if probe fails * xfrm: Fix stack-out-of-bounds with misconfigured transport mode policies. spi: sun4i: disable clocks in the remove function * 509: fix printing uninitialized stack memory when OID is empty btrfs: Fix possible off-by-one in btrfs_search_path_in_tree net_sched: red: Avoid illegal values net_sched: red: Avoid devision by zero gianfar: fix a flooded alignment reports because of padding issue. s390/dasd: prevent prefix I/O error powerpc/perf: Fix oops when grouping different pmu events scripts/kernel-doc: Don't fail with status != 0 if error encountered with -none media: s5k6aa: describe some function parameters perf bench numa: Fixup discontiguous/sparse numa nodes perf top: Fix window dimensions change handling ARM: dts: am4372: Correct the interrupts_properties of McASP ARM: AM33xx: PRM: Remove am33xx_pwrdm_read_prev_pwrst function * usb: build drivers/usb/common/ when USB_SUPPORT is set usbip: keep usbip_device sockfd state in sync with tcp_socket dn_getsockoptdecnet: move nf_{get/set}sockopt outside sock lock video: fbdev/mmp: add MODULE_LICENSE ASoC: ux500: add MODULE_LICENSE tag * selinux: ensure the context is NUL terminated in security_context_to_sid_core() * Provide a function to create a NUL-terminated string from unterminated data * net: avoid skb_warn_bad_offload on IS_ERR netfilter: xt_RATEEST: acquire xt_rateest_mutex for hash insert * netfilter: on sockopt() acquire sock lock only in the required scope netfilter: ipt_CLUSTERIP: fix out-of-bounds accesses in clusterip_tg_check() * netfilter: x_tables: avoid out-of-bounds reads in xt_request_find_{match|target} * netfilter: x_tables: fix int overflow in xt_alloc_table_info() crypto: x86/twofish-3way - Fix %rbp usage * selinux: skip bounded transition processing if the policy isn't loaded * xfrm: check id proto in validate_tmpl() * mm,vmscan: Make unregister_shrinker() no-op if register_shrinker() failed. media: r820t: fix r820t_write_reg for KASAN ARM: dts: s5pv210: add interrupt-parent for ohci ALSA: seq: Fix racy pool initializations Btrfs: fix crash due to not cleaning up tree log block's dirty bits Btrfs: fix deadlock in run_delalloc_nocow console/dummy: leave .con_font_get set to NULL video: fbdev: atmel_lcdfb: fix display-timings lookup ext4: correct documentation for grpid mount option * ext4: save error to disk in __ext4_grp_locked_error() drm/radeon: adjust tested variable ALSA: seq: Fix regression by incorrect ioctl_mutex usages arm: spear13xx: Fix spics gpio controller's warning arm: spear13xx: Fix dmas cells arm: spear600: Add missing interrupt-parent of rtc s390: fix handling of -1 in set{,fs}[gu]id16 syscalls * PM / devfreq: Propagate error from devfreq_add_device() IB/mlx4: Fix incorrectly releasing steerable UD QPs when have only ETH ports Linux 3.18.95 mn10300/misalignment: Use SIGSEGV SEGV_MAPERR to report a failed user copy ACPI: sbshc: remove raw pointer from printk() message pktcdvd: Fix pkt_setup_dev() error path EDAC, octeon: Fix an uninitialized variable warning xtensa: fix futex_atomic_cmpxchg_inatomic alpha: fix reboot on Avanti platform alpha: fix crash if pthread_create races with signal delivery signal/sh: Ensure si_signo is initialized in do_divide_error signal/openrisc: Fix do_unaligned_access to send the proper signal * kernel/async.c: revert "async: simplify lowest_in_progress()" media: cxusb, dib0700: ignore XC2028_I2C_FLUSH crypto: caam - fix endless loop when DECO acquire fails * crypto: cryptd - pass through absence of ->setkey() * crypto: hash - introduce crypto_hash_alg_has_setkey() * kernfs: fix regression in kernfs_fop_write caused by wrong type NFS: commit direct writes even if they fail partially NFS: Add a cond_resched() to nfs_commit_release_pages() mtd: nand: Fix nand_do_read_oob() return value media: dvb-usb-v2: lmedm04: move ts2020 attach to dm04_lme2510_tuner media: dvb-usb-v2: lmedm04: Improve logic checking of warm start dccp: CVE-2017-8824: use-after-free in DCCP code usbip: vhci: stop printing kernel pointer addresses in messages usbip: stub: stop printing kernel pointer addresses in messages usbip: prevent leaking socket pointer address in messages usbip: vhci-hcd: Add USB3 SuperSpeed support usb: usbip: Fix possible deadlocks reported by lockdep usbip: Fix potential format overflow in userspace tools usbip: prevent vhci_hcd driver from leaking a socket pointer address usbip: fix stub_rx: harden CMD_SUBMIT path to handle malicious input usbip: fix stub_rx: get_pipe() to validate endpoint number * posix-timer: Properly check sigevent->sigev_notify CIFS: zero sensitive data when freeing cifs: Fix autonegotiate security settings mismatch cifs: Fix missing put_xid in cifs_file_strict_mmap * ipv4: Map neigh lookup keys in __ipv4_neigh_lookup_noref() * KEYS: encrypted: fix buffer overread in valid_master_desc() ARM: exynos_defconfig: Enable NFSv4 client ARM: exynos_defconfig: Enable options to mount a rootfs via NFS * tcp: release sk_frag.page in tcp_disconnect r8169: fix RTL8168EP take too long to complete driver initialization. qlcnic: fix deadlock bug * net: igmp: add a missing rcu locking section ip6mr: fix stale iterator vhost_net: stop device during reset owner Linux 3.18.94 um: Fix out-of-tree build ASoC: pcm512x: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE spi: imx: do not access registers while clocks disabled * selinux: general protection fault in sock_has_perm usb: uas: unconditionally bring back host after reset * usb: f_fs: Prevent gadget unbind if it is already unbound * USB: serial: simple: add Motorola Tetra driver usbip: list: don't list devices attached to vhci_hcd usbip: prevent bind loops on devices attached to vhci_hcd USB: serial: io_edgeport: fix possible sleep-in-atomic CDC-ACM: apply quirk for card reader USB: cdc-acm: Do not log urb submission errors on disconnect * USB: serial: pl2303: new device id for Chilitag staging: rtl8188eu: Fix incorrect response to SIOCGIWESSID * usb: gadget: don't dereference g until after it has been null checked media: usbtv: add a new usbid * scsi: ufs: ufshcd: fix potential NULL pointer dereference in ufshcd_config_vreg * quota: Check for register_shrinker() failure. * net: ethernet: xilinx: Mark XILINX_LL_TEMAC broken on 64-bit hwmon: (pmbus) Use 64bit math for DIRECT format values nfsd: check for use of the closed special stateid nfsd: CLOSE SHOULD return the invalid special stateid for NFSv4.x (x>0) xen-netfront: remove warning when unloading module KVM: VMX: Fix rflags cache during vCPU reset mac80211: fix the update of path metric for RANN frame bcache: check return value of register_shrinker KVM: X86: Fix operand/address-size during instruction decoding KVM: x86: Don't re-execute instruction when not passing CR2 value KVM: x86: emulator: Return to user-mode on L1 CPL=0 emulation failure igb: Free IRQs when device is hotplugged gpio: iop: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE ALSA: seq: Make ioctls race-free * loop: fix concurrent lo_open/lo_release um: Remove copy&paste code from init.h um: Stop abusing __KERNEL__ um: link vmlinux with -no-pie * Input: do not emit unneeded EV_SYN when suspending Linux 3.18.93 * hrtimer: Reset hrtimer cpu base proper on CPU hotplug * ipv4: Make neigh lookup keys for loopback/point-to-point devices be INADDR_ANY * ipv6: fix udpv6 sendmsg crash caused by too small MTU * net: Allow neigh contructor functions ability to modify the primary_key vmxnet3: repair memory leak sctp: return error if the asoc has been peeled off in sctp_wait_for_sndbuf sctp: do not allow the v4 socket to bind a v4mapped v6 address * pppoe: take ->needed_headroom of lower device into account on xmit * net: qdisc_pkt_len_init() should be more robust * tcp: __tcp_hdrlen() helper * net: igmp: fix source address check for IGMPv3 reports dccp: don't restart ccid2_hc_tx_rto_expire() if sk in closed state * net: tcp: close sock if net namespace is exiting x86/microcode/intel: Extend BDW late-loading further with LLC size check * eventpoll.h: add missing epoll event masks scsi: libiscsi: fix shifting of DID_REQUEUE host byte * fs/fcntl: f_setown, avoid undefined behaviour reiserfs: don't preallocate blocks for extended attributes reiserfs: fix race in prealloc discard netfilter: xt_osf: Add missing permission checks netfilter: nfnetlink_cthelper: Add missing permission checks netfilter: nf_conntrack_sip: extend request line validation * netfilter: restart search if moved to other chain * netfilter: nf_ct_expect: remove the redundant slash when policy name is empty ipc: msg, make msgrcv work with LONG_MIN hwpoison, memcg: forcibly uncharge LRU pages * mm/mmap.c: do not blow on PROT_NONE MAP_FIXED holes in the stack can: af_can: canfd_rcv(): replace WARN_ONCE by pr_warn_once can: af_can: can_rcv(): replace WARN_ONCE by pr_warn_once usbip: Fix implicit fallthrough warning x86/asm/32: Make sync_core() handle missing CPUID on all 32-bit kernels MIPS: AR7: ensure the port type's FCR value is used arm64: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls dm thin metadata: THIN_MAX_CONCURRENT_LOCKS should be 6 dm btree: fix serious bug in btree_split_beneath() ARM: dts: kirkwood: fix pin-muxing of MPP7 on OpenBlocks A7 * phy: work around 'phys' references to usb-nop-xceiv devices Input: twl4030-vibra - fix sibling-node lookup Input: twl4030-vibra - fix ERROR: Bad of_node_put() warning Input: twl6040-vibra - fix child-node lookup Input: twl6040-vibra - fix DT node memory management Input: 88pm860x-ts - fix child-node lookup * pipe: avoid round_pipe_size() nr_pages overflow on 32-bit * af_key: fix buffer overread in parse_exthdrs() * af_key: fix buffer overread in verify_address_len() ALSA: hda - Apply the existing quirk to iMac 14,1 * ALSA: pcm: Remove yet superfluous WARN_ON() * futex: Prevent overflow by strengthen input validation * scsi: sg: disable SET_FORCE_LOW_DMA * gcov: disable for COMPILE_TEST Linux 3.18.92 e1000e: Fix e1000_check_for_copper_link_ich8lan return value. uas: ignore UAS for Norelsys NS1068(X) chips * Bluetooth: Prevent stack info leak from the EFS element. * staging: android: ashmem: fix a race condition in ASHMEM_SET_SIZE ioctl usbip: remove kernel addresses from usb device and urb debug msgs USB: fix usbmon BUG trigger usb: misc: usb3503: make sure reset is low for at least 100us USB: serial: cp210x: add new device ID ELV ALC 8xxx USB: serial: cp210x: add IDs for LifeScan OneTouch Verio IQ Revert "can: kvaser_usb: free buf in error paths" target: Avoid early CMD_T_PRE_EXECUTE failures during ABORT_TASK iscsi-target: Make TASK_REASSIGN use proper se_cmd->cmd_kref x86/microcode/intel: Extend BDW late-loading with a revision check * crypto: algapi - fix NULL dereference in crypto_remove_spawns() * net: stmmac: enable EEE in MII, GMII or RGMII only sh_eth: fix SH7757 GEther initialization sh_eth: fix TSU resource handling RDS: null pointer dereference in rds_atomic_free_op RDS: Heap OOB write in rds_message_alloc_sgs() 8021q: fix a memory leak for VLAN 0 device x86/acpi: Reduce code duplication in mp_override_legacy_irq() ALSA: aloop: Fix racy hw constraints adjustment ALSA: aloop: Fix inconsistent format due to incomplete rule ALSA: aloop: Release cable upon open error path ALSA: pcm: Allow aborting mutex lock at OSS read/write loops ALSA: pcm: Abort properly at pending signal in OSS read/write loops ALSA: pcm: Add missing error checks in OSS emulation plugin builder * ALSA: pcm: Remove incorrect snd_BUG_ON() usages x86/acpi: Handle SCI interrupts above legacy space gracefully kvm: vmx: Scrub hardware GPRs at VM-exit * perf/core: Fix concurrent sys_perf_event_open() vs. 'move_group' race MIPS: Also verify sizeof `elf_fpreg_t' with PTRACE_SETREGSET MIPS: Disallow outsized PTRACE_SETREGSET NT_PRFPREG regset accesses MIPS: Fix an FCSR access API regression with NT_PRFPREG and MSA MIPS: Consistently handle buffer counter with PTRACE_SETREGSET MIPS: Guard against any partial write attempt with PTRACE_SETREGSET MIPS: Factor out NT_PRFPREG regset access helpers IB/srpt: Disable RDMA access by the initiator can: gs_usb: fix return value of the "set_bittiming" callback Input: elantech - add new icbody type 15 * kernel/signal.c: remove the no longer needed SIGNAL_UNKILLABLE check in complete_signal() * kernel/signal.c: protect the SIGNAL_UNKILLABLE tasks from !sig_kernel_only() signals * kernel/signal.c: protect the traced SIGNAL_UNKILLABLE tasks from SIGKILL fscache: Fix the default for fscache_maybe_release_page() crypto: n2 - cure use after free kernel/acct.c: fix the acct->needcheck check in check_free_space() Linux 3.18.91 * n_tty: fix EXTPROC vs ICANON interaction with TIOCINQ (aka FIONREAD) * usb: xhci: Add XHCI_TRUST_TX_LENGTH for Renesas uPD720201 * usb: add RESET_RESUME for ELSA MicroLink 56K * usb: Add device quirk for Logitech HD Pro Webcam C925e USB: serial: option: add support for Telit ME910 PID 0x1101 * net: ipv4: fix for a race condition in raw_sendmsg sctp: Replace use of sockets_allocated with specified macro. net: mvmdio: disable/unprepare clocks in EPROBE_DEFER case tg3: Fix rx hang on MTU change with 5717/5719 * tcp md5sig: Use skb's saddr when replying to an incoming segment net: qmi_wwan: add Sierra EM7565 1199:9091 * netlink: Add netns check on taps * net: igmp: Use correct source address on IGMPv3 reports * ipv6: mcast: better catch silly mtu values * ipv4: igmp: guard against silly MTU values * kbuild: add '-fno-stack-check' to kernel build options ASoC: twl4030: fix child-node lookup * ring-buffer: Mask out the info bits when returning buffer page length * tracing: Fix crash when it fails to alloc ring buffer * tracing: Fix possible double free on failure of allocating trace buffer * tracing: Remove extra zeroing out of the ring buffer page net: mvneta: clear interface link status on port disable powerpc/perf: Dereference BHRB entries safely KVM: X86: Fix load RFLAGS w/o the fixed bit parisc: Hide Diva-built-in serial aux and graphics card * PCI / PM: Force devices to D0 in pci_pm_thaw_noirq() * ALSA: usb-audio: Fix the missing ctl name suffix at parsing SU * ALSA: rawmidi: Avoid racy info ioctl via ctl device mfd: twl6040: Fix child-node lookup mfd: twl4030-audio: Fix sibling-node lookup crypto: mcryptd - protect the per-CPU queue with a lock ACPI: APEI / ERST: Fix missing error handling in erst_reader() Linux 3.18.90 fm10k: ensure we process SM mbx when processing VF mbx scsi: lpfc: PLOGI failures during NPIV testing scsi: lpfc: Fix secure firmware updates PCI/AER: Report non-fatal errors only to the affected endpoint igb: check memory allocation failure PCI: Create SR-IOV virtfn/physfn links before attaching driver scsi: cxgb4i: fix Tx skb leak * PCI: Avoid bus reset if bridge itself is broken net: phy: at803x: Change error to EINVAL for invalid MAC crypto: crypto4xx - increase context and scatter ring buffer elements backlight: pwm_bl: Fix overflow condition cpuidle: powernv: Pass correct drv->cpumask for registration ARM: dma-mapping: disallow dma_get_sgtable() for non-kernel managed memory * xhci: plat: Register shutdown for xhci_plat isdn: kcapi: avoid uninitialized data ARM: dts: am335x-evmsk: adjust mmc2 param to allow suspend netfilter: nf_nat_snmp: Fix panic when snmp_trap_helper fails to register netfilter: nfnl_cthelper: fix a race when walk the nf_ct_helper_hash table irda: vlsi_ir: fix check for DMA mapping errors i40e: Do not enable NAPI on q_vectors that have no rings * net: Do not allow negative values for busy_read and busy_poll sysctl interfaces s390/qeth: no ETH header for outbound AF_IUCV * HID: xinmo: fix for out of range for THT 2P arcade controller. hwmon: (asus_atk0110) fix uninitialized data access ARM: dts: ti: fix PCI bus dtc warnings KVM: x86: correct async page present tracepoint scsi: lpfc: Fix PT2PT PRLI reject netfilter: nfnl_cthelper: Fix memory leak netfilter: nfnl_cthelper: fix runtime expectation policy updates usb: gadget: udc: remove pointer dereference after free usb: gadget: f_uvc: Sanity check wMaxPacketSize for SuperSpeed net: qmi_wwan: Add USB IDs for MDM6600 modem on Motorola Droid 4 * crypto: deadlock between crypto_alg_sem/rtnl_mutex/genl_mutex * r8152: fix the list rx_done may be used without initialization * cpuidle: Validate cpu_dev in cpuidle_add_sysfs() ALSA: hda - add support for docking station for HP 820 G2 * arm64: Initialise high_memory global variable earlier Linux 3.18.89 usb: musb: da8xx: fix babble condition handling ath9k: fix tx99 potential info leak macvlan: Only deliver one copy of the frame to the macvlan interface udf: Avoid overflow when session starts at large offset scsi: bfa: integer overflow in debugfs * scsi: scsi_devinfo: Add REPORTLUN2 to EMC SYMMETRIX blacklist entry raid5: Set R5_Expanded on parity devices as well as data. * pinctrl: adi2: Fix Kconfig build problem * tty fix oops when rmmod 8250 * PCI: Detach driver before procfs & sysfs teardown on device remove xfs: fix log block underflow during recovery cycle verification bcache: fix wrong cache_misses statistics bcache: explicitly destroy mutex while exiting GFS2: Take inode off order_write list when setting jdata flag * thermal/drivers/step_wise: Fix temperature regulation misbehavior * ppp: Destroy the mutex when cleanup clk: tegra: Fix cclk_lp divisor register * mm: Handle 0 flags in _calc_vm_trans() macro arm-ccn: perf: Prevent module unload while PMU is in use target/file: Do not return error for UNMAP if length is zero target:fix condition return in core_pr_dump_initiator_port() iscsi-target: fix memory leak in lio_target_tiqn_addtpg() target/iscsi: Fix a race condition in iscsit_add_reject_from_cmd() powerpc/ipic: Fix status get and status clear powerpc/opal: Fix EBUSY bug in acquiring tokens powerpc/powernv/cpufreq: Fix the frequency read by /proc/cpuinfo PCI/PME: Handle invalid data when reading Root Status video: fbdev: au1200fb: Return an error code if a memory allocation fails video: fbdev: au1200fb: Release some resources if a memory allocation fails video: udlfb: Fix read EDID timeout fbdev: controlfb: Add missing modes to fix out of bounds access target: Use system workqueue for ALUA transitions btrfs: add missing memset while reading compressed inline extents NFSv4.1 respect server's max size in CREATE_SESSION perf symbols: Fix symbols__fixup_end heuristic for corner cases afs: Fix afs_kill_pages() afs: Fix page leak in afs_write_begin() afs: Populate and use client modification time afs: Fix the maths in afs_fs_store_data() afs: Flush outstanding writes when an fd is closed afs: Adjust mode bits processing afs: Populate group ID from vnode status afs: Fix missing put_page() drm/radeon: reinstate oland workaround for sclk * sched/deadline: Use deadline instead of period when calculating overflow drm/radeon/si: add dpm quirk for Oland openrisc: fix issue handling 8 byte get_user calls * net: Resend IGMP memberships upon peer notification. * dmaengine: Fix array index out of bounds warning in __get_unmap_pool() net: wimax/i2400m: fix NULL-deref at probe Input: i8042 - add TUXEDO BU1406 (N24_25BU) to the nomux list NFSD: fix nfsd_reset_versions for NFSv4. NFSD: fix nfsd_minorversion(.., NFSD_AVAIL) net: bcmgenet: Power up the internal PHY before probing the MII net: bcmgenet: correct MIB access of UniMAC RUNT counters net: bcmgenet: correct the RBUF_OVFL_CNT and RBUF_ERR_CNT MIB values usb: phy: isp1301: Add OF device ID table mac80211: Fix addition of mesh configuration element * KEYS: Don't permit request_key() to construct a new keyring * Don't leak a key reference if request_key() tries to use a revoked keyring * ext4: fix crash when a directory's i_size is too small * xhci: Don't add a virt_dev to the devs array before it's fully allocated usbip: fix stub_send_ret_submit() vulnerability to null transfer_buffer * USB: core: prevent malicious bNumInterfaces overflow * USB: uas and storage: Add US_FL_BROKEN_FUA for another JMicron JMS567 ID autofs: fix careless error in recent commit crypto: salsa20 - fix blkcipher_walk API usage * crypto: hmac - require that the underlying hash algorithm is unkeyed Linux 3.18.88 * usb: gadget: ffs: Forbid usb_ep_alloc_request from sleeping arm: KVM: Fix VTTBR_BADDR_MASK BUG_ON off-by-one * audit: ensure that 'audit=1' actually enables audit for PID 1 afs: Connect up the CB.ProbeUuid IB/mlx5: Assign send CQ and recv CQ of UMR QP IB/mlx4: Increase maximal message size under UD QP * xfrm: Copy policy family in clone_policy atm: horizon: Fix irq release error sctp: use the right sk after waking up from wait_buf sleep sctp: do not free asoc when it is already dead in sctp_sendmsg sparc64/mm: set fields in deferred pages sunrpc: Fix rpc_task_begin trace point NFS: Fix a typo in nfs_rename() dynamic-debug-howto: fix optional/omitted ending line number to be LARGE instead of 0 * lib/genalloc.c: make the avail variable an atomic_long_t * route: update fnhe_expires for redirect when the fnhe exists * route: also update fnhe_genid when updating a route cache EDAC, i5000, i5400: Fix definition of NRECMEMB register EDAC, i5000, i5400: Fix use of MTR_DRAM_WIDTH macro axonram: Fix gendisk handling i2c: riic: fix restart condition crypto: s5p-sss - Fix completing crypto request in IRQ handler * ipv6: reorder icmpv6_init() and ip6_mr_init() bnx2x: fix possible overrun of VFPF multicast addresses array spi_ks8995: fix "BUG: key accdaa28 not in .data!" arm: KVM: Survive unknown traps from guests KVM: nVMX: reset nested_run_pending if the vCPU is going to be reset irqchip/crossbar: Fix incorrect type of register size scsi: lpfc: Fix crash during Hardware error recovery on SLI3 adapters * workqueue: trigger WARN if queue_delayed_work() is called with NULL @wq libata: drop WARN from protocol error in ata_sff_qc_issue() USB: gadgetfs: Fix a potential memory leak in 'dev_config()' usb: gadget: configs: plug memory leak selftest/powerpc: Fix false failures for skipped tests Revert "s390/kbuild: enable modversions for symbols exported from asm" * Revert "drm/armada: Fix compile fail" * net/packet: fix a race in packet_bind() and packet_notifier() * sit: update frag_off info rds: Fix NULL pointer dereference in __rds_rdma_map * arm64: fpsimd: Prevent registers leaking from dead tasks KVM: VMX: remove I/O port 0x80 bypass on Intel hosts * arm64: KVM: fix VTTBR_BADDR_MASK BUG_ON off-by-one media: dvb: i2c transfers over usb cannot be done from stack kdb: Fix handling of kallsyms_symbol_next() return value iommu/vt-d: Fix scatterlist offset handling * ALSA: usb-audio: Add check return value for usb_string() * ALSA: usb-audio: Fix out-of-bound error ALSA: seq: Remove spurious WARN_ON() at timer check * ALSA: pcm: prevent UAF in snd_pcm_info x86/PCI: Make broadcom_postcore_init() check acpi_disabled * X.509: reject invalid BIT STRING for subjectPublicKey * KEYS: add missing permission check for request_key() destination * ASN.1: check for error from ASN1_OP_END__ACT actions * efi: Move some sysfs files to be read-only by root isa: Prevent NULL dereference in isa_bus driver callbacks hv: kvp: Avoid reading past allocated blocks from KVP file virtio: release virtio index when fail to device_register can: usb_8dev: cancel urb on -EPIPE and -EPROTO can: esd_usb2: cancel urb on -EPIPE and -EPROTO can: ems_usb: cancel urb on -EPIPE and -EPROTO can: kvaser_usb: cancel urb on -EPIPE and -EPROTO can: kvaser_usb: ratelimit errors if incomplete messages are received can: kvaser_usb: Fix comparison bug in kvaser_usb_read_bulk_callback() can: kvaser_usb: free buf in error paths Linux 3.18.87 usb: host: fix incorrect updating of offset * USB: usbfs: Filter flags passed in from user space * USB: devio: Prevent integer overflow in proc_do_submiturb() * USB: Increase usbfs transfer limit * usb: hub: Cycle HUB power when initialization fails serial: 8250_pci: Add Amazon PCI serial device ID * usb: quirks: Add no-lpm quirk for KY-688 USB 3.1 Type-C Hub uas: Always apply US_FL_NO_ATA_1X quirk to Seagate devices ima: fix hash algorithm initialization net: fec: fix multicast filtering hardware setup * mm: avoid returning VM_FAULT_RETRY from ->page_mkwrite handlers tipc: fix cleanup at module unload net: sctp: fix array overrun read on sctp_timer_tbl NFSv4: Fix client recovery when server reboots multiple times net/appletalk: Fix kernel memory disclosure * vti6: fix device register to report IFLA_INFO_KIND ARM: OMAP1: DMA: Correct the number of logical channels perf test attr: Fix ignored test case result * sysrq : fix Show Regs call trace on ARM EDAC, sb_edac: Fix missing break in switch spi: sh-msiof: Fix DMA transfer size check serial: 8250_fintek: Fix rs485 disablement on invalid ioctl() bcache: recover data from backing when data is clean bcache: only permit to recovery read error when cache device is clean Linux 3.18.86 drm/i915: Prevent zero length "index" write drm/i915: Don't try indexed reads to alternate slave addresses NFS: revalidate "." etc correctly on "open". drm/panel: simple: Add missing panel_simple_unprepare() calls eeprom: at24: check at24_read/write arguments KVM: x86: inject exceptions produced by x86_decode_insn KVM: x86: Exit to user-mode on #UD intercept when emulator requires btrfs: clear space cache inode generation always * mm/madvise.c: fix madvise() infinite loop under special circumstances mm, thp: Do not make page table dirty unconditionally in touch_p[mu]d() * ipsec: Fix aborted xfrm policy dump crash * netlink: add a start callback for starting a netlink dump Linux 3.18.85 xen: xenbus driver must not accept invalid transaction ids s390/kbuild: enable modversions for symbols exported from asm ASoC: wm_adsp: Don't overrun firmware file buffer when reading region data btrfs: return the actual error value from from btrfs_uuid_tree_iterate netfilter: nf_tables: fix oob access netfilter: nft_queue: use raw_smp_processor_id() staging: iio: cdc: fix improper return value mac80211: Suppress NEW_PEER_CANDIDATE event if no room mac80211: Remove invalid flag operations in mesh TSF synchronization ALSA: hda - Apply ALC269_FIXUP_NO_SHUTUP on HDA_FIXUP_ACT_PROBE * drm/armada: Fix compile fail net: 3com: typhoon: typhoon_init_one: fix incorrect return values net: 3com: typhoon: typhoon_init_one: make return values more specific * PCI: Apply _HPX settings only to relevant devices RDS: RDMA: return appropriate error on rdma map failures e1000e: Separate signaling for link check/link up e1000e: Fix return value test e1000e: Fix error path in link detection iio: iio-trig-periodic-rtc: Free trigger resource correctly * USB: fix buffer overflows with parsing CDC headers mtd: nand: Fix writing mtdoops to nand flash. net/9p: Switch to wait_event_killable() * media: v4l2-ctrl: Fix flags field on Control events media: rc: check for integer overflow media: Don't do DMA on stack for firmware upload in the AS102 driver powerpc/signal: Properly handle return value from uprobe_deny_signal() parisc: Fix validity check of pointer size argument in new CAS implementation ixgbe: Fix skb list corruption on Power systems fm10k: Use smp_rmb rather than read_barrier_depends i40evf: Use smp_rmb rather than read_barrier_depends ixgbevf: Use smp_rmb rather than read_barrier_depends igbvf: Use smp_rmb rather than read_barrier_depends igb: Use smp_rmb rather than read_barrier_depends i40e: Use smp_rmb rather than read_barrier_depends * time: Always make sure wall_to_monotonic isn't positive NFC: fix device-allocation error return IB/srpt: Do not accept invalid initiator port names clk: ti: dra7-atl-clock: fix child-node lookups clk: ti: dra7-atl-clock: Fix of_node reference counting KVM: SVM: obey guest PAT KVM: nVMX: set IDTR and GDTR limits when loading L1 host state iscsi-target: Fix non-immediate TMR reference leak fs/9p: Compare qid.path in v9fs_test_inode * ALSA: timer: Remove kernel warning at compat ioctl error paths * ALSA: usb-audio: Add sanity checks in v2 clock parsers * ALSA: usb-audio: Fix potential out-of-bound access at parsing SU * ALSA: usb-audio: Add sanity checks to FE parser * ext4: fix interaction between i_size, fallocate, and delalloc after a crash nfsd: deal with revoked delegations appropriately nfs: Fix ugly referral attributes NFS: Fix typo in nomigration mount option isofs: fix timestamps beyond 2027 bcache: check ca->alloc_thread initialized before wake up it eCryptfs: use after free in ecryptfs_release_messaging() nilfs2: fix race condition that causes file system corruption autofs: don't fail mount for transient error MIPS: BCM47XX: Fix LED inversion for WRT54GSv1 MIPS: Fix an n32 core file generation regset support regression * dm: fix race between dm_get_from_kobject() and __dm_destroy() * dm bufio: fix integer overflow when limiting maximum cache size ALSA: hda: Add Raven PCI ID ARM: 8721/1: mm: dump: check hardware RO bit for LPAE x86/decoder: Add new TEST instruction pattern * lib/mpi: call cond_resched() from mpi_powm() loop * sched: Make resched_cpu() unconditional * ipv6: only call ip6_route_dev_notify() once for NETDEV_UNREGISTER s390/disassembler: increase show_code buffer size Linux 3.18.84 coda: fix 'kernel memory exposure attempt' in fsync ipmi: fix unsigned long underflow ocfs2: should wait dio before inode lock in ocfs2_setattr() ima: do not update security.ima if appraisal status is not INTEGRITY_PASS vlan: fix a use-after-free in vlan_device_event() * af_netlink: ensure that NLMSG_DONE never fails in dumps fealnx: Fix building error on MIPS sctp: do not peel off an assoc from one netns to another one * netfilter/ipvs: clear ipvs_property flag when SKB net namespace changed * tcp: do not mangle skb->cb[] in tcp_make_synack() net/sctp: Always set scope_id in sctp_inet6_skb_msgname * ipv6/dccp: do not inherit ipv6_mc_list from parent Linux 3.18.83 USB: serial: garmin_gps: fix memory leak on probe errors USB: serial: garmin_gps: fix I/O after failed probe and remove USB: serial: garmin_gps: fix memory leak on failed URB submit USB: serial: qcserial: add pid/vid for Sierra Wireless EM7355 fw update * USB: Add delay-init quirk for Corsair K70 LUX keyboards * USB: usbfs: compute urb->actual_length for isochronous uapi: fix linux/rds.h userspace compilation errors uapi: fix linux/rds.h userspace compilation error Revert "uapi: fix linux/rds.h userspace compilation errors" * Revert "crypto: xts - Add ECB dependency" MIPS: Netlogic: Exclude netlogic,xlp-pic code from XLR builds MIPS: init: Ensure reserved memory regions are not added to bootmem MIPS: End asm function prologue macros with .insn ixgbe: handle close/suspend race with netif_device_detach/present ixgbe: fix AER error handling gpu: drm: mgag200: mgag200_main:- Handle error from pci_iomap backlight: adp5520: Fix error handling in adp5520_bl_probe() * backlight: lcd: Fix race condition during register ALSA: vx: Fix possible transfer overflow ALSA: vx: Don't try to update capture stream before running scsi: lpfc: Correct issue leading to oops during link reset scsi: lpfc: Correct host name in symbolic_name field scsi: lpfc: FCoE VPort enable-disable does not bring up the VPort scsi: lpfc: Add missing memory barrier staging: rtl8188eu: fix incorrect ERROR tags from logs igb: Fix hw_dbg logging in igb_update_flash_i210 igb: close/suspend race in netif_device_detach igb: reset the PHY before reading the PHY ID drm/sti: sti_vtg: Handle return NULL error from devm_ioremap_nocache * ata: SATA_MV should depend on HAS_DMA * ata: SATA_HIGHBANK should depend on HAS_DMA * ata: ATA_BMDMA should depend on HAS_DMA ARM: dts: Fix omap3 off mode pull defines ARM: OMAP2+: Fix init for multiple quirks for the same SoC extcon: palmas: Check the parent instance to prevent the NULL iscsi-target: Fix iscsi_np reset hung task during parallel delete media: dib0700: fix invalid dvb_detach argument media: imon: Fix null-ptr-deref in imon_probe Linux 3.18.82 target/iscsi: Fix iSCSI task reassignment handling * security/keys: add CONFIG_KEYS_COMPAT to Kconfig ip6_gre: only increase err_count for some certain type icmpv6 in ip6gre_err ipip: only increase err_count for some certain type icmp in ipip_err * ipv6: flowlabel: do not leave opt->tot_len with garbage sctp: reset owner sk for data chunks on out queues when migrating a sock * tun: allow positive return values on dev_get_valid_name() call net/unix: don't show information about sockets from other namespaces sctp: add the missing sock_owned_by_user check in sctp_icmp_redirect * tun: call dev_get_valid_name() before register_netdevice() * l2tp: check ps->sock before running pppol2tp_session_ioctl() * tcp: fix tcp_mtu_probe() vs highest_sack * tun/tap: sanitize TUNSETSNDBUF input Revert "ARM: dts: imx53-qsb-common: fix FEC pinmux config" Input: ims-psu - check if CDC union descriptor is sane usb: usbtest: fix NULL pointer dereference mac80211: don't compare TKIP TX MIC key in reinstall prevention mac80211: use constant time comparison with keys mac80211: accept key reinstall without changing anything Revert "ceph: unlock dangling spinlock in try_flush_caps()" Linux 3.18.81 x86/oprofile/ppro: Do not use __this_cpu*() in preemptible context can: c_can: don't indicate triple sampling support for D_CAN rbd: use GFP_NOIO for parent stat and data requests MIPS: AR7: Ensure that serial ports are properly set up MIPS: Fix CM region target definitions MIPS: microMIPS: Fix incorrect mask in insn_table_MM ALSA: seq: Avoid invalid lockdep class warning ALSA: seq: Fix OSS sysex delivery in OSS emulation ARM: 8720/1: ensure dump_instr() checks addr_limit * KEYS: fix NULL pointer dereference during ASN.1 parsing [ver #2] crypto: x86/sha1-mb - fix panic due to unaligned access KEYS: trusted: fix writing past end of buffer in trusted_read() KEYS: trusted: sanitize all key material IB/ipoib: Change list_del to list_del_init in the tx object Input: mpr121 - set missing event capability Input: mpr121 - handle multiple bits change of status register * IPsec: do not ignore crypto err in ah4 input * usb: hcd: initialize hcd->flags to 0 when rm hcd serial: sh-sci: Fix register offsets for the IRDA serial port * phy: increase size of MII_BUS_ID_SIZE and bus_id dt-bindings: Add vendor prefix for LEGO dt-bindings: Add LEGO MINDSTORMS EV3 compatible specification iio: trigger: free trigger resource correctly ARM: omap2plus_defconfig: Fix probe errors on UARTs 5 and 6 drm: drm_minor_register(): Clean up debugfs on failure ARM: dts: imx53-qsb-common: fix FEC pinmux config xen/netback: set default upper limit of tx/rx queues to 8 video: fbdev: pmag-ba-fb: Remove bad `__init' annotation Linux 3.18.80 staging: r8712u: Fix Sparse warning in rtl871x_xmit.c xen: don't print error message in case of missing Xenstore entry bt8xx: fix memory leak s390/dasd: check for device error pointer within state change interrupts staging: lustre: ptlrpc: skip lock if export failed staging: lustre: hsm: stack overrun in hai_dump_data_field platform/x86: intel_mid_thermal: Fix module autoload xen/manage: correct return value check on xenbus_scanf() cx231xx: Fix I2C on Internal Master 3 Bus i2c: riic: correctly finish transfers * ext4: do not use stripe_width if it is not set * ext4: fix stripe-unaligned allocations staging: rtl8712u: Fix endian settings for structs describing network packets mmc: s3cmci: include linux/interrupt.h for tasklet_struct x86/microcode/intel: Disable late loading on model 79 drm/msm: fix an integer overflow test drm/msm: Fix potential buffer overflow issue ocfs2: fstrim: Fix start offset of first cluster group during fstrim ARM: 8715/1: add a private asm/unaligned.h * arm64: ensure __dump_instr() checks addr_limit ASoC: adau17x1: Workaround for noise bug in ADC * KEYS: fix out-of-bounds read during ASN.1 parsing * KEYS: return full count in keyring_read() if buffer is too small cifs: check MaxPathNameComponentLength != 0 before using it ALSA: seq: Fix nested rwsem annotation for lockdep splat * ALSA: timer: Add missing mutex lock for compat ioctls * blk-mq: fix race between timeout and freeing request Linux 3.18.79 * ecryptfs: fix dereference of NULL user_key_payload can: kvaser_usb: Correct return value in printout * scsi: sg: Re-fix off by one in sg_fill_request_table() scsi: zfcp: fix erp_action use-before-initialize in REC action trace * assoc_array: Fix a buggy node-splitting case Input: gtco - fix potential out-of-bound access * fuse: fix READDIRPLUS skipping an entry * spi: uapi: spidev: add missing ioctl header * usb: xhci: Handle error condition in xhci_stop_device() ceph: unlock dangling spinlock in try_flush_caps() Linux 3.18.78 FS-Cache: fix dereference of NULL user_key_payload * af_packet: don't pass empty blocks for PACKET_V3 parisc: Fix double-word compare and exchange in LWS code on 32-bit kernels parisc: Avoid trashing sr2 and sr3 in LWS code * cls_api.c: Fix dumping of non-existing actions' stats. * KEYS: don't let add_key() update an uninstantiated key lib/digsig: fix dereference of NULL user_key_payload * KEYS: encrypted: fix dereference of NULL user_key_payload bus: mbus: fix window size calculation for 4GB windows brcmsmac: make some local variables 'static const' to reduce stack size i2c: ismt: Separate I2C block read from SMBus block read ALSA: hda: Remove superfluous '-' added by printk conversion ALSA: seq: Enable 'use' locking in all configurations can: esd_usb2: Fix can_dlc value for received RTR, frames can: gs_usb: fix busy loop if no more TX context is available * usb: hub: Allow reset retry for USB2 devices on connect bounce * usb: quirks: add quirk for WORLDE MINI MIDI keyboard usb: cdc_acm: Add quirk for Elatec TWN3 USB: serial: metro-usb: add MS7820 device id * USB: core: fix out-of-bounds access bug in usb_get_bos_descriptor() * USB: devio: Revert "USB: devio: Don't corrupt user memory" Linux 3.18.77 Revert "tty: goldfish: Fix a parameter of a call to free_irq" target/iscsi: Fix unsolicited data seq_end_offset calculation * uapi: fix linux/mroute6.h userspace compilation errors uapi: fix linux/rds.h userspace compilation errors scsi: scsi_dh_emc: return success in clariion_std_inquiry() ocfs2/dlmglue: prepare tracking logic to avoid recursive cluster lock * crypto: xts - Add ECB dependency net/mlx4_core: Fix VF overwrite of module param which disables DMFS on new probed PFs Btrfs: send, fix failure to rename top level inode due to name collision iio: adc: xilinx: Fix error handling * netfilter: nf_ct_expect: Change __nf_ct_expect_check() return value. irqchip/crossbar: Fix incorrect type of local variables watchdog: kempld: fix gcc-4.3 build locking/lockdep: Add nest_lock integrity test Revert "bsg-lib: don't free job in bsg_prepare_job" * net: Set sk_prot_creator when cloning sockets to the right proto * packet: in packet_do_bind, test fanout with bind_lock held * l2tp: fix race condition in l2tp_tunnel_delete * l2tp: Avoid schedule while atomic in exit_net * vti: fix use after free in vti_tunnel_xmit/vti6_tnl_xmit isdn/i4l: fetch the ppp_write buffer in one shot * packet: hold bind lock when rebinding to fanout hook bpf/verifier: reject BPF_ALU64|BPF_END * sctp: potential read out of bounds in sctp_ulpevent_type_enabled() * ext4: avoid deadlock when expanding inode size drm/dp/mst: save vcpi with payloads x86/mm: Disable preemption during CR3 read+write Linux 3.18.76 Revert "usb: gadget: inode.c: fix unbalanced spin_lock in ep0_write" ALSA: seq: Fix missing NULL check at remove_events ioctl USB: serial: console: fix use-after-free after failed setup USB: serial: qcserial: add Dell DW5818, DW5819 USB: serial: option: add support for TP-Link LTE module USB: serial: cp210x: add support for ELV TFD500 * fix unbalanced page refcounting in bio_map_user_iov * direct-io: Prevent NULL pointer access in submit_page_section * usb: gadget: composite: Fix use-after-free in usb_composite_overwrite_options ALSA: caiaq: Fix stray URB at probe error path ALSA: seq: Fix copy_from_user() call inside lock ALSA: seq: Fix use-after-free at creating a port * ALSA: usb-audio: Kill stray URB at exiting iommu/amd: Finish TLB flush in amd_iommu_unmap() usb: renesas_usbhs: Fix DMAC sequence for receiving zero-length packet KVM: nVMX: fix guest CR4 loading when emulating L2 to L1 exit * crypto: shash - Fix zero-length shash ahash digest crash * HID: usbhid: fix out-of-bounds bug CIFS: Reconnect expired SMB sessions * ext4: in ext4_seek_{hole,data}, return -ENXIO for negative offsets Linux 3.18.75 * ext4: fix fencepost in s_first_meta_bg validation * ext4: validate s_first_meta_bg at mount time ext4: Don't clear SGID when inheriting ACLs * ext4: fix data corruption for mmap writes * fs/super.c: fix race between freeze_super() and thaw_super() * ext4: only call ext4_truncate when size <= isize drm/i915/bios: ignore HDMI on port A HID: i2c-hid: allocate hid buffers for real worst case * driver core: platform: Don't read past the end of "driver_override" buffer ALSA: usx2y: Suppress kernel warning at page allocation failures * lsm: fix smack_inode_removexattr and xattr_getsecurity memleak uwb: ensure that endpoint is interrupt uwb: properly check kthread_run return value iio: adc: mcp320x: Fix oops on module unload iio: ad7793: Fix the serial interface reset * iio: core: Return error for failed read_reg staging: iio: ad7192: Fix - use the dedicated reset function avoiding dma from stack. iio: ad_sigma_delta: Implement a dedicated reset function * xhci: fix finding correct bus_state structure for USB 3.1 hosts * USB: fix out-of-bounds in usb_set_configuration * usb: Increase quirk delay for USB devices USB: uas: fix bug in handling of alternate settings * USB: devio: Don't corrupt user memory USB: dummy-hcd: fix infinite-loop resubmission bug USB: dummy-hcd: fix connection failures (wrong speed) * usb: pci-quirks.c: Corrected timeout values used in handshake * ALSA: usb-audio: Check out-of-bounds access by corrupted buffer descriptor usb: renesas_usbhs: fix usbhsf_fifo_clear() for RX direction usb: renesas_usbhs: fix the BCLR setting condition for non-DCP pipe * usb-storage: unusual_devs entry to fix write-access regression for Seagate external drives USB: gadgetfs: fix copy_to_user while holding spinlock USB: gadgetfs: Fix crash caused by inadequate synchronization usb: gadget: inode.c: fix unbalanced spin_lock in ep0_write Linux 3.18.74 * mpi: Fix NULL ptr dereference in mpi_powm() [ver #3] crypto: algif_skcipher - Load TX SG list after waiting staging: nvec: remove duplicated const ttpci: address stringop overflow warning ALSA: au88x0: avoid theoretical uninitialized access IB/qib: fix false-postive maybe-uninitialized warning libata: transport: Remove circular dependency at free time xfs: remove kmem_zalloc_greedy md/raid10: submit bio directly to replacement disk rds: ib: add error handle parisc: perf: Fix potential NULL pointer dereference netfilter: nfnl_cthelper: fix incorrect helper->expect_class_max exynos-gsc: Do not swap cb/cr for semi planar formats * netfilter: invoke synchronize_rcu after set the _hook_ to NULL * mmc: sdio: fix alignment issue in struct sdio_func * usb: plusb: Add support for PL-27A1 team: fix memory leaks * net/packet: check length in getsockopt() called with PACKET_HDRLEN * net: core: Prevent from dereferencing null pointer when releasing SKB * audit: log 32-bit socketcalls * partitions/efi: Fix integer overflow in GPT size calculation USB: serial: mos7840: fix control-message error handling USB: serial: mos7720: fix control-message error handling IB/ipoib: Replace list_del of the neigh->list with list_del_init IB/ipoib: rtnl_unlock can not come after free_netdev IB/ipoib: Fix deadlock over vlan_mutex tty: goldfish: Fix a parameter of a call to free_irq ARM: 8635/1: nommu: allow enabling REMAP_VECTORS_TO_RAM hwmon: (gl520sm) Fix overflows and crash seen when writing into limit attributes sh_eth: use correct name for ECMR_MPDE bit MIPS: Ensure bss section ends on a long-aligned address RDS: RDMA: Fix the composite message user notification drm: bridge: add DT bindings for TI ths8135 Linux 3.18.73 fix xen_swiotlb_dma_mmap prototype swiotlb-xen: implement xen_swiotlb_dma_mmap callback video: fbdev: aty: do not leak uninitialized padding in clk to userspace x86/fpu: Don't let userspace set bogus xcomp_bv btrfs: prevent to set invalid default subvolid * PCI: Fix race condition with driver_override kvm: nVMX: Don't allow L2 to access the hardware CR8 * arm64: Make sure SPsel is always set bsg-lib: don't free job in bsg_prepare_job * nl80211: check for the required netlink attributes presence * vfs: Return -ENXIO for negative SEEK_HOLE / SEEK_DATA offsets SMB3: Don't ignore O_SYNC/O_DSYNC and O_DIRECT flags SMB: Validate negotiate (to protect against downgrade) even if signing off powerpc/pseries: Fix parent_dn reference leak in add_dt_node() * KEYS: prevent KEYCTL_READ on negative key * KEYS: prevent creating a different user's keyrings * KEYS: fix writing past end of user-supplied buffer in keyring_read() crypto: talitos - fix sha224 scsi: scsi_transport_iscsi: fix the issue that iscsi_if_rx doesn't parse nlmsg properly * tracing: Erase irqsoff trace with empty write * tracing: Fix trace_pipe behavior for instance traces KVM: PPC: Book3S: Fix race and leak in kvm_vm_ioctl_create_spapr_tce() mac80211: flush hw_roc_start work before cancelling the ROC cifs: release auth_key.response for reconnect. cifs: release cifs root_cred after exit_cifs Linux 3.18.72 bcache: fix bch_hprint crash and improve output bcache: fix for gc and write-back race bcache: Correct return value for sysfs attach errors bcache: correct cache_dirty_target in __update_writeback_rate() bcache: Fix leak of bdev reference bcache: initialize dirty stripes in flash_dev_run() media: uvcvideo: Prevent heap overflow when accessing mapped controls * media: v4l2-compat-ioctl32: Fix timespec conversion PCI: shpchp: Enable bridge bus mastering if MSI is enabled ARC: Re-enable MMU upon Machine Check exception * tracing: Apply trace_clock changes to instance max buffer ftrace: Fix selftest goto location on error scsi: qla2xxx: Fix an integer overflow in sysfs code * scsi: sg: fixup infoleak when using SG_GET_REQUEST_TABLE * scsi: sg: factor out sg_fill_request_table() * scsi: sg: off by one in sg_ioctl() * scsi: sg: use standard lists for sg_requests * scsi: sg: remove 'save_scat_len' scsi: zfcp: trace high part of "new" 64 bit SCSI LUN scsi: zfcp: trace HBA FSF response by default on dismiss or timedout late response scsi: zfcp: fix payload with full FCP_RSP IU in SCSI trace records scsi: zfcp: fix missing trace records for early returns in TMF eh handlers scsi: zfcp: add handling for FCP_RESID_OVER to the fcp ingress path scsi: zfcp: fix queuecommand for scsi_eh commands when DIX enabled skd: Submit requests to firmware before triggering the doorbell skd: Avoid that module unloading triggers a use-after-free md/bitmap: disable bitmap_resize for file-backed bitmaps. * block: Relax a check in blk_start_queue() powerpc: Fix DAR reporting when alignment handler faults * ext4: fix incorrect quotaoff if the quota feature is enabled crypto: AF_ALG - remove SGL terminator indicator when chaining Input: i8042 - add Gigabyte P57 to the keyboard reset table ip6_gre: fix endianness errors in ip6gre_err Revert "usb: musb: fix tx fifo flush handling again" f2fs: check hot_data for roll-forward recovery * ipv6: fix typo in fib6_net_exit() * ipv6: fix memory leak with multiple tables during netns destruction * tcp: initialize rcv_mss to TCP_MIN_MSS instead of 0 * Revert "net: phy: Correctly process PHY_HALTED in phy_stop_machine()" qlge: avoid memcpy buffer overflow * ipv6: accept 64k - 1 packet length in ip6_find_1stfragopt() Linux 3.18.71 xfs: XFS_IS_REALTIME_INODE() should be false if no rt device present ARM: 8692/1: mm: abort uaccess retries upon fatal signal * Bluetooth: Properly check L2CAP config option output buffer length ALSA: msnd: Optimize / harden DSP and MIDI loops locktorture: Fix potential memory leak with rw lock test btrfs: resume qgroup rescan on rw remount * scsi: sg: recheck MMAP_IO request length with lock held * scsi: sg: protect against races between mmap() and SG_SET_RESERVED_SIZE * cs5536: add support for IDE controller variant * workqueue: Fix flag collision * cma: fix calculation of aligned offset dlm: avoid double-free on error path in dlm_device_{register,unregister} Input: trackpoint - assume 3 buttons when buttons detection fails * driver core: bus: Fix a potential double free staging/rts5208: fix incorrect shift to extract upper nybble * USB: core: Avoid race of async_completed() w/ usbdev_release() * usb:xhci:Fix regression when ATI chipsets detected * usb: Add device quirk for Logitech HD Pro Webcam C920-C USB: serial: option: add support for D-Link DWM-157 C1 * usb: quirks: add delay init quirk for Corsair Strafe RGB keyboard Conflicts: drivers/input/input.c drivers/media/v4l2-core/v4l2-compat-ioctl32.c drivers/scsi/sg.c drivers/usb/dwc3/gadget.c drivers/usb/gadget/function/f_fs.c drivers/usb/host/xhci-hub.c net/ipv4/raw.c net/packet/af_packet.c sound/usb/card.c sound/usb/mixer.c Change-Id: I4ca2d8f23d99e69b73d055262327f4c71da20a7c Signed-off-by: Thierry Strudel <tstrudel@google.com>
| * gcov: disable for COMPILE_TESTArnd Bergmann2018-01-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit cc622420798c4bcf093785d872525087a7798db9 upstream. Enabling gcov is counterproductive to compile testing: it significantly increases the kernel image size, compile time, and it produces lots of false positive "may be used uninitialized" warnings as the result of missed optimizations. This is in line with how UBSAN_SANITIZE_ALL and PROFILE_ALL_BRANCHES work, both of which have similar problems. With an ARM allmodconfig kernel, I see the build time drop from 283 minutes CPU time to 225 minutes, and the vmlinux size drops from 43MB to 26MB. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Signed-off-by: Michal Marek <mmarek@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | Merge linux-3.18.70 into android-msm-marlin-3.18Thierry Strudel2017-09-122-1/+17
|\| | | | | | | | | Change-Id: Ifbed5d4275df07fa37f66c873eab5740228e422a Signed-off-by: Thierry Strudel <tstrudel@google.com>
| * gcov: support GCC 7.1Martin Liska2017-09-022-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 05384213436ab690c46d9dfec706b80ef8d671ab upstream. Starting from GCC 7.1, __gcov_exit is a new symbol expected to be implemented in a profiling runtime. [akpm@linux-foundation.org: coding-style fixes] [mliska@suse.cz: v2] Link: http://lkml.kernel.org/r/e63a3c59-0149-c97e-4084-20ca8f146b26@suse.cz Link: http://lkml.kernel.org/r/8c4084fa-3885-29fe-5fc4-0d4ca199c785@suse.cz Signed-off-by: Martin Liska <mliska@suse.cz> Acked-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * gcov: add support for gcc version >= 6Florian Meier2017-09-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | commit d02038f972538b93011d78c068f44514fbde0a8c upstream. Link: http://lkml.kernel.org/r/20160701130914.GA23225@styxhp Signed-off-by: Florian Meier <Florian.Meier@informatik.uni-erlangen.de> Reviewed-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Tested-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * gcov: add support for GCC 5.1Lorenzo Stoakes2017-09-022-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 3e44c471a2dab210f7e9b1e5f7d4d54d52df59eb upstream. Fix kernel gcov support for GCC 5.1. Similar to commit a992bf836f9 ("gcov: add support for GCC 4.9"), this patch takes into account the existence of a new gcov counter (see gcc's gcc/gcov-counter.def.) Firstly, it increments GCOV_COUNTERS (to 10), which makes the data structure struct gcov_info compatible with GCC 5.1. Secondly, a corresponding counter function __gcov_merge_icall_topn (Top N value tracking for indirect calls) is included in base.c with the other gcov counters unused for kernel profiling. Signed-off-by: Lorenzo Stoakes <lstoakes@gmail.com> Cc: Andrey Ryabinin <a.ryabinin@samsung.com> Cc: Yuan Pengfei <coolypf@qq.com> Tested-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Reviewed-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | gcov: fix softlockupsAndrey Ryabinin2015-06-081-1/+4
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcov profiling if enabled with other heavy compile-time instrumentation like KASan could trigger following softlockups: NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [swapper/0:1] Modules linked in: irq event stamp: 22823276 hardirqs last enabled at (22823275): [<ffffffff86e8d10d>] mutex_lock_nested+0x7d9/0x930 hardirqs last disabled at (22823276): [<ffffffff86e9521d>] apic_timer_interrupt+0x6d/0x80 softirqs last enabled at (22823172): [<ffffffff811ed969>] __do_softirq+0x4db/0x729 softirqs last disabled at (22823167): [<ffffffff811edfcf>] irq_exit+0x7d/0x15b CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W 3.19.0-05245-gbb33326-dirty #3 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.7.5.1-0-g8936dbb-20141113_115728-nilsson.home.kraxel.org 04/01/2014 task: ffff88006cba8000 ti: ffff88006cbb0000 task.ti: ffff88006cbb0000 RIP: kasan_mem_to_shadow+0x1e/0x1f Call Trace: strcmp+0x28/0x70 get_node_by_name+0x66/0x99 gcov_event+0x4f/0x69e gcov_enable_events+0x54/0x7b gcov_fs_init+0xf8/0x134 do_one_initcall+0x1b2/0x288 kernel_init_freeable+0x467/0x580 kernel_init+0x15/0x18b ret_from_fork+0x7c/0xb0 Kernel panic - not syncing: softlockup: hung tasks Fix this by sticking cond_resched() in gcov_enable_events(). Signed-off-by: Andrey Ryabinin <a.ryabinin@samsung.com> Reported-by: Fengguang Wu <fengguang.wu@intel.com> Cc: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Git-commit: 9d796e66230205cd3366f5660387bd9ecca9d336 Git-repo: https://github.com/torvalds/linux.git Change-Id: I0c67840990dac78179b18f8238a44e754770d530 Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
* gcov: add ARM64 to GCOV_PROFILE_ALLRiku Voipio2014-10-291-1/+1
| | | | | | | | | | | | Following up the arm testing of gcov, turns out gcov on ARM64 works fine as well. Only change needed is adding ARM64 to Kconfig depends. Tested with qemu and mach-virt Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Acked-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* ARM: 8153/1: Enable gcov support on the ARM architectureVincent Sanders2014-09-261-1/+1
| | | | | | | | | | | | | | | | | | | | Enable gcov support for ARM based on original patches by David Singleton and George G. Davis Riku - updated to patch to current mainline kernel. The patch has been submitted in 2010, 2012 - for symmetry, now in 2014 too. https://lwn.net/Articles/390419/ http://marc.info/?l=linux-arm-kernel&m=133823081813044 v2: remove arch/arm/kernel from gcov disabled files Cc: Andrey Ryabinin <a.ryabinin@samsung.com> Cc: Naresh Kamboju <naresh.kamboju@linaro.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Signed-off-by: Vincent Sanders <vincent.sanders@collabora.co.uk> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* kernel/gcov/fs.c: remove unnecessary null test before debugfs_removeFabian Frederick2014-08-081-2/+1
| | | | | | | | | | | This fixes checkpatch warning: WARNING: debugfs_remove(NULL) is safe this check is probably not required Signed-off-by: Fabian Frederick <fabf@skynet.be> Cc: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* gcov: add support for GCC 4.9Yuan Pengfei2014-06-102-0/+11
| | | | | | | | | | | | | | | | | | | | This patch handles the gcov-related changes in GCC 4.9: A new counter (time profile) is added. The total number is 9 now. A new profile merge function __gcov_merge_time_profile is added. See gcc/gcov-io.h and libgcc/libgcov-merge.c For the first change, the layout of struct gcov_info is affected. For the second one, a dummy function is added to kernel/gcov/base.c similarly. Signed-off-by: Yuan Pengfei <coolypf@qq.com> Acked-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* gcov: reuse kbasename helperAndy Shevchenko2013-11-131-4/+3
| | | | | | | | | | To get name of the file from a pathname let's use kbasename() helper. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: Jingoo Han <jg1.han@samsung.com> Cc: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* kernel/gcov/fs.c: use pr_warn()Andrew Morton2013-11-131-17/+17
| | | | | | | | | | | | | | pr_warning() is deprecated in favor of pr_warn() Cc: Andy Gospodarek <agospoda@redhat.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Frantisek Hrbata <fhrbata@redhat.com> Cc: Jan Stancek <jstancek@redhat.com> Cc: Kees Cook <keescook@chromium.org> Cc: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* gcov: compile specific gcov implementation based on gcc versionFrantisek Hrbata2013-11-132-1/+61
| | | | | | | | | | | | | | Compile the correct gcov implementation file for the specific gcc version. Signed-off-by: Frantisek Hrbata <fhrbata@redhat.com> Cc: Jan Stancek <jstancek@redhat.com> Cc: Kees Cook <keescook@chromium.org> Acked-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Andy Gospodarek <agospoda@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* gcov: add support for gcc 4.7 gcov formatFrantisek Hrbata2013-11-132-0/+566
| | | | | | | | | | | | | | | | | | | | | | | | | The gcov in-memory format changed in gcc 4.7. The biggest change, which requires this special implementation, is that gcov_info no longer contains array of counters for each counter type for all functions and gcov_fn_info is not used for mapping of function's counters to these arrays(offset). Now each gcov_fn_info contans it's counters, which makes things a little bit easier. This is heavily based on the previous gcc_3_4.c implementation and patches provided by Peter Oberparleiter. Specially the buffer gcda implementation for iterator. [akpm@linux-foundation.org: use kmemdup() and kcalloc()] [oberpar@linux.vnet.ibm.com: gcc_4_7.c needs vmalloc.h] Signed-off-by: Frantisek Hrbata <fhrbata@redhat.com> Cc: Jan Stancek <jstancek@redhat.com> Cc: Kees Cook <keescook@chromium.org> Reviewed-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Andy Gospodarek <agospoda@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* gcov: move gcov structs definitions to a gcc version specific fileFrantisek Hrbata2013-11-134-80/+153
| | | | | | | | | | | | | | | | | | | Since also the gcov structures(gcov_info, gcov_fn_info, gcov_ctr_info) can change between gcc releases, as shown in gcc 4.7, they cannot be defined in a common header and need to be moved to a specific gcc implemention file. This also requires to make the gcov_info structure opaque for the common code and to introduce simple helpers for accessing data inside gcov_info. Signed-off-by: Frantisek Hrbata <fhrbata@redhat.com> Cc: Jan Stancek <jstancek@redhat.com> Cc: Kees Cook <keescook@chromium.org> Acked-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Andy Gospodarek <agospoda@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* kernel: replace strict_strto*() with kstrto*()Jingoo Han2013-09-121-1/+1
| | | | | | | | | The usage of strict_strto*() is not preferred, because strict_strto*() is obsolete. Thus, kstrto*() should be used. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* kernel/gcov: remove depends on CONFIG_EXPERIMENTALKees Cook2013-01-111-1/+1
| | | | | | | | | | The CONFIG_EXPERIMENTAL config item has not carried much meaning for a while now and is almost always enabled by default. As agreed during the Linux kernel summit, remove it from any "depends on" lines in Kconfigs. Cc: WANG Cong <xiyou.wangcong@gmail.com> Signed-off-by: Kees Cook <keescook@chromium.org> Acked-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
* gcov: disable CONSTRUCTORS for UMLVitaliy Ivanov2011-07-261-1/+1
| | | | | | | | | | | | | | | Selecting GCOV for UML causing configuration mismatch: warning: (GCOV_KERNEL) selects CONSTRUCTORS which has unmet direct dependencies (!UML) Constructors are not needed for UML. Signed-off-by: Vitaliy Ivanov <vitalivanov@gmail.com> Cc: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Acked-by: Richard Weinberger <richard@nod.at> Acked-by: WANG Cong <xiyou.wangcong@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* gcov: disable CONFIG_CONSTRUCTORS when not needed by CONFIG_GCOV_KERNELJosh Triplett2011-06-151-1/+2
| | | | | | | | | | | | | | | | | | CONFIG_CONSTRUCTORS controls support for running constructor functions at kernel init time. According to commit b99b87f70c7785ab ("kernel: constructor support"), gcov (CONFIG_GCOV_KERNEL) needs this. However, CONFIG_CONSTRUCTORS currently defaults to y, with no option to disable it, and CONFIG_GCOV_KERNEL depends on it. Instead, default it to n and have CONFIG_GCOV_KERNEL select it, so that the normal case of CONFIG_GCOV_KERNEL=n will result in CONFIG_CONSTRUCTORS=n. Observed in the short list of =y values in a minimal kernel configuration. Signed-off-by: Josh Triplett <josh@joshtriplett.org> Acked-by: WANG Cong <xiyou.wangcong@gmail.com> Acked-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'trivial' of ↵Linus Torvalds2011-03-201-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: (25 commits) video: change to new flag variable scsi: change to new flag variable rtc: change to new flag variable rapidio: change to new flag variable pps: change to new flag variable net: change to new flag variable misc: change to new flag variable message: change to new flag variable memstick: change to new flag variable isdn: change to new flag variable ieee802154: change to new flag variable ide: change to new flag variable hwmon: change to new flag variable dma: change to new flag variable char: change to new flag variable fs: change to new flag variable xtensa: change to new flag variable um: change to new flag variables s390: change to new flag variable mips: change to new flag variable ... Fix up trivial conflict in drivers/hwmon/Makefile
| * kernel: change to new flag variablematt mooney2011-03-171-1/+1
| | | | | | | | | | | | | | | | Replace EXTRA_CFLAGS with ccflags-y. Signed-off-by: matt mooney <mfm@muteddisk.com> Acked-by: WANG Cong <xiyou.wangcong@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
* | sh: Enable CONFIG_GCOV_PROFILE_ALL for shChris Smith2011-02-151-1/+1
|/ | | | | | | | | | | This patch enables gcov kernel profiling over the whole kernel for sh. Profiling of specific files individually already worked. A handful of files have to be explicitly excluded from the profiling to avoid breaking things, notably pmb.c. Signed-off-by: Chris Smith <chris.smith@st.com> Signed-off-by: Stuart Menefy <stuart.menefy@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* llseek: automatically add .llseek fopArnd Bergmann2010-10-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All file_operations should get a .llseek operation so we can make nonseekable_open the default for future file operations without a .llseek pointer. The three cases that we can automatically detect are no_llseek, seq_lseek and default_llseek. For cases where we can we can automatically prove that the file offset is always ignored, we use noop_llseek, which maintains the current behavior of not returning an error from a seek. New drivers should normally not use noop_llseek but instead use no_llseek and call nonseekable_open at open time. Existing drivers can be converted to do the same when the maintainer knows for certain that no user code relies on calling seek on the device file. The generated code is often incorrectly indented and right now contains comments that clarify for each added line why a specific variant was chosen. In the version that gets submitted upstream, the comments will be gone and I will manually fix the indentation, because there does not seem to be a way to do that using coccinelle. Some amount of new code is currently sitting in linux-next that should get the same modifications, which I will do at the end of the merge window. Many thanks to Julia Lawall for helping me learn to write a semantic patch that does all this. ===== begin semantic patch ===== // This adds an llseek= method to all file operations, // as a preparation for making no_llseek the default. // // The rules are // - use no_llseek explicitly if we do nonseekable_open // - use seq_lseek for sequential files // - use default_llseek if we know we access f_pos // - use noop_llseek if we know we don't access f_pos, // but we still want to allow users to call lseek // @ open1 exists @ identifier nested_open; @@ nested_open(...) { <+... nonseekable_open(...) ...+> } @ open exists@ identifier open_f; identifier i, f; identifier open1.nested_open; @@ int open_f(struct inode *i, struct file *f) { <+... ( nonseekable_open(...) | nested_open(...) ) ...+> } @ read disable optional_qualifier exists @ identifier read_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; expression E; identifier func; @@ ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off) { <+... ( *off = E | *off += E | func(..., off, ...) | E = *off ) ...+> } @ read_no_fpos disable optional_qualifier exists @ identifier read_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; @@ ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off) { ... when != off } @ write @ identifier write_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; expression E; identifier func; @@ ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off) { <+... ( *off = E | *off += E | func(..., off, ...) | E = *off ) ...+> } @ write_no_fpos @ identifier write_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; @@ ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off) { ... when != off } @ fops0 @ identifier fops; @@ struct file_operations fops = { ... }; @ has_llseek depends on fops0 @ identifier fops0.fops; identifier llseek_f; @@ struct file_operations fops = { ... .llseek = llseek_f, ... }; @ has_read depends on fops0 @ identifier fops0.fops; identifier read_f; @@ struct file_operations fops = { ... .read = read_f, ... }; @ has_write depends on fops0 @ identifier fops0.fops; identifier write_f; @@ struct file_operations fops = { ... .write = write_f, ... }; @ has_open depends on fops0 @ identifier fops0.fops; identifier open_f; @@ struct file_operations fops = { ... .open = open_f, ... }; // use no_llseek if we call nonseekable_open //////////////////////////////////////////// @ nonseekable1 depends on !has_llseek && has_open @ identifier fops0.fops; identifier nso ~= "nonseekable_open"; @@ struct file_operations fops = { ... .open = nso, ... +.llseek = no_llseek, /* nonseekable */ }; @ nonseekable2 depends on !has_llseek @ identifier fops0.fops; identifier open.open_f; @@ struct file_operations fops = { ... .open = open_f, ... +.llseek = no_llseek, /* open uses nonseekable */ }; // use seq_lseek for sequential files ///////////////////////////////////// @ seq depends on !has_llseek @ identifier fops0.fops; identifier sr ~= "seq_read"; @@ struct file_operations fops = { ... .read = sr, ... +.llseek = seq_lseek, /* we have seq_read */ }; // use default_llseek if there is a readdir /////////////////////////////////////////// @ fops1 depends on !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier readdir_e; @@ // any other fop is used that changes pos struct file_operations fops = { ... .readdir = readdir_e, ... +.llseek = default_llseek, /* readdir is present */ }; // use default_llseek if at least one of read/write touches f_pos ///////////////////////////////////////////////////////////////// @ fops2 depends on !fops1 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read.read_f; @@ // read fops use offset struct file_operations fops = { ... .read = read_f, ... +.llseek = default_llseek, /* read accesses f_pos */ }; @ fops3 depends on !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier write.write_f; @@ // write fops use offset struct file_operations fops = { ... .write = write_f, ... + .llseek = default_llseek, /* write accesses f_pos */ }; // Use noop_llseek if neither read nor write accesses f_pos /////////////////////////////////////////////////////////// @ fops4 depends on !fops1 && !fops2 && !fops3 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read_no_fpos.read_f; identifier write_no_fpos.write_f; @@ // write fops use offset struct file_operations fops = { ... .write = write_f, .read = read_f, ... +.llseek = noop_llseek, /* read and write both use no f_pos */ }; @ depends on has_write && !has_read && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier write_no_fpos.write_f; @@ struct file_operations fops = { ... .write = write_f, ... +.llseek = noop_llseek, /* write uses no f_pos */ }; @ depends on has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read_no_fpos.read_f; @@ struct file_operations fops = { ... .read = read_f, ... +.llseek = noop_llseek, /* read uses no f_pos */ }; @ depends on !has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; @@ struct file_operations fops = { ... +.llseek = noop_llseek, /* no read or write fn */ }; ===== End semantic patch ===== Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Julia Lawall <julia@diku.dk> Cc: Christoph Hellwig <hch@infradead.org>
* gcov: fix null-pointer dereference for certain module typesPeter Oberparleiter2010-09-091-64/+180
| | | | | | | | | | | | | | | | | | The gcov-kernel infrastructure expects that each object file is loaded only once. This may not be true, e.g. when loading multiple kernel modules which are linked to the same object file. As a result, loading such kernel modules will result in incorrect gcov results while unloading will cause a null-pointer dereference. This patch fixes these problems by changing the gcov-kernel infrastructure so that multiple profiling data sets can be associated with one debugfs entry. It applies to 2.6.36-rc1. Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Reported-by: Werner Spies <werner.spies@thalesgroup.com> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* microblaze: Enable GCOV_PROFILE_ALLMichal Simek2009-09-211-1/+1
| | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
* powerpc: Enable GCOVMichael Ellerman2009-08-201-1/+1
| | | | | | | | | Make it possible to enable GCOV code coverage measurement on powerpc. Lightly tested on 64-bit, seems to work as expected. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
* gcov: enable GCOV_PROFILE_ALL for x86_64Peter Oberparleiter2009-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Enable gcov profiling of the entire kernel on x86_64. Required changes include disabling profiling for: * arch/kernel/acpi/realmode and arch/kernel/boot/compressed: not linked to main kernel * arch/vdso, arch/kernel/vsyscall_64 and arch/kernel/hpet: profiling causes segfaults during boot (incompatible context) Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Cc: Andi Kleen <andi@firstfloor.org> Cc: Huang Ying <ying.huang@intel.com> Cc: Li Wei <W.Li@Sun.COM> Cc: Michael Ellerman <michaele@au1.ibm.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Heiko Carstens <heicars2@linux.vnet.ibm.com> Cc: Martin Schwidefsky <mschwid2@linux.vnet.ibm.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: WANG Cong <xiyou.wangcong@gmail.com> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Jeff Dike <jdike@addtoit.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* gcov: add gcov profiling infrastructurePeter Oberparleiter2009-06-186-0/+1447
Enable the use of GCC's coverage testing tool gcov [1] with the Linux kernel. gcov may be useful for: * debugging (has this code been reached at all?) * test improvement (how do I change my test to cover these lines?) * minimizing kernel configurations (do I need this option if the associated code is never run?) The profiling patch incorporates the following changes: * change kbuild to include profiling flags * provide functions needed by profiling code * present profiling data as files in debugfs Note that on some architectures, enabling gcc's profiling option "-fprofile-arcs" for the entire kernel may trigger compile/link/ run-time problems, some of which are caused by toolchain bugs and others which require adjustment of architecture code. For this reason profiling the entire kernel is initially restricted to those architectures for which it is known to work without changes. This restriction can be lifted once an architecture has been tested and found compatible with gcc's profiling. Profiling of single files or directories is still available on all platforms (see config help text). [1] http://gcc.gnu.org/onlinedocs/gcc/Gcov.html Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Cc: Andi Kleen <andi@firstfloor.org> Cc: Huang Ying <ying.huang@intel.com> Cc: Li Wei <W.Li@Sun.COM> Cc: Michael Ellerman <michaele@au1.ibm.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Heiko Carstens <heicars2@linux.vnet.ibm.com> Cc: Martin Schwidefsky <mschwid2@linux.vnet.ibm.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: WANG Cong <xiyou.wangcong@gmail.com> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Jeff Dike <jdike@addtoit.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>