Make __module__ writable except in restricted mode (like for classic classes).
diff --git a/Objects/funcobject.c b/Objects/funcobject.c
index fa24131..6f0fa26 100644
--- a/Objects/funcobject.c
+++ b/Objects/funcobject.c
@@ -159,7 +159,7 @@
 	 RESTRICTED|READONLY},
         {"func_name",     T_OBJECT,     OFF(func_name),         READONLY},
         {"__name__",      T_OBJECT,     OFF(func_name),         READONLY},
-	{"__module__",    T_OBJECT,     OFF(func_module)},
+        {"__module__",    T_OBJECT,     OFF(func_module), WRITE_RESTRICTED},
         {NULL}  /* Sentinel */
 };
 
diff --git a/Objects/methodobject.c b/Objects/methodobject.c
index 5e967d3..3a92fa4 100644
--- a/Objects/methodobject.c
+++ b/Objects/methodobject.c
@@ -189,7 +189,7 @@
 #define OFF(x) offsetof(PyCFunctionObject, x)
 
 static PyMemberDef meth_members[] = {
-	{"__module__",    T_OBJECT,     OFF(m_module)},
+	{"__module__",    T_OBJECT,     OFF(m_module), WRITE_RESTRICTED},
 	{NULL}
 };