Why set dstAccessMask to *_WRITE_BIT for write-after-read?

And then look at this code snippet krOoze just gave me,

// Dependency of the first Render Pass Instance
VkSubpassDependency rp1Dependency = {
    .srcSubpass = lastSubpass; // Last subpass color attachment is used in
    .dstSubpass = VK_SUBPASS_EXTERNAL;
    .srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_BIT; // matches storeOp on a color attachment
    .dstStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT; // to be synchronized later
    .srcAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; // matches VK_ATTACHMENT_STORE_OP_STORE
    .dstAccessMask = 0;
};
 
// Dependency of the second Render Pass Instance
VkSubpassDependency rp2Dependency = {
    .srcSubpass = VK_SUBPASS_EXTERNAL;
    .dstSubpass =  firstSubpass; // First subpass color attachment is used in
    .srcStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT; // chains to rp1Dependency::dstStageMask stage
    .dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_BIT; // matches loadOp on a color attachment
    .srcAccessMask = 0;
    .dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT;  // matches VK_ATTACHMENT_LOAD_OP_LOAD
};

He sets dstAccessMask = 0 (instead of VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT), and srcAccessMask=0 (instead of VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT again).

I am definitely missing something.
./CONFUSED