[CHECKER] bugs in FreeBSD

Scott Long scottl at freebsd.org
Sun Jan 18 11:53:05 PST 2004


Matthew Dillon wrote:
>      These cam_sim_alloc() calls seem to be fairly critical to the operation
>      of DPT and friends, why is it even possible for them to return NULL
>      in the first place and what would be the effect of a (properly handled)
>      NULL return if it did occur at this point?
> 
> 					-Matt
> 					Matthew Dillon 
> 					<dillon at backplane.com>


cam_sim_alloc() is vital to the operation of any CAM driver.  However,
cam_sim_alloc() mallocs it's data structures with the M_NOWAIT flag, so
it is possible for it to fail and have to return NULL.  The reason it 
uses the M_NOWAIT flag is because there is no restrictions on when
driver attach events happen, though they all happen in normal process
or kthread context these days (except at boot, but if you have to sleep
for memory during boot, you have a lot of other problems).


Scott



More information about the freebsd-hackers mailing list