cdev object reference count and "struct printer_dev" object reference count(kref), This two reference counts do not conflict. in file usb-skeleton.c also used a similar method, "struct usb_skel" contains kref members. thanks, Zqiang ________________________________________ 发件人: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> 发送时间: 2020年6月9日 17:48 收件人: Zhang, Qiang 抄送: balbi@xxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx 主题: Re: 回复: [PATCH v2] usb: gadget: function: printer: fix use-after-free in __lock_acquire A: http://en.wikipedia.org/wiki/Top_post Q: Were do I find info about this thing called top-posting? A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? A: No. Q: Should I include quotations after my reply? http://daringfireball.net/2007/07/on_top On Tue, Jun 09, 2020 at 09:35:11AM +0000, Zhang, Qiang wrote: > Thank you for your suggestion > two referenced counted objects in the same exact structure. another referenced is > "dev->printer_cdev_open"? Maybe, I don't know, but a cdev does have a reference count already, right? Why do you need printer_cdev_open as well? thanks, greg k-h