Patch "NTB: Remove _addr functions from ntb_hw_amd" has been added to the 4.5-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
NTB: Remove _addr functions from ntb_hw_amd
to the 4.5-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
ntb-remove-_addr-functions-from-ntb_hw_amd.patch
and it can be found in the queue-4.5 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
4f1b50c3e3082b31c94cee2b897bd9f5d0f3e7c8Mon Sep 17 00:00:00 2001
From: Allen Hubbe <[email protected]>
Date: Mon, 21 Mar 2016 04:53:14 -0400
Subject: NTB: Remove _addr functions from ntb_hw_amd
From: Allen Hubbe <[email protected]>
commit 4f1b50c3e3082b31c94cee2b897bd9f5d0f3e7c8 upstream.
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.
--- drivers/ntb/hw/amd/ntb_hw_amd.c | 30 ------------------------------ 1 file changed, 30 deletions(-)
drivers/ntb/hw/amd/ntb_hw_amd.c +0 -30
@@ -357,20 +357,6 @@ static int amd_ntb_db_clear_mask(structreturn 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 ntbreturn 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_ .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, };
Patches currently in stable-queue which might be from [email protected] are
queue-4.5/ntb-remove-_addr-functions-from-ntb_hw_amd.patch