RE: çå: [RFC PATCH] char: misc: Init misc->list in a safe way

From: Zhongping Tan (èäå)
Date: Mon Jun 26 2017 - 22:04:36 EST


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: arndbergmann@xxxxxxxxx [mailto:arndbergmann@xxxxxxxxx] 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.Tan@xxxxxxxxxxxxxx> 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