]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
staging: comedi: s626: don't dereference insn->data
authorIan Abbott <abbotti@mev.co.uk>
Mon, 24 Sep 2012 16:20:52 +0000 (17:20 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 7 Oct 2012 15:27:24 +0000 (08:27 -0700)
commit b655c2c4782ed3e2e71d2608154e295a3e860311 upstream.

`s626_enc_insn_config()` is incorrectly dereferencing `insn->data` which
is a pointer to user memory.  It should be dereferencing the separate
`data` parameter that points to a copy of the data in kernel memory.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/s626.c

index 23fc64b9988eb3c588faf311476d10f8d68aeaed..c72128f30f17085826abdad4996da51828b20f67 100644 (file)
@@ -2370,7 +2370,7 @@ static int s626_enc_insn_config(struct comedi_device *dev,
        /*   (data==NULL) ? (Preloadvalue=0) : (Preloadvalue=data[0]); */
 
        k->SetMode(dev, k, Setup, TRUE);
-       Preload(dev, k, *(insn->data));
+       Preload(dev, k, data[0]);
        k->PulseIndex(dev, k);
        SetLatchSource(dev, k, valueSrclatch);
        k->SetEnable(dev, k, (uint16_t) (enab != 0));