* [RFC] register_blkdev and unregister_blkdev
@ 2001-10-10 10:23 BALBIR SINGH
2001-10-10 10:34 ` Alexander Viro
0 siblings, 1 reply; 5+ messages in thread
From: BALBIR SINGH @ 2001-10-10 10:23 UTC (permalink / raw)
To: linux-kernel
[-- Attachment #1: Type: text/plain, Size: 831 bytes --]
I was looking at the code for register_blkdev and unregister_blkdev. I
found that no
locking (spinlocks) are used to protect the blkdevs struture in these
functions. I suspect
we have not seen a problem till now since
Either
1. register_blkdev is called from modules, and only module
initialization is protected.
2. register_blkdev is called during init time for drivers in the kernel
and I am not sure
about whether calls to register_blkdev at this time are implicitly
serialized, since only
1 CPU is active during initialization
Anway, what I needed to know was if (1) and (2) are enough to ensure
safety in register_blkdev
and unregister_blkdev.
May be I am missing something, there is already some lock which is held
before these routines
are invoked, I could not find any.
Comments
Thanks,
Balbir Singh.
[-- Attachment #2: Wipro_Disclaimer.txt --]
[-- Type: text/plain, Size: 853 bytes --]
----------------------------------------------------------------------------------------------------------------------
Information transmitted by this E-MAIL is proprietary to Wipro and/or its Customers and
is intended for use only by the individual or entity to which it is
addressed, and may contain information that is privileged, confidential or
exempt from disclosure under applicable law. If you are not the intended
recipient or it appears that this mail has been forwarded to you without
proper authority, you are notified that any use or dissemination of this
information in any manner is strictly prohibited. In such cases, please
notify us immediately at mailto:mailadmin@wipro.com and delete this mail
from your records.
----------------------------------------------------------------------------------------------------------------------
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [RFC] register_blkdev and unregister_blkdev
2001-10-10 10:23 [RFC] register_blkdev and unregister_blkdev BALBIR SINGH
@ 2001-10-10 10:34 ` Alexander Viro
2001-10-10 10:48 ` BALBIR SINGH
0 siblings, 1 reply; 5+ messages in thread
From: Alexander Viro @ 2001-10-10 10:34 UTC (permalink / raw)
To: BALBIR SINGH; +Cc: linux-kernel
On Wed, 10 Oct 2001, BALBIR SINGH wrote:
> I was looking at the code for register_blkdev and unregister_blkdev. I
> found that no
> locking (spinlocks) are used to protect the blkdevs struture in these
> functions. I suspect
> we have not seen a problem till now since
... they are only called under BKL; ditto for lookups in the tables they
(de-)populate.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC] register_blkdev and unregister_blkdev
2001-10-10 10:34 ` Alexander Viro
@ 2001-10-10 10:48 ` BALBIR SINGH
2001-10-10 10:53 ` Alexander Viro
0 siblings, 1 reply; 5+ messages in thread
From: BALBIR SINGH @ 2001-10-10 10:48 UTC (permalink / raw)
To: Alexander Viro; +Cc: linux-kernel
[-- Attachment #1: Type: text/plain, Size: 669 bytes --]
Alexander Viro wrote:
>>I was looking at the code for register_blkdev and unregister_blkdev. I
>>found that no
>>locking (spinlocks) are used to protect the blkdevs struture in these
>>functions. I suspect
>>we have not seen a problem till now since
>>
>
>... they are only called under BKL; ditto for lookups in the tables they
>(de-)populate.
>
What I wanted to know was, who is calling/holding the BKL? Is it because
lock_kernel is called in sys_create_module() and sys_init_module().
I also looked at sd.c, it does not hold the BKL before calling register_blkdev()
it calls devfs_register_blkdev() from sd_init().
Maybe I am still missing something.
Balbir
[-- Attachment #2: Wipro_Disclaimer.txt --]
[-- Type: text/plain, Size: 853 bytes --]
----------------------------------------------------------------------------------------------------------------------
Information transmitted by this E-MAIL is proprietary to Wipro and/or its Customers and
is intended for use only by the individual or entity to which it is
addressed, and may contain information that is privileged, confidential or
exempt from disclosure under applicable law. If you are not the intended
recipient or it appears that this mail has been forwarded to you without
proper authority, you are notified that any use or dissemination of this
information in any manner is strictly prohibited. In such cases, please
notify us immediately at mailto:mailadmin@wipro.com and delete this mail
from your records.
----------------------------------------------------------------------------------------------------------------------
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC] register_blkdev and unregister_blkdev
2001-10-10 10:48 ` BALBIR SINGH
@ 2001-10-10 10:53 ` Alexander Viro
2001-10-10 11:08 ` BALBIR SINGH
0 siblings, 1 reply; 5+ messages in thread
From: Alexander Viro @ 2001-10-10 10:53 UTC (permalink / raw)
To: BALBIR SINGH; +Cc: linux-kernel
On Wed, 10 Oct 2001, BALBIR SINGH wrote:
> Alexander Viro wrote:
>
> >>I was looking at the code for register_blkdev and unregister_blkdev. I
> >>found that no
> >>locking (spinlocks) are used to protect the blkdevs struture in these
> >>functions. I suspect
> >>we have not seen a problem till now since
> >>
> >
> >... they are only called under BKL; ditto for lookups in the tables they
> >(de-)populate.
> >
> What I wanted to know was, who is calling/holding the BKL? Is it because
> lock_kernel is called in sys_create_module() and sys_init_module().
All module init code is under BKL and will stay that way for a long time.
If that ever becomes not true, we are in for much more pain that
register_blkdev() races - you would need to do audit of all drivers to
pull something like that.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC] register_blkdev and unregister_blkdev
2001-10-10 10:53 ` Alexander Viro
@ 2001-10-10 11:08 ` BALBIR SINGH
0 siblings, 0 replies; 5+ messages in thread
From: BALBIR SINGH @ 2001-10-10 11:08 UTC (permalink / raw)
To: Alexander Viro; +Cc: linux-kernel
[-- Attachment #1: Type: text/plain, Size: 403 bytes --]
Alexander Viro wrote:
>All module init code is under BKL and will stay that way for a long time.
>If that ever becomes not true, we are in for much more pain that
>register_blkdev() races - you would need to do audit of all drivers to
>pull something like that.
>
I suspected that the locking in init_module was preventing bad
things from happening in {devfs_}register_blkdev, I am sure now.
Balbir
[-- Attachment #2: Wipro_Disclaimer.txt --]
[-- Type: text/plain, Size: 853 bytes --]
----------------------------------------------------------------------------------------------------------------------
Information transmitted by this E-MAIL is proprietary to Wipro and/or its Customers and
is intended for use only by the individual or entity to which it is
addressed, and may contain information that is privileged, confidential or
exempt from disclosure under applicable law. If you are not the intended
recipient or it appears that this mail has been forwarded to you without
proper authority, you are notified that any use or dissemination of this
information in any manner is strictly prohibited. In such cases, please
notify us immediately at mailto:mailadmin@wipro.com and delete this mail
from your records.
----------------------------------------------------------------------------------------------------------------------
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2001-10-10 11:08 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-10-10 10:23 [RFC] register_blkdev and unregister_blkdev BALBIR SINGH
2001-10-10 10:34 ` Alexander Viro
2001-10-10 10:48 ` BALBIR SINGH
2001-10-10 10:53 ` Alexander Viro
2001-10-10 11:08 ` BALBIR SINGH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox