John Garry
6c6ac8b777
scsi: hisi_sas: Fix memory ordering in hisi_sas_task_deliver()
...
The memories for the slot should be observed to be written prior to
observing the slot as ready.
Prior to commit 26fc0ea74fcb ("scsi: libsas: Drop SAS_TASK_AT_INITIATOR"),
we had a spin_lock() + spin_unlock() immediately before marking the slot as
ready. The spin_unlock() - with release semantics - caused the slot memory
to be observed to be written.
Now that the spin_lock() + spin_unlock() is gone, use a smp_wmb().
Link: https://lore.kernel.org/r/1652774661-12935-1-git-send-email-john.garry@huawei.com
Fixes: 26fc0ea74fcb ("scsi: libsas: Drop SAS_TASK_AT_INITIATOR")
Reported-by: Yihang Li <liyihang6@hisilicon.com>
Tested-by: Yihang Li <liyihang6@hisilicon.com>
Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2022-05-19 20:16:26 -04:00
..
2022-04-25 23:23:05 -04:00
2022-03-30 00:00:59 -04:00
2022-02-19 15:59:34 -05:00
2021-10-16 21:45:54 -04:00
2022-02-22 21:11:03 -05:00
2022-02-22 21:11:04 -05:00
2022-04-25 23:38:38 -04:00
2022-05-16 21:26:50 -04:00
2022-04-11 22:09:35 -04:00
2022-02-22 21:11:04 -05:00
2022-04-11 22:09:35 -04:00
2022-02-22 21:11:08 -05:00
2021-07-29 21:58:35 -04:00
2022-02-17 07:00:39 -06:00
2022-05-19 20:16:26 -04:00
2021-10-16 21:28:46 -04:00
2022-05-16 21:26:50 -04:00
2022-05-19 20:16:26 -04:00
2022-05-19 20:16:26 -04:00
2021-11-05 08:42:02 -07:00
2022-03-29 23:39:24 -04:00
2022-03-29 23:46:23 -04:00
2022-05-16 21:26:50 -04:00
2022-05-19 20:16:25 -04:00
2022-05-10 22:12:04 -04:00
2022-05-19 20:16:26 -04:00
2022-05-19 20:16:26 -04:00
2022-05-19 20:16:25 -04:00
2022-04-06 22:27:08 -04:00
2022-04-06 22:11:52 -04:00
2022-04-11 21:59:50 -04:00
2022-05-16 21:26:50 -04:00
2022-04-11 22:09:35 -04:00
2022-04-26 08:57:05 -04:00
2022-04-25 23:33:36 -04:00
2022-02-22 21:11:06 -05:00
2021-12-22 23:43:23 -05:00
2022-02-22 21:11:07 -05:00
2022-05-10 22:01:52 -04:00
2021-10-16 21:45:53 -04:00
2021-05-15 18:01:34 -04:00
2022-01-24 23:30:28 -05:00
2021-01-22 21:14:08 -05:00
2021-10-18 22:38:34 -04:00
2021-01-22 21:14:07 -05:00
2022-02-22 21:11:03 -05:00
2021-05-07 00:26:34 -07:00
2021-11-29 23:02:13 -05:00
2022-02-22 21:11:07 -05:00
2022-02-22 21:11:07 -05:00
2022-02-22 21:11:03 -05:00
2022-03-29 23:42:18 -04:00
2022-04-25 23:25:11 -04:00
2021-01-13 00:14:07 -05:00
2022-02-22 21:11:02 -05:00
2022-02-22 21:11:03 -05:00
2021-11-29 23:02:13 -05:00
2021-01-22 21:14:08 -05:00
2021-10-16 21:32:16 -04:00
2021-05-14 22:19:04 -04:00
2022-01-14 14:37:34 +01:00
2021-06-02 23:09:39 -04:00
2022-04-26 08:51:56 -04:00
2021-01-22 21:14:10 -05:00
2022-02-22 21:11:03 -05:00
2021-10-16 21:32:16 -04:00
2022-02-22 21:11:04 -05:00
2022-02-22 21:11:04 -05:00
2021-01-26 07:42:27 +01:00
2022-02-22 21:11:04 -05:00
2020-07-08 01:12:44 -04:00
2021-06-02 01:37:04 -04:00
2022-02-22 21:11:03 -05:00
2022-02-22 21:11:07 -05:00
2022-04-26 08:10:35 -04:00
2021-04-01 22:52:40 -04:00
2021-12-13 23:34:01 -05:00
2020-09-02 22:49:06 -04:00
2022-02-22 21:11:04 -05:00
2022-02-22 21:11:04 -05:00
2022-02-22 21:11:04 -05:00
2022-02-22 21:11:04 -05:00
2022-02-22 21:11:05 -05:00
2022-02-22 21:11:05 -05:00
2022-05-16 21:32:16 -04:00
2021-06-29 16:46:08 -04:00
2022-02-22 21:11:02 -05:00
2021-05-07 00:26:34 -07:00
2022-02-22 21:11:04 -05:00
2021-04-13 00:20:48 -04:00
2021-07-28 22:24:27 -04:00
2021-08-30 10:18:25 +02:00
2022-04-11 22:09:35 -04:00
2022-04-11 22:09:35 -04:00
2022-04-25 23:23:05 -04:00
2022-02-27 21:35:30 -05:00
2020-10-02 21:52:53 -04:00
2022-02-22 21:11:03 -05:00
2021-08-23 23:07:05 -04:00
2022-04-26 09:02:44 -04:00
2022-02-22 21:11:05 -05:00
2022-02-27 21:34:02 -05:00
2022-02-27 21:34:02 -05:00
2022-02-22 21:11:07 -05:00
2022-02-22 21:11:06 -05:00
2022-02-22 21:11:06 -05:00
2021-12-22 23:42:23 -05:00
2022-01-25 00:09:41 -05:00
2022-02-22 21:11:07 -05:00
2022-02-22 21:11:07 -05:00
2022-02-22 21:11:03 -05:00
2022-02-22 21:11:03 -05:00
2022-02-22 21:11:06 -05:00
2022-02-22 21:11:06 -05:00
2022-04-18 22:52:34 -04:00
2022-03-29 23:32:26 -04:00
2022-02-22 21:11:06 -05:00
2021-10-16 21:32:16 -04:00
2022-02-22 21:11:06 -05:00
2022-02-22 21:11:06 -05:00
2022-02-22 21:11:02 -05:00
2022-02-22 21:11:02 -05:00
2021-10-16 21:32:16 -04:00
2022-03-15 14:05:02 -04:00
2021-07-28 22:24:27 -04:00
2022-04-25 23:23:05 -04:00
2022-03-01 22:21:50 -05:00
2021-07-21 23:49:02 -04:00
2021-03-24 23:03:43 -04:00
2022-03-15 00:10:27 -04:00
2022-03-15 14:07:11 -04:00
2022-04-26 08:10:35 -04:00
2022-03-29 23:29:19 -04:00
2021-12-22 23:38:29 -05:00
2021-11-29 23:02:15 -05:00
2022-01-22 08:33:37 +02:00
2022-05-02 16:59:11 -04:00
2022-05-02 16:59:11 -04:00
2022-03-01 23:56:27 -05:00
2022-04-11 22:09:35 -04:00
2022-03-01 22:21:50 -05:00
2021-08-11 22:25:37 -04:00
2021-04-05 23:14:53 -04:00
2022-05-02 16:59:11 -04:00
2022-02-02 07:49:59 -07:00
2022-05-02 16:59:11 -04:00
2022-04-25 23:23:05 -04:00
2022-05-02 16:59:11 -04:00
2022-05-02 16:59:11 -04:00
2020-09-15 20:28:06 -04:00
2021-09-28 22:42:06 -04:00
2022-03-24 19:37:53 -07:00
2022-02-22 21:11:07 -05:00
2021-03-18 22:52:29 -04:00
2021-05-07 00:26:34 -07:00
2021-09-13 22:15:49 -04:00
2021-12-22 23:41:13 -05:00
2022-05-02 16:59:12 -04:00
2022-03-08 19:40:01 -07:00
2022-03-24 19:37:53 -07:00
2022-03-08 19:40:00 -07:00
2021-10-16 21:32:16 -04:00
2022-01-10 12:33:47 +00:00
2022-02-22 21:11:03 -05:00
2021-04-13 00:20:48 -04:00
2020-10-02 21:52:55 -04:00
2022-03-29 23:49:56 -04:00
2022-04-06 23:01:54 -04:00
2021-03-04 17:21:25 -05:00
2022-02-22 21:11:07 -05:00
2022-02-22 21:11:07 -05:00
2022-03-01 23:56:28 -05:00
2022-02-22 21:11:07 -05:00
2022-03-15 20:34:40 -05:00
2022-02-22 21:11:07 -05:00
2022-03-30 00:05:42 -04:00