diff -Naur a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi
--- a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi	2023-09-06 03:32:05.000000000 +0200
+++ b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi	2023-10-28 06:56:59.975270836 +0200
@@ -48,7 +48,7 @@
     @staticmethod
     cdef void functor_run(
             grpc_completion_queue_functor* functor,
-            int succeed)
+            int succeed ) noexcept

     cdef grpc_completion_queue_functor *c_functor(self)

diff -Naur a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi
--- a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi	2023-09-06 03:32:05.000000000 +0200
+++ b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi	2023-10-28 06:56:20.002663936 +0200
@@ -50,7 +50,7 @@
     @staticmethod
     cdef void functor_run(
             grpc_completion_queue_functor* functor,
-            int success):
+            int success) noexcept:
         cdef CallbackContext *context = <CallbackContext *>functor
         cdef object waiter = <object>context.waiter
         if not waiter.cancelled():
diff -Naur a/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi
--- a/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi	2023-09-06 03:32:05.000000000 +0200
+++ b/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi	2023-10-28 06:54:57.193406642 +0200
@@ -314,7 +314,7 @@
   return credentials

 cdef grpc_ssl_certificate_config_reload_status _server_cert_config_fetcher_wrapper(
-        void* user_data, grpc_ssl_server_certificate_config **config) with gil:
+        void* user_data, grpc_ssl_server_certificate_config **config) noexcept with gil:
   # This is a credentials.ServerCertificateConfig
   cdef ServerCertificateConfig cert_config = None
   if not user_data:
diff -Naur a/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi
--- a/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi	2023-09-06 03:32:05.000000000 +0200
+++ b/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi	2023-10-28 06:53:41.609259047 +0200
@@ -13,16 +13,16 @@
 # limitations under the License.

 # TODO(https://github.com/grpc/grpc/issues/15662): Reform this.
-cdef void* _copy_pointer(void* pointer):
+cdef void* _copy_pointer(void* pointer) noexcept:
   return pointer


 # TODO(https://github.com/grpc/grpc/issues/15662): Reform this.
-cdef void _destroy_pointer(void* pointer):
+cdef void _destroy_pointer(void* pointer) noexcept:
   pass


-cdef int _compare_pointer(void* first_pointer, void* second_pointer):
+cdef int _compare_pointer(void* first_pointer, void* second_pointer) noexcept:
   if first_pointer < second_pointer:
     return -1
   elif first_pointer > second_pointer:

