diff --git a/quic/qbone/platform/netlink_test.cc b/quic/qbone/platform/netlink_test.cc
index 024e0fb..144e5d5 100644
--- a/quic/qbone/platform/netlink_test.cc
+++ b/quic/qbone/platform/netlink_test.cc
@@ -243,7 +243,7 @@
 }
 
 TEST_F(NetlinkTest, GetLinkInfoWorks) {
-  auto netlink = QuicMakeUnique<Netlink>(&mock_kernel_);
+  auto netlink = std::make_unique<Netlink>(&mock_kernel_);
 
   uint8_t hwaddr[] = {'a', 'b', 'c', 'd', 'e', 'f'};
   uint8_t bcaddr[] = {'c', 'b', 'a', 'f', 'e', 'd'};
@@ -283,7 +283,7 @@
 }
 
 TEST_F(NetlinkTest, GetAddressesWorks) {
-  auto netlink = QuicMakeUnique<Netlink>(&mock_kernel_);
+  auto netlink = std::make_unique<Netlink>(&mock_kernel_);
 
   QuicUnorderedSet<std::string> addresses = {QuicIpAddress::Any4().ToString(),
                                              QuicIpAddress::Any6().ToString()};
@@ -350,7 +350,7 @@
 }
 
 TEST_F(NetlinkTest, ChangeLocalAddressAdd) {
-  auto netlink = QuicMakeUnique<Netlink>(&mock_kernel_);
+  auto netlink = std::make_unique<Netlink>(&mock_kernel_);
 
   QuicIpAddress ip = QuicIpAddress::Any6();
   ExpectNetlinkPacket(
@@ -427,7 +427,7 @@
 }
 
 TEST_F(NetlinkTest, ChangeLocalAddressRemove) {
-  auto netlink = QuicMakeUnique<Netlink>(&mock_kernel_);
+  auto netlink = std::make_unique<Netlink>(&mock_kernel_);
 
   QuicIpAddress ip = QuicIpAddress::Any4();
   ExpectNetlinkPacket(
@@ -480,7 +480,7 @@
 }
 
 TEST_F(NetlinkTest, GetRouteInfoWorks) {
-  auto netlink = QuicMakeUnique<Netlink>(&mock_kernel_);
+  auto netlink = std::make_unique<Netlink>(&mock_kernel_);
 
   QuicIpAddress destination;
   ASSERT_TRUE(destination.FromString("f800::2"));
@@ -514,7 +514,7 @@
 }
 
 TEST_F(NetlinkTest, ChangeRouteAdd) {
-  auto netlink = QuicMakeUnique<Netlink>(&mock_kernel_);
+  auto netlink = std::make_unique<Netlink>(&mock_kernel_);
 
   QuicIpAddress preferred_ip;
   preferred_ip.FromString("ff80:dead:beef::1");
@@ -596,7 +596,7 @@
 }
 
 TEST_F(NetlinkTest, ChangeRouteRemove) {
-  auto netlink = QuicMakeUnique<Netlink>(&mock_kernel_);
+  auto netlink = std::make_unique<Netlink>(&mock_kernel_);
 
   QuicIpAddress preferred_ip;
   preferred_ip.FromString("ff80:dead:beef::1");
@@ -678,7 +678,7 @@
 }
 
 TEST_F(NetlinkTest, ChangeRouteReplace) {
-  auto netlink = QuicMakeUnique<Netlink>(&mock_kernel_);
+  auto netlink = std::make_unique<Netlink>(&mock_kernel_);
 
   QuicIpAddress preferred_ip;
   preferred_ip.FromString("ff80:dead:beef::1");
