Ok, firstly we need to discuss the list usage, for list head we need do 
initialization, but for list node we don't need initialization at all. And for 
misc_list head, we use LIST_HEAD to define and initialize it. So I don't know 
why we put INIT_LIST_HEAD(&misc->list) in function misc_register, any bugs when 
without it?

-----Original Message-----
From: arndbergm...@gmail.com [mailto:arndbergm...@gmail.com] On Behalf Of Arnd 
Bergmann
Sent: Monday, June 26, 2017 10:10 PM
To: Zhongping Tan (谭中平)
Cc: Orson Zhai (翟京); Greg Kroah-Hartman; Linux Kernel Mailing List
Subject: Re: 答复: [RFC PATCH] char: misc: Init misc->list in a safe way

On Mon, Jun 26, 2017 at 4:00 PM, Zhongping Tan (谭中平)
<zhongping....@spreadtrum.com> wrote:
> hi Arnd:
> Another way to describe this question,  misc_register shouldn't modify 
> the member of the miscdevice especially when return error. Let the caller to 
> ensure the list have been initialized, or when return error, please don't  
> initialize the list.

Why not? The caller should only initialize a couple of fields in the structure 
(name, minor, fops, ...) not never even look at the list entry, which is really 
internal to the misc_register()/misc_unregister().

       Arnd

Reply via email to