summaryrefslogtreecommitdiff
path: root/drivers/gpu (follow)
Commit message (Collapse)AuthorAge
...
* | | | Merge "msm: kgsl: Fix size check issue in _read_fw2_block_header()"Linux Build Service Account2017-10-05
|\ \ \ \
| * | | | msm: kgsl: Fix size check issue in _read_fw2_block_header()Archana Obannagari2017-09-22
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During firmware data read, it may leads to cross the max range. Add a check to validate data size with in the max range. Change-Id: I12b3c1761214a7d2af2c45ad73bf61954c8398b6 Signed-off-by: Archana Obannagari <aobann@codeaurora.org>
* | | | Merge "msm: kgsl: Fix calculation of size in _load_regfile"Linux Build Service Account2017-10-05
|\ \ \ \
| * | | | msm: kgsl: Fix calculation of size in _load_regfileArchana Sriram2017-09-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During firmware load, there could be data over reads due to calculation of lm_size and lm_sequence from block and block_size. Added bounds checking to prevent this and improved the size calculation. CRs-Fixed: 2107981 Change-Id: Ib4283951b0d6c8fb699af1f85e657981ad4c0318 Signed-off-by: Archana Sriram <apsrir@codeaurora.org>
* | | | | msm: kgsl: Use a lock when updating the sparse bindingsLynus Vaz2017-10-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the appropriate lock when adding sparse bindings, to protect the list of sparse bindings from concurrent updates by multiple threads. Change-Id: Ice9750c96fca42f4049ed352533f4722b5166221 Signed-off-by: Lynus Vaz <lvaz@codeaurora.org>
* | | | | msm: kgsl: Bail out when two threads add sparse bindingsLynus Vaz2017-10-04
| |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we find that a different thread has already added bindings at the same offset we wanted to add to the sparse object, don't get stuck in an infinite loop, and return with an error. Change-Id: I6b17c91eccb14c07e13cae24135dfe7b13f3301d Signed-off-by: Lynus Vaz <lvaz@codeaurora.org>
* | | | Merge "msm: kgsl: Don't read stale crashdumper data"Linux Build Service Account2017-09-26
|\ \ \ \
| * | | | msm: kgsl: Don't read stale crashdumper dataLynus Vaz2017-09-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After the crashdumper runs once, and the user sets the snapshot_crashdumper sysfs node to 0, it is possible that stale data is saved off into the snapshot. Check the value of the sysfs node at the appropriate place to force a re-read of the data through the legacy path. Change-Id: Icf27c39b68d786003c33fd0eb22bd3e8b9a036be Signed-off-by: Lynus Vaz <lvaz@codeaurora.org>
* | | | | Merge "drm/msm: add HDCP_VERSION property for connector"Linux Build Service Account2017-09-26
|\ \ \ \ \ | |_|/ / / |/| | | |
| * | | | drm/msm: add HDCP_VERSION property for connectorAbhinav Kumar2017-09-25
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Expose a HDCP_VERSION property for the connector. This property is used by the userspace to decide the proper handling of secure streams based on HDCP version of the sink. This also guarantees that sinks do not receive secure content higher than their capability. Change-Id: Ia4ada2f26a5cde088b24c8792c10c9f9097602b1 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* / / / drm/msm: fix zero device count HDCP repeater test casesAbhinav Kumar2017-09-25
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | Fix the handling of HDCP repeaters to mark part II of the authentication as failure if they do not have any devices connected to them. Change-Id: I6b21ed2ce9a280f7e200404b05d111508a6d3dd8 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | Merge "drm:msm:sde: enable sde client customization"Linux Build Service Account2017-09-24
|\ \ \
| * | | drm:msm:sde: enable sde client customizationGuchun Chen2017-09-21
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sde client customization is disabled by previous commit which is propagated from other branch. After disabling this, 4K display on HDMI can not be up. This is because when creating drm plane in kernel, sde client customization will directly set possible_crtcs per plane reporting to user space. When disabling it, user space's sdm strategy could not get and assign correct pipes for 4K display. Change-Id: Ie6a870c352533060f7c810bdb5c99b7c1534117d CRs-fixed: 2107328 Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
* | | Merge "drm/msm: Add save/restore functions for perfcounters"Linux Build Service Account2017-09-22
|\ \ \ | |/ / |/| |
| * | drm/msm: Add save/restore functions for perfcountersJordan Crouse2017-09-08
| | | | | | | | | | | | | | | | | | | | | | | | Add functions to save and restore the value of some of the performance counters during a power cycle. Change-Id: Ic0dedbad4037d6a2262792b752dc5d33a2d0eb36 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
| * | drm/msm: Decrement the device usage count on the recovery threadSushmita Susheelendra2017-09-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A faulting submit is retired on the recovery worker and not the retire worker. The usage count for the device must be decremented for the faulting submit or the device will never go into suspend following a fault despite being inactive for the inactivity period. Change-Id: Ieda698eb00008f5bcc7287f76b9261704e51e28b Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
| * | drm/msm: Reset ringbuffer pointers at hw initSushmita Susheelendra2017-09-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ringbuffer pointers were getting reset only when resuming after recovery. However, we need to reset them even after resuming from SLUMBER or we will end up sending stale commands to the GPU with bad results. Make ringbuffer reset part of the GPU init sequence. Change-Id: I93fc2f2e293245e584184315f8eb8a4ec73d2455 Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
| * | drm/msm/adreno: Prevent unclocked access when retrieving timestampsArchit Taneja2017-09-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | msm_gpu's get_timestamp() op (called by the MSM_GET_PARAM ioctl) can result in register accesses. We need our power domain and clocks to be active for that. Make sure they are enabled here. Change-Id: I1b8e59e0246ed7d9b8a0b6ae660ebfbb15b08782 Signed-off-by: Archit Taneja <architt@codeaurora.org> Signed-off-by: Rob Clark <robdclark@gmail.com> Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
| * | drm/msm/gpu: use pm-runtimeRob Clark2017-09-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to use pm-runtime properly when IOMMU is using device_link() to control it's own clocks. Change-Id: I7c5668e6a0fcfc2d4664355e49c49d4dcb26323e Signed-off-by: Rob Clark <robdclark@gmail.com> Git-commit: eeb754746b140c5f55e6b25706a9142aa549b348 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git [ssusheel@codeaurora.org: fix some merge conflicts] Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
* | | Merge "msm: kgsl: Do not crash on context detach timeout failure"Linux Build Service Account2017-09-15
|\ \ \
| * | | msm: kgsl: Do not crash on context detach timeout failureHareesh Gundu2017-09-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If context wait for global timeouts in detach path there is no use to process its pending commands. Hence to handle context detach timeout failure,invalidate the context and remove all the pending commands from that context. So that other context commands proceed successfully after the context detach timeout fault recovery. Change-Id: Ie4ff0ed5d08312d345b248a2404ce085552b0b09 Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
* | | | Merge "msm: kgsl: Fixing an uninitialized variable in _gpuobj_map_useraddr()"Linux Build Service Account2017-09-15
|\ \ \ \ | |/ / / |/| | |
| * | | msm: kgsl: Fixing an uninitialized variable in _gpuobj_map_useraddr()Archana Obannagari2017-09-11
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Uninitalized kernel variable passes to userspace, it may have data from stack. To avoid data leak from kernel to userspace initializes struct kgsl_gpuobj_import_useraddr to zero. CRs-Fixed: 2096006 Change-Id: Ib79b030cd5e3edd7279632af20dc3fac95eb73d4 Signed-off-by: Archana Obannagari <aobann@codeaurora.org>
* | | Merge "Merge android-4.4@610af85 (v4.4.85) into msm-4.4"Linux Build Service Account2017-09-12
|\ \ \
| * \ \ Merge android-4.4@610af85 (v4.4.85) into msm-4.4Blagovest Kolenichev2017-09-04
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refs/heads/tmp-610af85 Linux 4.4.85 ACPI / APEI: Add missing synchronize_rcu() on NOTIFY_SCI removal ACPI: ioapic: Clear on-stack resource before using it ntb_transport: fix bug calculating num_qps_mw ntb_transport: fix qp count bug ASoC: rsnd: don't call update callback if it was NULL ASoC: rsnd: ssi: 24bit data needs right-aligned settings ASoC: rsnd: Add missing initialization of ADG req_rate ASoC: rsnd: avoid pointless loop in rsnd_mod_interrupt() ASoC: rsnd: disable SRC.out only when stop timing ASoC: simple-card: don't fail if sysclk setting is not supported staging: rtl8188eu: add RNX-N150NUB support iio: hid-sensor-trigger: Fix the race with user space powering up sensors iio: imu: adis16480: Fix acceleration scale factor for adis16480 ANDROID: binder: fix proc->tsk check. binder: Use wake up hint for synchronous transactions. binder: use group leader instead of open thread Bluetooth: bnep: fix possible might sleep error in bnep_session Bluetooth: cmtp: fix possible might sleep error in cmtp_session Bluetooth: hidp: fix possible might sleep error in hidp_session_thread perf/core: Fix group {cpu,task} validation nfsd: Limit end of page list when decoding NFSv4 WRITE cifs: return ENAMETOOLONG for overlong names in cifs_open()/cifs_lookup() cifs: Fix df output for users with quota limits tracing: Fix freeing of filter in create_filter() when set_str is false drm: rcar-du: Fix H/V sync signal polarity configuration drm: rcar-du: Fix display timing controller parameter drm: rcar-du: Fix crash in encoder failure error path drm: rcar-du: lvds: Rename PLLEN bit to PLLON drm: rcar-du: lvds: Fix PLL frequency-related configuration drm/atomic: If the atomic check fails, return its value first drm: Release driver tracking before making the object available again i2c: designware: Fix system suspend ARCv2: PAE40: Explicitly set MSB counterpart of SLC region ops addresses ALSA: hda - Add stereo mic quirk for Lenovo G50-70 (17aa:3978) ALSA: core: Fix unexpected error at replacing user TLV Input: elan_i2c - add ELAN0602 ACPI ID to support Lenovo Yoga310 Input: trackpoint - add new trackpoint firmware ID mei: me: add lewisburg device ids mei: me: add broxton pci device ids net_sched: fix order of queue length updates in qdisc_replace() net: sched: fix NULL pointer dereference when action calls some targets irda: do not leak initialized list.dev to userspace tcp: when rearming RTO, if RTO time is in past then fire RTO ASAP ipv6: repair fib6 tree in failure case ipv6: reset fn->rr_ptr when replacing route tipc: fix use-after-free sctp: fully initialize the IPv6 address in sctp_v6_to_addr() ipv4: better IP_MAX_MTU enforcement net_sched/sfq: update hierarchical backlog when drop packet ipv4: fix NULL dereference in free_fib_info_rcu() dccp: defer ccid_hc_tx_delete() at dismantle time dccp: purge write queue in dccp_destroy_sock() af_key: do not use GFP_KERNEL in atomic contexts ANDROID: NFC: st21nfca: Fix memory OOB and leak issues in connectivity events handler Linux 4.4.84 usb: qmi_wwan: add D-Link DWM-222 device ID usb: optimize acpi companion search for usb port devices perf/x86: Fix LBR related crashes on Intel Atom pids: make task_tgid_nr_ns() safe Sanitize 'move_pages()' permission checks irqchip/atmel-aic: Fix unbalanced refcount in aic_common_rtc_irq_fixup() irqchip/atmel-aic: Fix unbalanced of_node_put() in aic_common_irq_fixup() x86/asm/64: Clear AC on NMI entries xen: fix bio vec merging mm: revert x86_64 and arm64 ELF_ET_DYN_BASE base changes mm/mempolicy: fix use after free when calling get_mempolicy ALSA: usb-audio: Add mute TLV for playback volumes on C-Media devices ALSA: usb-audio: Apply sample rate quirk to Sennheiser headset ALSA: seq: 2nd attempt at fixing race creating a queue Input: elan_i2c - Add antoher Lenovo ACPI ID for upcoming Lenovo NB Input: elan_i2c - add ELAN0608 to the ACPI table crypto: x86/sha1 - Fix reads beyond the number of blocks passed parisc: pci memory bar assignment fails with 64bit kernels on dino/cujo audit: Fix use after free in audit_remove_watch_rule() netfilter: nf_ct_ext: fix possible panic after nf_ct_extend_unregister ANDROID: check dir value of xfrm_userpolicy_id ANDROID: NFC: Fix possible memory corruption when handling SHDLC I-Frame commands ANDROID: nfc: fdp: Fix possible buffer overflow in WCS4000 NFC driver ANDROID: NFC: st21nfca: Fix out of bounds kernel access when handling ATR_REQ UPSTREAM: usb: dwc3: gadget: don't send extra ZLP BACKPORT: usb: dwc3: gadget: handle request->zero ANDROID: usb: gadget: assign no-op request complete callbacks ANDROID: usb: gadget: configfs: fix null ptr in android_disconnect ANDROID: uid_sys_stats: Fix implicit declaration of get_cmdline() uid_sys_stats: log task io with a debug flag Linux 4.4.83 pinctrl: samsung: Remove bogus irq_[un]mask from resource management pinctrl: sunxi: add a missing function of A10/A20 pinctrl driver pnfs/blocklayout: require 64-bit sector_t iio: adc: vf610_adc: Fix VALT selection value for REFSEL bits usb:xhci:Add quirk for Certain failing HP keyboard on reset after resume usb: quirks: Add no-lpm quirk for Moshi USB to Ethernet Adapter usb: core: unlink urbs from the tail of the endpoint's urb_list USB: Check for dropped connection before switching to full speed uas: Add US_FL_IGNORE_RESIDUE for Initio Corporation INIC-3069 iio: light: tsl2563: use correct event code iio: accel: bmc150: Always restore device to normal mode after suspend-resume staging:iio:resolver:ad2s1210 fix negative IIO_ANGL_VEL read USB: hcd: Mark secondary HCD as dead if the primary one died usb: musb: fix tx fifo flush handling again USB: serial: pl2303: add new ATEN device id USB: serial: cp210x: add support for Qivicon USB ZigBee dongle USB: serial: option: add D-Link DWM-222 device ID nfs/flexfiles: fix leak of nfs4_ff_ds_version arrays fuse: initialize the flock flag in fuse_file on allocation iscsi-target: Fix iscsi_np reset hung task during parallel delete iscsi-target: fix memory leak in iscsit_setup_text_cmd() mm: ratelimit PFNs busy info message cpuset: fix a deadlock due to incomplete patching of cpusets_enabled() ANDROID: Use sk_uid to replace uid get from socket file UPSTREAM: arm64: smp: Prevent raw_smp_processor_id() recursion UPSTREAM: arm64: restore get_current() optimisation ANDROID: arm64: Fix a copy-paste error in prior init_thread_info build fix Conflicts: drivers/misc/Kconfig drivers/usb/dwc3/gadget.c include/linux/sched.h mm/migrate.c net/netfilter/xt_qtaguid.c Change-Id: I3a0107fcb5c7455114b316426c9d669bb871acd1 Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
| | * | drm: rcar-du: Fix H/V sync signal polarity configurationKoji Matsuoka2017-08-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit fd1adef3bff0663c5ac31b45bc4a05fafd43d19b upstream. The VSL and HSL bits in the DSMR register set the corresponding horizontal and vertical sync signal polarity to active high. The code got it the wrong way around, fix it. Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Thong Ho <thong.ho.px@rvc.renesas.com> Signed-off-by: Nhan Nguyen <nhan.nguyen.yb@renesas.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * | drm: rcar-du: Fix display timing controller parameterKoji Matsuoka2017-08-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 9cdced8a39c04cf798ddb2a27cb5952f7d39f633 upstream. There is a bug in the setting of the DES (Display Enable Signal) register. This current setting occurs 1 dot left shift. The DES register should be set minus one value about the specifying value with H/W specification. This patch corrects it. Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Thong Ho <thong.ho.px@rvc.renesas.com> Signed-off-by: Nhan Nguyen <nhan.nguyen.yb@renesas.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * | drm: rcar-du: Fix crash in encoder failure error pathLaurent Pinchart2017-08-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 05ee29e94acf0d4b3998c3f93374952de8f90176 upstream. When an encoder fails to initialize the driver prints an error message to the kernel log. The message contains the name of the encoder's DT node, which is NULL for internal encoders. Use the of_node_full_name() macro to avoid dereferencing a NULL pointer, print the output number to add more context to the error, and make sure we still own a reference to the encoder's DT node by delaying the of_node_put() call. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Reviewed-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Thong Ho <thong.ho.px@rvc.renesas.com> Signed-off-by: Nhan Nguyen <nhan.nguyen.yb@renesas.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * | drm: rcar-du: lvds: Rename PLLEN bit to PLLONLaurent Pinchart2017-08-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 82e7c5e4964545352accff4b44bbcaa2c38e7fc1 upstream. The bit is named PLLON in the datasheet, rename it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Thong Ho <thong.ho.px@rvc.renesas.com> Signed-off-by: Nhan Nguyen <nhan.nguyen.yb@renesas.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * | drm: rcar-du: lvds: Fix PLL frequency-related configurationLaurent Pinchart2017-08-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 5e1ac3bdc6bbb4f378251b87625b8acfbfc4ae82 upstream. The frequency checks don't match the datasheet, fix them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Thong Ho <thong.ho.px@rvc.renesas.com> Signed-off-by: Nhan Nguyen <nhan.nguyen.yb@renesas.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * | drm/atomic: If the atomic check fails, return its value firstMaarten Lankhorst2017-08-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit a0ffc51e20e90e0c1c2491de2b4b03f48b6caaba upstream. The last part of drm_atomic_check_only is testing whether we need to fail with -EINVAL when modeset is not allowed, but forgets to return the value when atomic_check() fails first. This results in -EDEADLK being replaced by -EINVAL, and the sanity check in drm_modeset_drop_locks kicks in: [ 308.531734] ------------[ cut here ]------------ [ 308.531791] WARNING: CPU: 0 PID: 1886 at drivers/gpu/drm/drm_modeset_lock.c:217 drm_modeset_drop_locks+0x33/0xc0 [drm] [ 308.531828] Modules linked in: [ 308.532050] CPU: 0 PID: 1886 Comm: kms_atomic Tainted: G U W 4.13.0-rc5-patser+ #5225 [ 308.532082] Hardware name: NUC5i7RYB, BIOS RYBDWi35.86A.0246.2015.0309.1355 03/09/2015 [ 308.532124] task: ffff8800cd9dae00 task.stack: ffff8800ca3b8000 [ 308.532168] RIP: 0010:drm_modeset_drop_locks+0x33/0xc0 [drm] [ 308.532189] RSP: 0018:ffff8800ca3bf980 EFLAGS: 00010282 [ 308.532211] RAX: dffffc0000000000 RBX: ffff8800ca3bfaf8 RCX: 0000000013a171e6 [ 308.532235] RDX: 1ffff10019477f69 RSI: ffffffffa8ba4fa0 RDI: ffff8800ca3bfb48 [ 308.532258] RBP: ffff8800ca3bf998 R08: 0000000000000000 R09: 0000000000000003 [ 308.532281] R10: 0000000079dbe066 R11: 00000000f760b34b R12: 0000000000000001 [ 308.532304] R13: dffffc0000000000 R14: 00000000ffffffea R15: ffff880096889680 [ 308.532328] FS: 00007ff00959cec0(0000) GS:ffff8800d4e00000(0000) knlGS:0000000000000000 [ 308.532359] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 308.532380] CR2: 0000000000000008 CR3: 00000000ca2e3000 CR4: 00000000003406f0 [ 308.532402] Call Trace: [ 308.532440] drm_mode_atomic_ioctl+0x19fa/0x1c00 [drm] [ 308.532488] ? drm_atomic_set_property+0x1220/0x1220 [drm] [ 308.532565] ? avc_has_extended_perms+0xc39/0xff0 [ 308.532593] ? lock_downgrade+0x610/0x610 [ 308.532640] ? drm_atomic_set_property+0x1220/0x1220 [drm] [ 308.532680] drm_ioctl_kernel+0x154/0x1a0 [drm] [ 308.532755] drm_ioctl+0x624/0x8f0 [drm] [ 308.532858] ? drm_atomic_set_property+0x1220/0x1220 [drm] [ 308.532976] ? drm_getunique+0x210/0x210 [drm] [ 308.533061] do_vfs_ioctl+0xd92/0xe40 [ 308.533121] ? ioctl_preallocate+0x1b0/0x1b0 [ 308.533160] ? selinux_capable+0x20/0x20 [ 308.533191] ? do_fcntl+0x1b1/0xbf0 [ 308.533219] ? kasan_slab_free+0xa2/0xb0 [ 308.533249] ? f_getown+0x4b/0xa0 [ 308.533278] ? putname+0xcf/0xe0 [ 308.533309] ? security_file_ioctl+0x57/0x90 [ 308.533342] SyS_ioctl+0x4e/0x80 [ 308.533374] entry_SYSCALL_64_fastpath+0x18/0xad [ 308.533405] RIP: 0033:0x7ff00779e4d7 [ 308.533431] RSP: 002b:00007fff66a043d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 [ 308.533481] RAX: ffffffffffffffda RBX: 000000e7c7ca5910 RCX: 00007ff00779e4d7 [ 308.533560] RDX: 00007fff66a04430 RSI: 00000000c03864bc RDI: 0000000000000003 [ 308.533608] RBP: 00007ff007a5fb00 R08: 000000e7c7ca4620 R09: 000000e7c7ca5e60 [ 308.533647] R10: 0000000000000001 R11: 0000000000000246 R12: 0000000000000070 [ 308.533685] R13: 0000000000000000 R14: 0000000000000000 R15: 000000e7c7ca5930 [ 308.533770] Code: ff df 55 48 89 e5 41 55 41 54 53 48 89 fb 48 83 c7 50 48 89 fa 48 c1 ea 03 80 3c 02 00 74 05 e8 94 d4 16 e7 48 83 7b 50 00 74 02 <0f> ff 4c 8d 6b 58 48 b8 00 00 00 00 00 fc ff df 4c 89 ea 48 c1 [ 308.534086] ---[ end trace 77f11e53b1df44ad ]--- Solve this by adding the missing return. This is also a bugfix because we could end up rejecting updates with -EINVAL because of a early -EDEADLK, while if atomic_check ran to completion it might have downgraded the modeset to a fastset. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Testcase: kms_atomic Link: https://patchwork.freedesktop.org/patch/msgid/20170815095706.23624-1-maarten.lankhorst@linux.intel.com Fixes: d34f20d6e2f2 ("drm: Atomic modeset ioctl") Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * | drm: Release driver tracking before making the object available againChris Wilson2017-08-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit fe4600a548f2763dec91b3b27a1245c370ceee2a upstream. This is the same bug as we fixed in commit f6cd7daecff5 ("drm: Release driver references to handle before making it available again"), but now the exposure is via the PRIME lookup tables. If we remove the object/handle from the PRIME lut, then a new request for the same object/fd will generate a new handle, thus for a short window that object is known to userspace by two different handles. Fix this by releasing the driver tracking before PRIME. Fixes: 0ff926c7d4f0 ("drm/prime: add exported buffers to current fprivs imported buffer list (v2)") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: David Airlie <airlied@linux.ie> Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Rob Clark <robdclark@gmail.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Thierry Reding <treding@nvidia.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170819120558.6465-1-chris@chris-wilson.co.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | | | Merge "msm: kgsl: Protect the bind object against bad dereference"Linux Build Service Account2017-09-12
|\ \ \ \
| * | | | msm: kgsl: Protect the bind object against bad dereferenceSunil Khatri2017-09-07
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sparse bind object are unbinded with bind id. This can be exploited by any malicious application calling unbind with same bind id again and again. This can lead to a race condition between two threads where one free the bind object and second thread uses same object leading to bad dereference. Change-Id: I542a008fc647489560667fb5016453a0c3448f7a Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
* | | | Merge "drm/msm/sde: remove out of bound access for qos lut parsing"Linux Build Service Account2017-09-12
|\ \ \ \
| * | | | drm/msm/sde: remove out of bound access for qos lut parsingDhaval Patel2017-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QOS LUT dtsi entries use existing hardware parsing APIs but dos not increase the size of array. This causes out of bound access while reading u32 lut array entry. This patch fixes the array size and also adds checks to avoid future out of bound access. It also fixes the memory leak in qos lut parsing. Change-Id: I98de052d03e1bcfd79d15ab99ca41d7782e56682 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org> Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | Merge "drm/msm: fix non-zero offset register dumping"Linux Build Service Account2017-09-12
|\ \ \ \ \
| * | | | | drm/msm: fix non-zero offset register dumpingAbhinav Kumar2017-09-11
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove format identifiers in the register dumping function which incorrectly recognizes the offset and the count of the registers to be dumped. Also, reduce the chunk of memory copied from the SDE hardware register range to align with the existing register dumping mechanism. Change-Id: I1ce7148275f5287e568fe6efc8774f4d495cdaa4 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | Merge "msm: kgsl: Limit the kgsl log frequency in kgsl_get_unmapped_area()"Linux Build Service Account2017-09-11
|\ \ \ \ \
| * | | | | msm: kgsl: Limit the kgsl log frequency in kgsl_get_unmapped_area()Venkateswara Rao Tadikonda2017-09-07
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reduce the frequency of kgsl logging when kgsl driver failed to get memory mapping for requested memory. Change-Id: If1a8832a9aa0396e3c990916deec7949697be12d Signed-off-by: Venkateswara Rao Tadikonda <vtadik@codeaurora.org>
* | | | | Merge "msm: kgsl: Do not allocate scratch memory for A3xx"Linux Build Service Account2017-09-11
|\ \ \ \ \
| * | | | | msm: kgsl: Do not allocate scratch memory for A3xxHareesh Gundu2017-09-08
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A3xx device gets the ring buffer read pointer directly from the GPU registers. So don’t allocate scratch memory which can’t be used for A3xx GPU devices. Change-Id: I95016dfc169b9fee74e978f5560592740f34515e Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
* | | | | Merge "msm: kgsl: Fix gpu fault issue while enabling stall on page fault"Linux Build Service Account2017-09-11
|\ \ \ \ \
| * | | | | msm: kgsl: Fix gpu fault issue while enabling stall on page faultHareesh Gundu2017-09-08
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stall on page fault feature is supported on A5XX and later GPUs. Enabling this feature on unsupported GPUs causes GPU faults. So don't insert GPU stall related commands in ringbuffer if not supported. But allow user to capture the GPU snapshot on GPU page fault. Change-Id: Ied26a5b4f44c1877b289a0ff5c0a6d47901e453d Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
* | | | | Merge "msm: kgsl: Add debug log in adreno_of_get_pwrlevels()"Linux Build Service Account2017-09-11
|\ \ \ \ \ | |_|/ / / |/| | | |
| * | | | msm: kgsl: Add debug log in adreno_of_get_pwrlevels()Hareesh Gundu2017-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add debug log to dump the GPU speed bin value incase probe fails due to efused bin value mismatch with speed bin value. Change-Id: I329523f8dbb82272418981a54a1c2e6cf5e90b85 Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
* | | | | Merge "Merge android-4.4@4b8fc9f (v4.4.82) into msm-4.4"Linux Build Service Account2017-09-08
|\ \ \ \ \ | |_|/ / / |/| | / / | | |/ / | |/| |
| * | | Merge android-4.4@4b8fc9f (v4.4.82) into msm-4.4Blagovest Kolenichev2017-09-01
| |\ \ \ | | |/ / | |/| / | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refs/heads/tmp-4b8fc9f UPSTREAM: locking: avoid passing around 'thread_info' in mutex debugging code ANDROID: arm64: fix undeclared 'init_thread_info' error UPSTREAM: kdb: use task_cpu() instead of task_thread_info()->cpu Linux 4.4.82 net: account for current skb length when deciding about UFO ipv4: Should use consistent conditional judgement for ip fragment in __ip_append_data and ip_finish_output mm/mempool: avoid KASAN marking mempool poison checks as use-after-free KVM: arm/arm64: Handle hva aging while destroying the vm sparc64: Prevent perf from running during super critical sections udp: consistently apply ufo or fragmentation revert "ipv4: Should use consistent conditional judgement for ip fragment in __ip_append_data and ip_finish_output" revert "net: account for current skb length when deciding about UFO" packet: fix tp_reserve race in packet_set_ring net: avoid skb_warn_bad_offload false positives on UFO tcp: fastopen: tcp_connect() must refresh the route net: sched: set xt_tgchk_param par.nft_compat as 0 in ipt_init_target bpf, s390: fix jit branch offset related to ldimm64 net: fix keepalive code vs TCP_FASTOPEN_CONNECT tcp: avoid setting cwnd to invalid ssthresh after cwnd reduction states ANDROID: keychord: Fix for a memory leak in keychord. ANDROID: keychord: Fix races in keychord_write. Use %zu to print resid (size_t). ANDROID: keychord: Fix a slab out-of-bounds read. Linux 4.4.81 workqueue: implicit ordered attribute should be overridable net: account for current skb length when deciding about UFO ipv4: Should use consistent conditional judgement for ip fragment in __ip_append_data and ip_finish_output mm: don't dereference struct page fields of invalid pages signal: protect SIGNAL_UNKILLABLE from unintentional clearing. lib/Kconfig.debug: fix frv build failure mm, slab: make sure that KMALLOC_MAX_SIZE will fit into MAX_ORDER ARM: 8632/1: ftrace: fix syscall name matching virtio_blk: fix panic in initialization error path drm/virtio: fix framebuffer sparse warning scsi: qla2xxx: Get mutex lock before checking optrom_state phy state machine: failsafe leave invalid RUNNING state x86/boot: Add missing declaration of string functions tg3: Fix race condition in tg3_get_stats64(). net: phy: dp83867: fix irq generation sh_eth: R8A7740 supports packet shecksumming wext: handle NULL extra data in iwe_stream_add_point better sparc64: Measure receiver forward progress to avoid send mondo timeout xen-netback: correctly schedule rate-limited queues net: phy: Fix PHY unbind crash net: phy: Correctly process PHY_HALTED in phy_stop_machine() net/mlx5: Fix command bad flow on command entry allocation failure sctp: fix the check for _sctp_walk_params and _sctp_walk_errors sctp: don't dereference ptr before leaving _sctp_walk_{params, errors}() dccp: fix a memleak for dccp_feat_init err process dccp: fix a memleak that dccp_ipv4 doesn't put reqsk properly dccp: fix a memleak that dccp_ipv6 doesn't put reqsk properly net: ethernet: nb8800: Handle all 4 RGMII modes identically ipv6: Don't increase IPSTATS_MIB_FRAGFAILS twice in ip6_fragment() packet: fix use-after-free in prb_retire_rx_blk_timer_expired() openvswitch: fix potential out of bound access in parse_ct mcs7780: Fix initialization when CONFIG_VMAP_STACK is enabled rtnetlink: allocate more memory for dev_set_mac_address() ipv4: initialize fib_trie prior to register_netdev_notifier call. ipv6: avoid overflow of offset in ip6_find_1stfragopt net: Zero terminate ifr_name in dev_ifname(). ipv4: ipv6: initialize treq->txhash in cookie_v[46]_check() saa7164: fix double fetch PCIe access condition drm: rcar-du: fix backport bug f2fs: sanity check checkpoint segno and blkoff media: lirc: LIRC_GET_REC_RESOLUTION should return microseconds mm, mprotect: flush TLB if potentially racing with a parallel reclaim leaving stale TLB entries iser-target: Avoid isert_conn->cm_id dereference in isert_login_recv_done iscsi-target: Fix delayed logout processing greater than SECONDS_FOR_LOGOUT_COMP iscsi-target: Fix initial login PDU asynchronous socket close OOPs iscsi-target: Fix early sk_data_ready LOGIN_FLAGS_READY race iscsi-target: Always wait for kthread_should_stop() before kthread exit target: Avoid mappedlun symlink creation during lun shutdown media: platform: davinci: return -EINVAL for VPFE_CMD_S_CCDC_RAW_PARAMS ioctl ARM: dts: armada-38x: Fix irq type for pca955 ext4: fix overflow caused by missing cast in ext4_resize_fs() ext4: fix SEEK_HOLE/SEEK_DATA for blocksize < pagesize mm/page_alloc: Remove kernel address exposure in free_reserved_area() KVM: async_pf: make rcu irq exit if not triggered from idle task ASoC: do not close shared backend dailink ALSA: hda - Fix speaker output from VAIO VPCL14M1R workqueue: restore WQ_UNBOUND/max_active==1 to be ordered libata: array underflow in ata_find_dev() ANDROID: binder: don't queue async transactions to thread. ANDROID: binder: don't enqueue death notifications to thread todo. ANDROID: binder: call poll_wait() unconditionally. android: configs: move quota-related configs to recommended BACKPORT: arm64: split thread_info from task stack UPSTREAM: arm64: assembler: introduce ldr_this_cpu UPSTREAM: arm64: make cpu number a percpu variable UPSTREAM: arm64: smp: prepare for smp_processor_id() rework BACKPORT: arm64: move sp_el0 and tpidr_el1 into cpu_suspend_ctx UPSTREAM: arm64: prep stack walkers for THREAD_INFO_IN_TASK UPSTREAM: arm64: unexport walk_stackframe UPSTREAM: arm64: traps: simplify die() and __die() UPSTREAM: arm64: factor out current_stack_pointer BACKPORT: arm64: asm-offsets: remove unused definitions UPSTREAM: arm64: thread_info remove stale items UPSTREAM: thread_info: include <current.h> for THREAD_INFO_IN_TASK UPSTREAM: thread_info: factor out restart_block UPSTREAM: kthread: Pin the stack via try_get_task_stack()/put_task_stack() in to_live_kthread() function UPSTREAM: sched/core: Add try_get_task_stack() and put_task_stack() UPSTREAM: sched/core: Allow putting thread_info into task_struct UPSTREAM: printk: when dumping regs, show the stack, not thread_info UPSTREAM: fix up initial thread stack pointer vs thread_info confusion UPSTREAM: Clarify naming of thread info/stack allocators ANDROID: sdcardfs: override credential for ioctl to lower fs Conflicts: android/configs/android-base.cfg arch/arm64/Kconfig arch/arm64/include/asm/suspend.h arch/arm64/kernel/head.S arch/arm64/kernel/smp.c arch/arm64/kernel/suspend.c arch/arm64/kernel/traps.c arch/arm64/mm/proc.S kernel/fork.c sound/soc/soc-pcm.c Change-Id: I273e216c94899a838bbd208391c6cbe20b2bf683 Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
| | * drm/virtio: fix framebuffer sparse warningGerd Hoffmann2017-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ Upstream commit 71d3f6ef7f5af38dea2975ec5715c88bae92e92d ] virtio uses normal ram as backing storage for the framebuffer, so we should assign the address to new screen_buffer (added by commit 17a7b0b4d9749f80d365d7baff5dec2f54b0e992) instead of screen_base. Reported-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm: rcar-du: fix backport bugGreg Kroah-Hartman2017-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the backport of commit 4f7b0d263833 ("drm: rcar-du: Simplify and fix probe error handling"), which is commit 8255d26322a3 in this tree, the error handling path was incorrect. This patch fixes it up. Reported-by: Ben Hutchings <ben.hutchings@codethink.co.uk> Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Cc: thongsyho <thong.ho.px@rvc.renesas.com> Cc: Nhan Nguyen <nhan.nguyen.yb@renesas.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>