Feature #3233

068: Incorrect release of USB information structures

Added by Evgeny Novikov over 5 years ago. Updated about 3 years ago.

Status:NewStart date:07/19/2012
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-
Published in build:

Description

Description

  • Resources allocated by usb_alloc_urb should be correctly freed by usb_free_urb.
  • Resources allocated by usb_alloc_coherent should be correctly freed by usb_free_coherent.

Links

Sample bugfixes 2.6.24 -> 2.6.25, cb7cd429, 0653136, 08bf11d

History

#1 Updated by Evgeny Novikov over 5 years ago

Corresponding plain model 68_1 was successfully implemented. But after fixing #453 and related issues, this model behaves strangely. My local launch demonstrated such the difference for medium regression test set:

-driver=kbdrivers--0068-2.6.31.6--test-0068-2.6.31.6-verdict-unsafe-drivers--net--usb--cdc_eem.c.tar.bz2;origin=external;kernel=linux-2.6.31.6;model=68_1;module=drivers/kbdrivers/0068-2.6.31.6/test-0068-2.6.31.6-verdict-unsafe-drivers--net--usb--cdc_eem.c/cdc_eem.ko;main=ldv_main0_sequence_infinite_withcheck_stateful;verdict=safe                                            
+driver=kbdrivers--0068-2.6.31.6--test-0068-2.6.31.6-verdict-unsafe-drivers--net--usb--cdc_eem.c.tar.bz2;origin=external;kernel=linux-2.6.31.6;model=68_1;module=drivers/kbdrivers/0068-2.6.31.6/test-0068-2.6.31.6-verdict-unsafe-drivers--net--usb--cdc_eem.c/cdc_eem.ko;main=ldv_main0_sequence_infinite_withcheck_stateful;verdict=unknown;RCV_status=fail;problems=Time_limit
-driver=online-drivers--from_oldserv--usb-core-message-unsafe.tar.bz2.tar.bz2;origin=external;kernel=linux-2.6.31.6;model=68_1;module=message.ko;main=ldv_main0_sequence_infinite_withcheck_stateful;verdict=unknown;RCV_status=fail;problems=Exception,NoNewPredicates                                                                                           
+driver=online-drivers--from_oldserv--usb-core-message-unsafe.tar.bz2.tar.bz2;origin=external;kernel=linux-2.6.31.6;model=68_1;module=message.ko;main=ldv_main0_sequence_infinite_withcheck_stateful;verdict=unknown;RCV_status=fail;problems=Exception

while night tests have shown:
-driver=kbdrivers--0068-2.6.31.6--test-0068-2.6.31.6-verdict-unsafe-drivers--net--usb--cdc_eem.c.tar.bz2;origin=external;kernel=linux-2.6.31.6;model=68_1;module=drivers/kbdrivers/0068-2.6.31.6/test-0068-2.6.31.6-verdict-unsafe-drivers--net--usb--cdc_eem.c/cdc_eem.ko;main=ldv_main0_sequence_infinite_withcheck_stateful;verdict=safe                                            
+driver=kbdrivers--0068-2.6.31.6--test-0068-2.6.31.6-verdict-unsafe-drivers--net--usb--cdc_eem.c.tar.bz2;origin=external;kernel=linux-2.6.31.6;model=68_1;module=drivers/kbdrivers/0068-2.6.31.6/test-0068-2.6.31.6-verdict-unsafe-drivers--net--usb--cdc_eem.c/cdc_eem.ko;main=ldv_main0_sequence_infinite_withcheck_stateful;verdict=unknown;RCV_status=fail;problems=Time_limit
-driver=online-drivers--from_oldserv--usb-core-message-unsafe.tar.bz2.tar.bz2;origin=external;kernel=linux-2.6.31.6;model=68_1;module=message.ko;main=ldv_main0_sequence_infinite_withcheck_stateful;verdict=unknown;RCV_status=fail;problems=Exception,NoNewPredicates
+driver=online-drivers--from_oldserv--usb-core-message-unsafe.tar.bz2.tar.bz2;origin=external;kernel=linux-2.6.31.6;model=68_1;module=message.ko;main=ldv_main0_sequence_infinite_withcheck_stateful;verdict=safe

That is the first change is the same while the second one is different.

#2 Updated by Evgeny Novikov over 5 years ago

Commit 1f558ed of the master branch has changed corresponding verdicts temporary to pass night tests.

#3 Updated by Evgeny Novikov over 5 years ago

Two times night tests showed the following difference for the given rule:

-driver=kbdrivers--0068-2.6.31.6--test-0068-2.6.31.6-verdict-unsafe-drivers--net--usb--cdc_eem.c.tar.bz2;origin=external;kernel=linux-2.6.31.6;model=68_1;module=drivers/kbdrivers/0068-2.6.31.6/test-0068-2.6.31.6-verdict-unsafe-drivers--net--usb--cdc_eem.c/cdc_eem.ko;main=ldv_main0_sequence_infinite_withcheck_stateful;verdict=unknown;RCV_status=fail;problems=Time_limit
+driver=kbdrivers--0068-2.6.31.6--test-0068-2.6.31.6-verdict-unsafe-drivers--net--usb--cdc_eem.c.tar.bz2;origin=external;kernel=linux-2.6.31.6;model=68_1;module=drivers/kbdrivers/0068-2.6.31.6/test-0068-2.6.31.6-verdict-unsafe-drivers--net--usb--cdc_eem.c/cdc_eem.ko;main=ldv_main0_sequence_infinite_withcheck_stateful;verdict=safe
-driver=kbdrivers--0068-2.6.31.6--test-0068-2.6.31.6-verdict-unsafe-drivers--input--mouse--bcm5974.c.tar.bz2;origin=external;kernel=linux-2.6.31.6;model=68_1;module=drivers/kbdrivers/0068-2.6.31.6/test-0068-2.6.31.6-verdict-unsafe-drivers--input--mouse--bcm5974.c/bcm5974.ko;main=ldv_main0_sequence_infinite_withcheck_stateful;verdict=safe
+driver=kbdrivers--0068-2.6.31.6--test-0068-2.6.31.6-verdict-unsafe-drivers--input--mouse--bcm5974.c.tar.bz2;origin=external;kernel=linux-2.6.31.6;model=68_1;module=drivers/kbdrivers/0068-2.6.31.6/test-0068-2.6.31.6-verdict-unsafe-drivers--input--mouse--bcm5974.c/bcm5974.ko;main=ldv_main0_sequence_infinite_withcheck_stateful;verdict=unknown;RCV_status=fail;problems=Blocks_SAT,Exception

Thus, kbdrivers--0068-2.6.31.6--test-0068-2.6.31.6-verdict-unsafe-drivers--net--usb--cdc_eem.c.tar.bz2 is unstable driver and I'm going to exclude it from general test suite (but one who will take care of this model should understand what happens). To pass night tests I also should apply the second change to the suite...

#4 Updated by Evgeny Novikov over 5 years ago

79bcf8a did this.

#5 Updated by Alexey Khoroshilov over 4 years ago

  • Subject changed from 68_1: Incorrect release of USB information structures to 068_1: Incorrect release of USB information structures

#6 Updated by Vadim Mutilin about 4 years ago

  • Subject changed from 068_1: Incorrect release of USB information structures to 068: Incorrect release of USB information structures

#7 Updated by Vadim Mutilin about 3 years ago

  • Description updated (diff)

#8 Updated by Vadim Mutilin about 3 years ago

  • Description updated (diff)

Also available in: Atom PDF