{"action":"created","issue":{"url":"https://api.github.com/repos/NVIDIA/libglvnd/issues/37","repository_url":"https://api.github.com/repos/NVIDIA/libglvnd","labels_url":"https://api.github.com/repos/NVIDIA/libglvnd/issues/37/labels{/name}","comments_url":"https://api.github.com/repos/NVIDIA/libglvnd/issues/37/comments","events_url":"https://api.github.com/repos/NVIDIA/libglvnd/issues/37/events","html_url":"https://github.com/NVIDIA/libglvnd/issues/37","id":85216076,"number":37,"title":"Make libglvnd work with SELinux","user":{"login":"kbrenneman","id":4998757,"avatar_url":"https://avatars.githubusercontent.com/u/4998757?v=3","gravatar_id":"","url":"https://api.github.com/users/kbrenneman","html_url":"https://github.com/kbrenneman","followers_url":"https://api.github.com/users/kbrenneman/followers","following_url":"https://api.github.com/users/kbrenneman/following{/other_user}","gists_url":"https://api.github.com/users/kbrenneman/gists{/gist_id}","starred_url":"https://api.github.com/users/kbrenneman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kbrenneman/subscriptions","organizations_url":"https://api.github.com/users/kbrenneman/orgs","repos_url":"https://api.github.com/users/kbrenneman/repos","events_url":"https://api.github.com/users/kbrenneman/events{/privacy}","received_events_url":"https://api.github.com/users/kbrenneman/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-06-04T18:24:46Z","updated_at":"2016-04-03T14:52:16Z","closed_at":"2016-04-03T14:50:59Z","body":"The generated entrypoints stubs in libGLdispatch and libGLX depend on being able to allocate pages that are both writable and executable. That might not be allowed on systems that use SELinux.\r\n\r\nThe normal way around that is to create an anonymous file and map it twice, once for reading and once for writing:\r\nhttp://www.akkadia.org/drepper/selinux-mem.html"},"comment":{"url":"https://api.github.com/repos/NVIDIA/libglvnd/issues/comments/204992354","html_url":"https://github.com/NVIDIA/libglvnd/issues/37#issuecomment-204992354","issue_url":"https://api.github.com/repos/NVIDIA/libglvnd/issues/37","id":204992354,"user":{"login":"kbrenneman","id":4998757,"avatar_url":"https://avatars.githubusercontent.com/u/4998757?v=3","gravatar_id":"","url":"https://api.github.com/users/kbrenneman","html_url":"https://github.com/kbrenneman","followers_url":"https://api.github.com/users/kbrenneman/followers","following_url":"https://api.github.com/users/kbrenneman/following{/other_user}","gists_url":"https://api.github.com/users/kbrenneman/gists{/gist_id}","starred_url":"https://api.github.com/users/kbrenneman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kbrenneman/subscriptions","organizations_url":"https://api.github.com/users/kbrenneman/orgs","repos_url":"https://api.github.com/users/kbrenneman/repos","events_url":"https://api.github.com/users/kbrenneman/events{/privacy}","received_events_url":"https://api.github.com/users/kbrenneman/received_events","type":"User","site_admin":false},"created_at":"2016-04-03T14:52:16Z","updated_at":"2016-04-03T14:52:16Z","body":"This should be working now. libGLdispatch can cope with the case where calling mprotect on the static stubs fails, and both libGLdispatch and libGLX now use separate writable and executable mappings when they need to generate new functions."}}