I agree that SFENCE should not be required after enabling/disabling pointer masking, because pointer masking applies to the effective address before translation.
Supporting comparison: the ARMv8 ARM does not include the allowance "This field is permitted to be cached in a TLB." in the description of the TCR_ELx.TBI/0/1 bits.
regarding: https://github.com/riscv/riscv-j-extension/blob/ac6782d43813a8674a4704ff01ef00555dfe73d1/zjpm/instructions.adoc?plain=1#L36-L39
I agree that SFENCE should not be required after enabling/disabling pointer masking, because pointer masking applies to the effective address before translation.
Supporting comparison: the ARMv8 ARM does not include the allowance "This field is permitted to be cached in a TLB." in the description of the TCR_ELx.TBI/0/1 bits.