how to send data from SPI Slave Arduino to SPI Master Arduino

Well, what have you tried?

i wrote a code for master and slave which is given below but i got a garbage value from master
i aslo post this question here Arduino Forum i spend a month to comunicate arduinos but still didn't success , first i had used softserial arduino library but it was a bit slow which is not good for my project.
code for Master

#include <SPI.h>
char buf [14];
volatile byte pos=0;
void setup (void)
{
Serial.begin (115200); 
  digitalWrite(SS, HIGH);  // ensure SS stays high for now
  SPI.begin ();

  SPI.setClockDivider(SPI_CLOCK_DIV128);
  
}  // end of setup
void loop (void)
{
  digitalWrite(SS, LOW);    // SS is pin 10
 delay (1);
  for (int i=0;i<14;i++)
    buf[i]=SPI.transfer(0);
  // disable Slave Select
  digitalWrite(SS, HIGH);
  Serial.println(buf);

}  // end of loop

and for Slave

#include <SPI.h>
char data [14]="Hello world!\n";
volatile boolean process_it;

void setup (void)
{
  pinMode(MISO, OUTPUT);
  // turn on SPI in slave mode
  SPCR |= _BV(SPE);
  // get ready for an interrupt 
  process_it = false;
  // now turn on interrupts
  SPI.attachInterrupt();
}  // end of setup

// SPI interrupt routine
ISR (SPI_STC_vect)
{
 process_it = true;
      
}  
 // main loop - wait for flag set in interrupt routine
void loop (void)
{
  if (process_it)
    {
    for(int i=0;i<sizeof data ; i++)
    SPI.transfer(data[i]);
    process_it = false;
    }  
}