Skip to content

Commit

Permalink
mfd: dln2: Add a limit check for invalid echo
Browse files Browse the repository at this point in the history
The echo field in dln2_transfer_complete comes directly from an USB
transfer and we should not trust it is valid.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Octavian Purdila <octavian.purdila@intel.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
  • Loading branch information
Octavian Purdila authored and Lee Jones committed Nov 19, 2014
1 parent 9331642 commit 00ee7a3
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions drivers/mfd/dln2.c
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,9 @@ static bool dln2_transfer_complete(struct dln2_dev *dln2, struct urb *urb,
struct dln2_rx_context *rxc;
bool valid_slot = false;

if (rx_slot >= DLN2_MAX_RX_SLOTS)
goto out;

rxc = &rxs->slots[rx_slot];

/*
Expand All @@ -210,6 +213,7 @@ static bool dln2_transfer_complete(struct dln2_dev *dln2, struct urb *urb,
}
spin_unlock(&rxs->lock);

out:
if (!valid_slot)
dev_warn(dev, "bad/late response %d/%d\n", handle, rx_slot);

Expand Down

0 comments on commit 00ee7a3

Please sign in to comment.