Todd Poynor
0a9dea2817
ashmem: avoid deadlock between read and mmap calls
...
Avoid holding ashmem_mutex across code that can page fault. Page faults
grab the mmap_sem for the process, which are also held by mmap calls
prior to calling ashmem_mmap, which locks ashmem_mutex. The reversed
order of locking between the two can deadlock.
The calls that can page fault are read() and the ASHMEM_SET_NAME and
ASHMEM_GET_NAME ioctls. Move the code that accesses userspace pages
outside the ashmem_mutex.
Bug: 9261835
Change-Id: If1322e981d29c889a56cdc9dfcbc6df2729a45e9
Signed-off-by: Todd Poynor <toddpoynor@google.com >
Conflicts:
drivers/staging/android/ashmem.c
2013-07-01 14:16:27 -07:00
..
2013-07-01 14:16:27 -07:00
2013-02-11 10:10:33 -08:00
2013-03-11 09:16:35 -07:00
2013-02-11 10:10:33 -08:00
2013-05-13 17:38:48 -04:00
2013-04-08 10:20:16 -07:00
2012-11-21 15:05:12 -08:00
2013-05-05 00:15:43 -04:00
2013-05-05 00:15:43 -04:00
2013-05-01 17:51:54 -07:00
2013-05-30 21:14:30 +09:00
2013-01-07 14:03:32 -08:00
2013-04-11 13:07:05 -07:00
2013-02-11 10:10:33 -08:00
2013-05-05 00:15:43 -04:00
2013-04-29 12:16:17 -07:00
2013-05-15 13:44:44 -04:00
2013-02-07 17:16:07 -08:00
2013-05-22 22:14:57 +01:00
2013-05-24 10:12:22 +10:00
2013-04-09 14:13:20 -04:00
2013-03-11 09:47:13 -07:00
2013-06-18 06:25:08 -10:00
2013-03-14 15:03:56 -07:00
2013-05-23 09:27:49 -07:00
2013-02-21 17:40:58 -08:00
2013-03-25 11:02:55 -07:00
2013-04-22 10:25:46 -07:00
2013-02-15 10:20:14 -08:00
2012-07-11 17:26:02 -07:00
2013-01-26 00:37:24 +01:00
2013-05-05 00:15:43 -04:00
2013-04-29 15:41:56 -04:00
2013-05-05 00:15:43 -04:00
2013-03-11 09:49:55 -07:00
2013-05-01 17:51:54 -07:00
2013-03-25 11:17:33 -07:00
2013-02-11 10:10:33 -08:00
2013-05-16 15:37:49 -07:00
2013-03-18 16:19:45 -07:00
2013-05-01 17:51:54 -07:00
2013-04-05 14:17:00 -07:00
2013-03-11 09:23:43 -07:00
2013-04-30 17:04:03 -07:00
2013-05-16 15:37:49 -07:00
2013-04-08 10:35:09 -07:00
2013-03-25 11:02:56 -07:00
2013-04-05 14:22:52 -07:00
2013-03-25 11:17:33 -07:00
2013-05-01 17:51:54 -07:00
2013-05-16 16:27:38 -07:00
2013-01-07 14:56:04 -08:00
2013-05-05 00:15:43 -04:00
2012-09-17 14:50:33 -07:00
2013-03-26 16:13:20 -07:00
2013-03-28 16:10:16 -07:00
2013-05-30 21:14:30 +09:00
2013-03-18 17:42:34 -07:00
2013-04-23 10:34:20 -07:00
2013-05-16 15:38:58 -07:00
2013-04-19 11:15:20 -07:00