]> git.kernelconcepts.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:39:31 +0000 (08:39 -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 f90578e5e72758fc079d0b38d3c17a4452fd7e03..2b03b6834a0b4700727207ab1dc8117cdb7e77fb 100644 (file)
@@ -1868,7 +1868,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));