Sharepoint - How do I apply master page changes to all subsites in SharePoint 2013?

I recently blogged about how to restore the Navigate Up button in SharePoint 2013 using an AdditionalPageHead delegate control. This lets you add a control to the header of every SharePoint page and you can then do the necessary functions to restore the navigate up button. See this link.

In my example, I am using the following code to get the controls:

var masterPage = this.Page.Master;
var delta = masterPage.FindControl("DeltaBreadcrumbDropdown") as AjaxDelta;
if (delta != null)
{
    var breadcrumb = delta.FindControl("GlobalBreadCrumbNavPopout") as PopoutMenu;
    if (breadcrumb != null)
    {

You could use the same code to get the "DeltaSiteLogo" AjaxDelta control and then get the "onetidProjectPropertyTitleGraphic" SPSimpleSiteLink control. Once you have the control, you can set its NavigateUrl to SPContext.Current.Site.RootWeb.Url or something like that.