Re: [ide] ec7d9c9ce8: WARNING:at_fs/proc/generic.c:#remove_proc_entry

From: Jens Axboe
Date: Thu Dec 20 2018 - 11:14:57 EST


On 12/20/18 9:05 AM, Linus Torvalds wrote:
> On Thu, Dec 20, 2018 at 1:19 AM kernel test robot <lkp@xxxxxxxxx> wrote:
>>
>> FYI, we noticed the following commit (built with gcc-7):
>>
>> commit: ec7d9c9ce897174243af4fcd201dbfc34df0f3a3 ("ide: replace ->proc_fops with ->proc_show")
>> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
>
> Funky. How did the kernel test robot suddenly figure out an 8-month
> old problem?
>
>> [ 44.180514] WARNING: CPU: 1 PID: 165 at fs/proc/generic.c:662 remove_proc_entry+0xb9/0x155
>
> This is a warning for somebody doing "remove_proc_entry() on a name
> that doesn't actually exist in that /proc directory.
>
> In this case, it does seem to be due to the named commit adding a
>
> + remove_proc_entry("settings", drive->proc);
>
> to ide_proc_unregister_device(), and looking at the patch I get the
> feeling that it's due to a typo: the code *creates* the file called
> "setting", but removes the file "settings". Note the missing "s" at
> creation time.
>
> And yes, the name of the /proc file _should_be "settings", judging by
> the rest of the patch.
>
> So it does seem to be a real bug. Nobody noticed until now? Why did
> the test robot suddenly react to it?

Maybe the the tiny subset of IDE users don't actually have the proc
stuff enabled? A few months ago I did plenty of IDE testing with the
MQ conversion, but I never saw anything like this. I'm guessing that
I, too, did not have IDE_PROC_FS enabled.

Christoph, do you want to post the one-liner fix for this one?

--
Jens Axboe