forked from OSchip/llvm-project
[sanitizer] Remove the definition of xdr_ops.
User-visible instances of xdr_ops always seem to be allocated statically, and don't need unpoisoning. Also, it's size differs between platforms. llvm-svn: 208851
This commit is contained in:
parent
c3d0733cf8
commit
f532c5bfd5
|
@ -3636,7 +3636,6 @@ INTERCEPTOR(void, xdrmem_create, __sanitizer_XDR *xdrs, uptr addr,
|
|||
COMMON_INTERCEPTOR_ENTER(ctx, xdrmem_create, xdrs, addr, size, op);
|
||||
REAL(xdrmem_create)(xdrs, addr, size, op);
|
||||
COMMON_INTERCEPTOR_WRITE_RANGE(ctx, xdrs, sizeof(*xdrs));
|
||||
COMMON_INTERCEPTOR_INITIALIZE_RANGE(xdrs->x_ops, sizeof(*xdrs->x_ops));
|
||||
if (op == __sanitizer_XDR_ENCODE) {
|
||||
// It's not obvious how much data individual xdr_ routines write.
|
||||
// Simply unpoison the entire target buffer in advance.
|
||||
|
@ -3649,7 +3648,6 @@ INTERCEPTOR(void, xdrstdio_create, __sanitizer_XDR *xdrs, void *file, int op) {
|
|||
COMMON_INTERCEPTOR_ENTER(ctx, xdrstdio_create, xdrs, file, op);
|
||||
REAL(xdrstdio_create)(xdrs, file, op);
|
||||
COMMON_INTERCEPTOR_WRITE_RANGE(ctx, xdrs, sizeof(*xdrs));
|
||||
COMMON_INTERCEPTOR_INITIALIZE_RANGE(xdrs->x_ops, sizeof(*xdrs->x_ops));
|
||||
}
|
||||
|
||||
#define XDR_INTERCEPTOR(F, T) \
|
||||
|
|
|
@ -1127,7 +1127,6 @@ CHECK_SIZE_AND_OFFSET(XDR, x_public);
|
|||
CHECK_SIZE_AND_OFFSET(XDR, x_private);
|
||||
CHECK_SIZE_AND_OFFSET(XDR, x_base);
|
||||
CHECK_SIZE_AND_OFFSET(XDR, x_handy);
|
||||
CHECK_TYPE_SIZE(XDR::xdr_ops);
|
||||
COMPILER_CHECK(__sanitizer_XDR_ENCODE == XDR_ENCODE);
|
||||
COMPILER_CHECK(__sanitizer_XDR_DECODE == XDR_DECODE);
|
||||
COMPILER_CHECK(__sanitizer_XDR_FREE == XDR_FREE);
|
||||
|
|
|
@ -276,17 +276,9 @@ namespace __sanitizer {
|
|||
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
|
||||
#if defined(__arm__)
|
||||
const unsigned kXDROpsNumFuns = 9;
|
||||
#else
|
||||
const unsigned kXDROpsNumFuns = 10;
|
||||
#endif
|
||||
|
||||
struct __sanitizer_XDR {
|
||||
int x_op;
|
||||
struct xdr_ops {
|
||||
uptr fns[kXDROpsNumFuns];
|
||||
} *x_ops;
|
||||
void *x_ops;
|
||||
uptr x_public;
|
||||
uptr x_private;
|
||||
uptr x_base;
|
||||
|
|
Loading…
Reference in New Issue