mbox series

[0/2] service: Both Cancel and Stop Online Checks where Appropriate

Message ID 20231215021653.2156275-1-gerickson@nuovations.com (mailing list archive)
Headers show
Series service: Both Cancel and Stop Online Checks where Appropriate | expand

Message

Grant Erickson Dec. 15, 2023, 2:16 a.m. UTC
This both cancels, via 'cancel_online_check', and stops, via
'__connman_wispr_stop' online checks on service disconnect or
free. The former terminates any in-flight or recurring check activity
in "service.c" and the latter terminates the same in "wispr.c".

Failure to cancel as well as stop can lead to a use-after-free fault
in one-shot or continuous online check mode when a latent online check
reschedule timer fires after the service has been disconnected or
deallocated.

To support these cancelations with a single 'cancel_online_check'
function call, support is added for passing
'CONNMAN_IPCONFIG_TYPE_ALL' to 'cancel_online_check' as the IP
configuration type parameter.

Grant Erickson (2):
  service: Add support for 'CONNMAN_IPCONFIG_TYPE_ALL' to
    'cancel_online_check'.
  service: Both cancel and stop online checks where appropriate.

 src/service.c | 43 +++++++++++++++++++++++++++++++++----------
 1 file changed, 33 insertions(+), 10 deletions(-)

Comments

Marcel Holtmann Dec. 15, 2023, 8:52 a.m. UTC | #1
Hi Grant,

> This both cancels, via 'cancel_online_check', and stops, via
> '__connman_wispr_stop' online checks on service disconnect or
> free. The former terminates any in-flight or recurring check activity
> in "service.c" and the latter terminates the same in "wispr.c".
> 
> Failure to cancel as well as stop can lead to a use-after-free fault
> in one-shot or continuous online check mode when a latent online check
> reschedule timer fires after the service has been disconnected or
> deallocated.
> 
> To support these cancelations with a single 'cancel_online_check'
> function call, support is added for passing
> 'CONNMAN_IPCONFIG_TYPE_ALL' to 'cancel_online_check' as the IP
> configuration type parameter.
> 
> Grant Erickson (2):
>  service: Add support for 'CONNMAN_IPCONFIG_TYPE_ALL' to
>    'cancel_online_check'.
>  service: Both cancel and stop online checks where appropriate.
> 
> src/service.c | 43 +++++++++++++++++++++++++++++++++----------
> 1 file changed, 33 insertions(+), 10 deletions(-)

both patches have been applied.

Regards

Marcel