Hugh Dickins
095160aee9
sysfs: fix some bin_vm_ops errors
...
Commit 86c9508eb1c0ce5aa07b5cf1d36b60c54efc3d7a
"sysfs: don't block indefinitely for unmapped files" in linux-next
crashes the PowerMac G5 when X starts up. It's caught out by the way
powerpc's pci_mmap of legacy_mem uses shmem_zero_setup(), substituting
a new vma->vm_file whose private_data no longer points to the bin_buffer
(substitution done because some versions of X crash if that mmap fails).
The fix to this is straightforward: the original vm_file is fput() in
that case, so this mmap won't block sysfs at all, so just don't switch
over to bin_vm_ops if vm_file has changed.
But more fixes made before realizing that was the problem:-
It should not be an error if bin_page_mkwrite() finds no underlying
page_mkwrite().
Check that a file already mmap'ed has the same underlying vm_ops
_before_ pointing vma->vm_ops at bin_vm_ops.
If the file being mmap'ed is a shmem/tmpfs file, don't fail the mmap
on CONFIG_NUMA=y, just because that has a set_policy and get_policy:
provide bin_set_policy, bin_get_policy and bin_migrate.
Signed-off-by: Hugh Dickins <hugh@veritas.com >
Acked-by: Eric Biederman <ebiederm@aristanetworks.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de >
2009-03-24 16:38:26 -07:00
..
2009-01-22 13:16:01 +03:00
2009-01-22 13:15:56 +03:00
2009-01-22 13:15:56 +03:00
2009-01-22 13:16:01 +03:00
2009-01-22 13:15:54 +03:00
2009-01-22 13:15:54 +03:00
2009-01-22 13:15:57 +03:00
2009-01-22 13:15:57 +03:00
2009-03-10 13:17:18 -04:00
2009-02-21 03:37:10 +00:00
2009-01-22 13:16:01 +03:00
2009-02-04 09:46:25 -08:00
2009-01-22 13:15:58 +03:00
2009-01-07 10:00:16 -08:00
2009-03-10 15:55:11 -07:00
2009-01-21 15:28:45 -06:00
2009-03-22 11:20:43 -07:00
2009-01-22 13:15:57 +03:00
2008-12-25 11:40:09 +11:00
2009-02-11 14:25:36 -08:00
2009-02-11 14:25:35 -08:00
2009-03-16 23:25:40 -04:00
2009-03-11 12:04:18 -07:00
2009-01-22 13:15:58 +03:00
2009-01-26 10:08:50 -08:00
2009-01-09 16:54:42 -08:00
2009-01-22 13:15:57 +03:00
2009-01-22 13:15:57 +03:00
2009-01-04 13:33:20 -08:00
2009-01-22 13:15:59 +03:00
2008-11-14 10:39:25 +11:00
2009-02-10 10:48:42 -08:00
2009-01-22 13:15:55 +03:00
2009-02-11 14:25:35 -08:00
2009-02-10 11:15:34 -05:00
2009-02-21 11:09:29 +01:00
2009-01-22 13:15:54 +03:00
2009-03-10 20:33:20 -04:00
2009-03-22 11:28:37 -07:00
2009-01-22 13:16:01 +03:00
2009-03-12 14:51:32 -04:00
2008-12-23 15:21:32 -05:00
2009-03-17 14:54:45 -04:00
2008-10-17 02:38:36 +11:00
2009-02-18 15:37:56 -08:00
2009-01-22 13:15:55 +03:00
2009-03-12 16:46:09 -07:00
2009-01-22 13:15:58 +03:00
2009-01-05 11:54:28 -05:00
2009-03-24 16:38:26 -07:00
2009-03-17 10:02:35 -07:00
2009-01-22 13:15:59 +03:00
2009-03-14 11:57:22 -07:00
2009-01-22 13:15:53 +03:00
2009-01-22 13:15:59 +03:00
2009-01-22 13:16:01 +03:00
2009-03-12 03:23:48 +00:00
2009-03-24 16:38:26 -07:00
2009-01-22 13:15:59 +03:00
2009-01-29 16:34:30 +02:00
2009-01-22 13:15:55 +03:00
2009-03-22 11:28:37 -07:00
2009-03-06 17:35:12 -06:00
2009-03-19 15:57:18 -07:00
2008-12-31 16:55:44 +02:00
2008-11-14 10:39:05 +11:00
2008-12-31 18:07:43 -05:00
2009-01-03 11:45:54 -08:00
2009-01-08 12:04:47 +00:00
2009-02-06 17:34:07 -08:00
2008-10-16 11:21:38 -07:00
2009-01-08 12:04:47 +00:00
2009-01-06 15:59:19 -08:00
2008-10-16 11:21:38 -07:00
2008-11-14 10:39:24 +11:00
2009-03-14 21:06:51 +01:00
2009-03-14 21:06:52 +01:00
2009-01-09 16:54:42 -08:00
2009-03-19 11:32:05 -07:00
2009-01-06 15:59:13 -08:00
2009-02-27 16:27:45 -08:00
2009-02-07 08:46:18 +11:00
2009-02-27 16:26:20 -08:00
2009-01-14 14:15:18 +01:00
2009-01-06 15:59:06 -08:00
2009-01-16 18:02:10 +01:00
2009-01-14 14:15:31 +01:00
2009-01-29 18:04:45 -08:00
2009-02-07 08:46:18 +11:00
2009-01-14 14:15:24 +01:00
2008-10-21 07:47:06 -04:00
2008-12-31 18:07:42 -05:00
2008-08-01 11:25:23 -04:00
2009-01-14 14:15:29 +01:00
2009-03-12 16:20:24 -07:00
2009-03-12 16:20:24 -07:00
2009-02-07 08:46:18 +11:00
2009-01-14 14:15:24 +01:00
2009-01-14 14:15:30 +01:00
2009-01-22 13:16:01 +03:00
2009-01-09 16:54:41 -08:00
2009-01-05 18:32:06 -08:00
2009-01-14 14:15:25 +01:00
2009-02-28 09:50:01 -05:00
2009-01-06 15:59:01 -08:00
2009-01-14 14:15:30 +01:00
2009-02-17 14:02:08 -08:00
2009-01-14 14:15:29 +01:00
2009-01-14 14:15:30 +01:00
2009-03-12 16:20:23 -07:00
2008-11-14 10:39:05 +11:00
2009-01-05 08:40:21 -08:00
2009-01-05 08:40:21 -08:00
2009-01-05 08:36:58 -08:00
2009-01-05 08:40:21 -08:00
2009-01-14 14:15:26 +01:00
2009-01-05 08:36:58 -08:00
2009-01-05 08:40:21 -08:00
2009-01-14 14:15:26 +01:00
2009-01-14 14:15:31 +01:00
2009-01-14 14:15:31 +01:00
2009-02-18 15:37:53 -08:00
2009-01-14 14:15:31 +01:00
2009-01-14 14:15:31 +01:00
2009-01-14 14:15:30 +01:00
2009-03-12 16:20:23 -07:00
2009-01-14 14:15:21 +01:00
2009-02-18 15:37:53 -08:00
2009-01-14 14:15:30 +01:00
2009-01-14 14:15:23 +01:00