Hi, On 7/6/23 14:42, Andy Shevchenko wrote: > On Thu, Jul 06, 2023 at 02:31:14PM +0200, Hans de Goede wrote: >> On 7/6/23 12:15, Andy Shevchenko wrote: >>> On Wed, Jul 05, 2023 at 11:30:10PM +0200, Hans de Goede wrote: > >>>> + vcm_type = kstrdup(obj->string.pointer, GFP_KERNEL); >>> >>> Where is the counterpart kfree()? >> >> The vcm-type is stored in one of the generated sw-nodes and the ipu-bridge >> code only creates those once and them leaves them in memory, even on >> a rmmod. So this is deliberately leaked just like that the ipu_bridge >> struct which contains all the swnode-s is deliberately leaked by >> ipu-bridge.c > > Should we worry about those leakages? No this is by design because removing the swnodes while e.g. a sensor driver might still be bound to the i2c-client is trouble-some and the callers of ipu_bridge_init check if it has already run and then skip calling it. So after a rmmod + modprobe of the atomisp / ipu3-cio2 driver ipu_bridge_init() will not get called a second time. Instead the old swnodes (1) which are already set as secondary fwnodes for the sensor and bridge devices are re-used. Regards, Hans 1) + the properties they contain