io/ring.h: drop unused and broken *_RING_ATTACH() macros Initializing r*_prod_pvt and r*_cons from independent shared ring fields is broken, as other macros in this header rely on them being coupled. Furthermore using the backend variant would also imply a security vulnerability. Signed-off-by: Jan Beulich --- a/xen/include/public/io/ring.h +++ b/xen/include/public/io/ring.h @@ -174,21 +174,6 @@ typedef struct __name##_back_ring __name (_r)->sring = (_s); \ } while (0) -/* Initialize to existing shared indexes -- for recovery */ -#define FRONT_RING_ATTACH(_r, _s, __size) do { \ - (_r)->sring = (_s); \ - (_r)->req_prod_pvt = (_s)->req_prod; \ - (_r)->rsp_cons = (_s)->rsp_prod; \ - (_r)->nr_ents = __RING_SIZE(_s, __size); \ -} while (0) - -#define BACK_RING_ATTACH(_r, _s, __size) do { \ - (_r)->sring = (_s); \ - (_r)->rsp_prod_pvt = (_s)->rsp_prod; \ - (_r)->req_cons = (_s)->req_prod; \ - (_r)->nr_ents = __RING_SIZE(_s, __size); \ -} while (0) - /* How big is this ring? */ #define RING_SIZE(_r) \ ((_r)->nr_ents)