[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#655387: [PATCH net v2] cdc_ether: Ignore bogus union descriptor for RNDIS devices



Jonathan Nieder <jrnieder@gmail.com> writes:

> Hi Iker,
>
> David Miller wrote:
>> From: Bjørn Mork <bjorn@mork.no>
>> Date: Thu, 26 Apr 2012 14:35:10 +0200
>
>>> The same comments as for v1 regarding testing applies.  This is build
>>> tested only.  Should go through some functional testing before being
>>> applied.
>>
>> Well?  Is anyone gonna test this?
>
> Looks like it's up to you, unless some firmware upgrade already
> made the problem go away.
>
> It works like this:
>
>  0. prerequisites:
>
> 	apt-get install git build-essential
>
>  1. grab the kernel history, if you don't already have it:
>
> 	git clone \
> 	  git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>
>  2. add point releases:
>
> 	cd linux
> 	git remote add stable \
> 	  git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
> 	git fetch stable
>
>  3. configure, build, test:
>
> 	git checkout stable/linux-3.2.y
> 	cp /boot/config-$(uname -r) .config; # current configuration
> 	make localmodconfig; # optional: minimize configuration
> 	scripts/config --disable DEBUG_INFO
> 	make deb-pkg; # optionally with -j<num> for parallel build
> 	dpkg -i ../<name of package>; # as root
> 	reboot
> 	... test test test ...
>
>    Hopefully it reproduces the problem.  So:
>
>  4. try the patch (attached):
>
> 	cd linux
> 	git am -3sc /path/to/the/patch
> 	make deb-pkg; # maybe with -j4
> 	dpkg -i ../<name of package>; # as root
> 	reboot
> 	... test test test ...

Actually, given that this is a really minor change to a module and not
touching any externally visible interfaces at all, you can get away with
far less work for a simple verification test.

Do step 1 and 2, and then

        apt-get install linux-headers-`uname -r`; # as root
 	git checkout stable/linux-3.2.y
 	git am -3sc /path/to/the/patch
        make -C /lib/modules/`uname -r`/build SUBDIRS=`pwd`/drivers/net/usb cdc_ether.ko
        # as root:
        rmmod cdc_ether
        insmod drivers/net/usb/cdc_ether.ko


No reboot required, and no need to build all the unmodified drivers.
All thanks to the excellent Debian kernel packages :-)



Bjørn



Reply to: