Write SQL query to solve given problem: What is the profit of a single product that received the highest rating from John Smith? List the product/s' names.. Keep the solution inside sql tag ```sql [SQL-Query] ```
SELECT T1.ListPrice - T1.StandardCost, T1.Name FROM Product AS T1 INNER JOIN ProductReview AS T2 ON T1.ProductID = T2.ProductID WHERE T2.ReviewerName = 'John Smith' ORDER BY T2.Rating DESC LIMIT 1