On 10/10/24 7:09 AM, Pavel Begunkov wrote: > On 10/9/24 19:42, Jens Axboe wrote: >> On 10/7/24 4:16 PM, David Wei wrote: >>> From: David Wei <davidhwei@xxxxxxxx> > ... >>> if (copy_to_user(arg, ®, sizeof(reg))) { >>> + io_close_zc_rxq(ifq); >>> ret = -EFAULT; >>> goto err; >>> } >>> if (copy_to_user(u64_to_user_ptr(reg.area_ptr), &area, sizeof(area))) { >>> + io_close_zc_rxq(ifq); >>> ret = -EFAULT; >>> goto err; >>> } >>> ctx->ifq = ifq; >>> return 0; >> >> Not added in this patch, but since I was looking at rtnl lock coverage, >> it's OK to potentially fault while holding this lock? I'm assuming it >> is, as I can't imagine any faulting needing to grab it. Not even from >> nbd ;-) > > I believe it should be fine to fault, but regardless neither this > chunk nor page pinning is under rtnl. Only netdev_rx_queue_restart() > is under it from heavy stuff, intentionally trying to minimise the > section as it's a global lock. Yep you're right, it is dropped before this section anyway. -- Jens Axboe