From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Daniel Vetter <daniel.vetter@ffwll.ch>,
Dave Airlie <airlied@redhat.com>
Subject: [PATCH 4.1 33/46] drm/dp/mst: make mst i2c transfer code more robust.
Date: Fri, 23 Oct 2015 10:46:19 -0700 [thread overview]
Message-ID: <20151023174621.778385496@linuxfoundation.org> (raw)
In-Reply-To: <20151023174620.779720995@linuxfoundation.org>
4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dave Airlie <airlied@gmail.com>
commit ae491542cbbbcca0ec8938c37d4079a985e58440 upstream.
This zeroes the msg so no random stack data ends up getting
sent, it also limits the function to not accepting > 4
i2c msgs.
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/gpu/drm/drm_dp_mst_topology.c | 3 ++-
include/drm/drm_dp_mst_helper.h | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -2766,12 +2766,13 @@ static int drm_dp_mst_i2c_xfer(struct i2
if (msgs[num - 1].flags & I2C_M_RD)
reading = true;
- if (!reading) {
+ if (!reading || (num - 1 > DP_REMOTE_I2C_READ_MAX_TRANSACTIONS)) {
DRM_DEBUG_KMS("Unsupported I2C transaction for MST device\n");
ret = -EIO;
goto out;
}
+ memset(&msg, 0, sizeof(msg));
msg.req_type = DP_REMOTE_I2C_READ;
msg.u.i2c_read.num_transactions = num - 1;
msg.u.i2c_read.port_number = port->port_num;
--- a/include/drm/drm_dp_mst_helper.h
+++ b/include/drm/drm_dp_mst_helper.h
@@ -253,6 +253,7 @@ struct drm_dp_remote_dpcd_write {
u8 *bytes;
};
+#define DP_REMOTE_I2C_READ_MAX_TRANSACTIONS 4
struct drm_dp_remote_i2c_read {
u8 num_transactions;
u8 port_number;
@@ -262,7 +263,7 @@ struct drm_dp_remote_i2c_read {
u8 *bytes;
u8 no_stop_bit;
u8 i2c_transaction_delay;
- } transactions[4];
+ } transactions[DP_REMOTE_I2C_READ_MAX_TRANSACTIONS];
u8 read_i2c_device_id;
u8 num_bytes_read;
};
next prev parent reply other threads:[~2015-10-23 17:46 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-23 17:45 [PATCH 4.1 00/46] 4.1.12-stable review Greg Kroah-Hartman
2015-10-23 17:45 ` [PATCH 4.1 01/46] net/ibm/emac: bump version numbers for correct work with ethtool Greg Kroah-Hartman
2015-10-23 17:45 ` [PATCH 4.1 02/46] l2tp: protect tunnel->del_work by ref_count Greg Kroah-Hartman
2015-10-23 17:45 ` [PATCH 4.1 03/46] skbuff: Fix skb checksum flag on skb pull Greg Kroah-Hartman
2015-10-23 17:45 ` [PATCH 4.1 04/46] skbuff: Fix skb checksum partial check Greg Kroah-Hartman
2015-10-23 17:45 ` [PATCH 4.1 05/46] inet: fix races in reqsk_queue_hash_req() Greg Kroah-Hartman
2015-10-23 17:45 ` [PATCH 4.1 06/46] net: add pfmemalloc check in sk_add_backlog() Greg Kroah-Hartman
2015-10-23 17:45 ` [PATCH 4.1 07/46] ppp: dont override sk->sk_state in pppoe_flush_dev() Greg Kroah-Hartman
2015-10-23 17:45 ` [PATCH 4.1 08/46] inet: fix race in reqsk_queue_unlink() Greg Kroah-Hartman
2015-10-23 17:45 ` [PATCH 4.1 09/46] bpf: fix panic in SO_GET_FILTER with native ebpf programs Greg Kroah-Hartman
2015-10-23 17:45 ` [PATCH 4.1 10/46] ovs: do not allocate memory from offline numa node Greg Kroah-Hartman
2015-10-23 17:45 ` [PATCH 4.1 11/46] act_mirred: clear sender cpu before sending to tx Greg Kroah-Hartman
2015-10-23 17:45 ` [PATCH 4.1 12/46] ethtool: Use kcalloc instead of kmalloc for ethtool_get_strings Greg Kroah-Hartman
2015-10-23 17:45 ` [PATCH 4.1 13/46] tipc: move fragment importance field to new header position Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 14/46] netlink: Trim skb to alloc size to avoid MSG_TRUNC Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 15/46] af_unix: Convert the unix_sk macro to an inline function for type safety Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 16/46] af_unix: return data from multiple SKBs on recv() with MSG_PEEK flag Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 17/46] net/unix: fix logic about sk_peek_offset Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 18/46] drm: Fix locking for sysfs dpms file Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 19/46] crypto: sparc - initialize blkcipher.ivsize Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 20/46] crypto: ahash - ensure statesize is non-zero Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 21/46] memcg: convert threshold to bytes Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 22/46] btrfs: check unsupported filters in balance arguments Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 23/46] btrfs: fix use after free iterating extrefs Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 24/46] arm64: errata: use KBUILD_CFLAGS_MODULE for erratum #843419 Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 25/46] nfsd/blocklayout: accept any minlength Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 26/46] mfd: max77843: Fix max77843_chg_init() return on error Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 27/46] i2c: rcar: enable RuntimePM before registering to the core Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 28/46] i2c: s3c2410: " Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 29/46] i2c: designware: Do not use parameters from ACPI on Dell Inspiron 7348 Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 30/46] i2c: designware-platdrv: enable RuntimePM before registering to the core Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 31/46] workqueue: make sure delayed work run in local cpu Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 32/46] drm/nouveau/fbcon: take runpm reference when userspace has an open fd Greg Kroah-Hartman
2015-10-23 17:46 ` Greg Kroah-Hartman [this message]
2015-10-23 17:46 ` [PATCH 4.1 34/46] drm/radeon: attach tile property to mst connector Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 35/46] drm/radeon: add pm sysfs files late Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 36/46] dm thin: fix missing pool reference count decrement in pool_ctr error path Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 37/46] rbd: fix double free on rbd_dev->header_name Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 38/46] sched/preempt: Rename PREEMPT_CHECK_OFFSET to PREEMPT_DISABLE_OFFSET Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 39/46] sched/preempt: Fix cond_resched_lock() and cond_resched_softirq() Greg Kroah-Hartman
2015-10-23 20:14 ` Thomas Backlund
2015-10-23 23:21 ` Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 41/46] arm64: Fix THP protection change logic Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 42/46] svcrdma: handle rdma read with a non-zero initial page offset Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 43/46] locks: have flock_lock_file take an inode pointer instead of a filp Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 44/46] locks: new helpers - flock_lock_inode_wait and posix_lock_inode_wait Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 45/46] locks: inline posix_lock_file_wait and flock_lock_file_wait Greg Kroah-Hartman
2015-10-23 17:46 ` [PATCH 4.1 46/46] nfs4: have do_vfs_lock take an inode pointer Greg Kroah-Hartman
2015-10-23 20:34 ` [PATCH 4.1 00/46] 4.1.12-stable review Shuah Khan
2015-10-23 23:22 ` Greg Kroah-Hartman
2015-10-24 1:11 ` Guenter Roeck
2015-10-24 3:15 ` Guenter Roeck
2015-10-24 13:20 ` Greg Kroah-Hartman
[not found] ` <562b9ffc.e8acc20a.c45a5.08fd@mx.google.com>
2015-10-24 15:16 ` Kevin Hilman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151023174621.778385496@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=airlied@redhat.com \
--cc=daniel.vetter@ffwll.ch \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).