MSPM0G5187: Protecting volatile variable access

Part Number: MSPM0G5187

The tinyusb example on this MCU uses systick as a millis counter.

volatile uint32_t system_ticks = 0u;
void SysTick_Handler(void)
{
  system_ticks++;
}

uint32_t board_millis(void) {
  return system_ticks;
}
 
Is it safe to access system_ticks this way?  I usually turn turn off systick interrupts like this:
 
uint32_t board_millis(void) {
uint32_t dummy;
 
NVIC_DisenableIRQ(SysTick);
dummy = system_ticks
NVIC_EnableIRQ(SysTick);
 
  return dummy;
}
 
Or am I being too paranoid?
Can I also not worry about disabling interrupts with the MSPM33C321?

**Attention** This is a public forum