Re: [PATCH] staging: rtl8192u: cleanup proc fs entries upon exit

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

 



On Mon, Feb 21, 2022 at 04:00:06PM +0300, Dan Carpenter wrote:
> On Sun, Feb 20, 2022 at 03:15:53PM -0800, Tong Zhang wrote:
> > proc fs entries need to be removed when module is removed, otherwise
> > when we try to insert the module again, kernel will complain
> > 
> > [  493.068012] proc_dir_entry 'net/ieee80211' already registered
> > [  493.271973]  proc_mkdir+0x18/0x20
> > [  493.272136]  ieee80211_debug_init+0x28/0xde8 [r8192u_usb]
> > [  493.272404]  rtl8192_usb_module_init+0x10/0x161 [r8192u_usb]
> > 
> > [   13.910616] proc_dir_entry 'net/rtl819xU' already registered
> > [   13.918931]  proc_mkdir+0x18/0x20
> > [   13.919098]  rtl8192_usb_module_init+0x142/0x16d [r8192u_usb]
> > 
> > Signed-off-by: Tong Zhang <ztong0001@xxxxxxxxx>
> > ---
> 
> This is a partial fix but there is a lot wrong with both the init() and
> exit() function.  It's not hard to just fix everything and it saves
> time.
> 
> Here is how to write Free the Last thing style error handling for init()
> and when you finish writing the error handling code then the exit()
> function is just a matter of cut and paste.
> 
> The rules are: 1) Free the last successful allocation.  2) Every
> function must have a matching release function. 3) Every function must
> clean up after itself.  No partial allocations.  4) Name your labels
> with descriptive names to say what the goto does.

I meant to add:

5)  Free things in reverse order from how they were allocated.

regards,
dan carpenter





[Index of Archives]     [Linux Driver Development]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux