Messages in this thread | | | Date | Fri, 3 Nov 2023 19:15:32 -0700 | From | Richard Cochran <> | Subject | Re: [PATCH net-next V2] ptp: fix corrupted list in ptp_open |
| |
On Fri, Nov 03, 2023 at 07:13:31PM -0700, Richard Cochran wrote: > See ptp_clock.c: > > 416 case PTP_CLOCK_EXTTS: > 417 /* Enqueue timestamp on selected queues */ > 418 list_for_each_entry(tsevq, &ptp->tsevqs, qlist) { > 419 if (test_bit((unsigned int)event->index, tsevq->mask)) > 420 enqueue_external_timestamp(tsevq, event); > 421 } > 422 wake_up_interruptible(&ptp->tsev_wq); > 423 break;
And that code can be called from interrupt context.
Thus the mutex won't work.
It needs to be a spin lock instead.
Thanks, Richard
| |