[Spice-devel] [PATCH] usbredirparser: prevent endless recursion if interface_count == 0

Christophe Fergeau cfergeau at redhat.com
Wed Aug 3 10:49:53 UTC 2016


Hey,

I've pushed the patch now, thanks!

Christophe

On Tue, Jul 26, 2016 at 01:47:16PM +0300, Alon Levy wrote:
> On fedora 24 this function is tail optimized, resulting in a busy wait.
> 
> This happens to me with virt-manager running a win7 vm 
> 
> usbredir-0.7.1-2.fc24.x86_64
> ---
> Hi Guys!
> 
>  One liner to fix an issue I had with virt-manager - symptom is 100% cpu
>  taken in it, stack traced to the problem fixed by this patch.
> 
> Alon
> 
>  usbredirparser/usbredirfilter.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/usbredirparser/usbredirfilter.c
> b/usbredirparser/usbredirfilter.c
> index 02184ef..bdfbfc2 100644
> --- a/usbredirparser/usbredirfilter.c
> +++ b/usbredirparser/usbredirfilter.c
> @@ -205,7 +205,7 @@ int usbredirfilter_check(
>       * by recursively calling this function with a flag that forbids
>       * skipping (usbredirfilter_fl_dont_skip_non_boot_hid)
>       */
> -    if (num_skipped == interface_count) {
> +    if (interface_count > 0 && num_skipped == interface_count) {
>          rc = usbredirfilter_check(rules, rules_count,
>                                    device_class, device_subclass,
>                                    device_protocol,
>                                    interface_class, interface_subclass,
> -- 
> 2.7.4
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20160803/1e4a871e/attachment.sig>


More information about the Spice-devel mailing list