NTB: Remove _addr functions from ntb_hw_amd
authorAllen Hubbe <Allen.Hubbe@emc.com>
Mon, 21 Mar 2016 08:53:14 +0000 (04:53 -0400)
committerJon Mason <jdmason@kudzu.us>
Sat, 26 Mar 2016 15:44:33 +0000 (11:44 -0400)
Kernel zero day testing warned about address space confusion.  A virtual
iomem address was used where a physical address is expected.  The
offending functions implement an optional part of the api, so they are
removed.  They can be added later, after testing.

Fixes: a1b3695820aa490e58915d720a1438069813008b

Signed-off-by: Allen Hubbe <Allen.Hubbe@emc.com>
Acked-by: Xiangliang Yu <Xiangliang.Yu@amd.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
drivers/ntb/hw/amd/ntb_hw_amd.c

index 588803ad684729e888f3ab7d45334eba7185eeb0..6ccba0d862df704877db1589fff036d40c10cf36 100644 (file)
@@ -357,20 +357,6 @@ static int amd_ntb_db_clear_mask(struct ntb_dev *ntb, u64 db_bits)
        return 0;
 }
 
-static int amd_ntb_peer_db_addr(struct ntb_dev *ntb,
-                               phys_addr_t *db_addr,
-                               resource_size_t *db_size)
-{
-       struct amd_ntb_dev *ndev = ntb_ndev(ntb);
-
-       if (db_addr)
-               *db_addr = (phys_addr_t)(ndev->peer_mmio + AMD_DBREQ_OFFSET);
-       if (db_size)
-               *db_size = sizeof(u32);
-
-       return 0;
-}
-
 static int amd_ntb_peer_db_set(struct ntb_dev *ntb, u64 db_bits)
 {
        struct amd_ntb_dev *ndev = ntb_ndev(ntb);
@@ -415,20 +401,6 @@ static int amd_ntb_spad_write(struct ntb_dev *ntb,
        return 0;
 }
 
-static int amd_ntb_peer_spad_addr(struct ntb_dev *ntb, int idx,
-                                 phys_addr_t *spad_addr)
-{
-       struct amd_ntb_dev *ndev = ntb_ndev(ntb);
-
-       if (idx < 0 || idx >= ndev->spad_count)
-               return -EINVAL;
-
-       if (spad_addr)
-               *spad_addr = (phys_addr_t)(ndev->self_mmio + AMD_SPAD_OFFSET +
-                                          ndev->peer_spad + (idx << 2));
-       return 0;
-}
-
 static u32 amd_ntb_peer_spad_read(struct ntb_dev *ntb, int idx)
 {
        struct amd_ntb_dev *ndev = ntb_ndev(ntb);
@@ -472,12 +444,10 @@ static const struct ntb_dev_ops amd_ntb_ops = {
        .db_clear               = amd_ntb_db_clear,
        .db_set_mask            = amd_ntb_db_set_mask,
        .db_clear_mask          = amd_ntb_db_clear_mask,
-       .peer_db_addr           = amd_ntb_peer_db_addr,
        .peer_db_set            = amd_ntb_peer_db_set,
        .spad_count             = amd_ntb_spad_count,
        .spad_read              = amd_ntb_spad_read,
        .spad_write             = amd_ntb_spad_write,
-       .peer_spad_addr         = amd_ntb_peer_spad_addr,
        .peer_spad_read         = amd_ntb_peer_spad_read,
        .peer_spad_write        = amd_ntb_peer_spad_write,
 };