On Mon, Dec 27, 2021 at 05:02:39PM +0200, Jarkko Nikula wrote:Fair enough. Noticed only now after this patch (with patches 1, 4, 8 and 13 applied) second counter instance initialization fails:
On 12/27/21 11:45, Uwe Kleine-König wrote:
This fixes device lifetime issues where it was possible to free a liveShould the Fixes tag rather be b6c50affda59 ("counter: Add character device
struct device.
Fixes: b711f687a1c1 ("counter: Add support for Intel Quadrature Encoder Peripheral")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
---
drivers/counter/intel-qep.c | 28 ++++++++++++++++------------
1 file changed, 16 insertions(+), 12 deletions(-)
interface") instead of when each drivers were introduced? I mean was it
possible to hit the issue before /dev/counter was introduced?
I'm not sure if there is an issue before this, but it was already wrong
before for sure. Maybe it's possible to hold a reference somehow via
sysfs?
The thought that made me tag the individual driver commits was: With the
approach used to fix the issue all drivers need to be modified and an
unconverted driver doesn't benefit from the availability of
counter_alloc() / counter_add() if it isn't used. So all trees that
include b711f687a1c1 but not "counter: intel-qep: Convert to new counter
registration" are broken (more or less exploitable). So I think the
added Fixes line is the right choice.