`s626_enc_insn_config()` is incorrectly dereferencing `insn->data` which
is a pointer to user memory. It should be using the separate `data`
parameter that points to a copy of the data in kernel memory.
Note that this insn_config handler is being used incorrectly by this
driver anyway. `data[0]` should be used to select the type of
configuration being performed, but this driver is treating it as a
counter preload value.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
// (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));