On 05/07/2018 07:16 PM, Jia-Ju Bai wrote:
> Yes, "&dev->stats" will not change, because it is a fixed address. > But the field data in "dev->stats" is changed (rx_frame_errors, rx_crc_errors > and rx_missed_errors). > So if the driver returns "&dev->stats" without lock protection (like on line > 858), the field data value of this return value can be the changed field data > value or unchanged field data value. We do not care. This function can be called by multiple cpus at the same time. As soon as one cpu returns from it, another cpu can happily modify dev->stats.ANYFIELD. Your patch fixes nothing at all.