1 --- linux-2.6.33/scripts/mod/modpost.c~ 2010-02-24 19:52:17.000000000 +0100
2 +++ linux-2.6.33/scripts/mod/modpost.c 2010-03-07 14:26:47.242168558 +0100
7 -#include "../../include/generated/autoconf.h"
8 +// PLD architectures don't use CONFIG_SYMBOL_PREFIX
9 +//#include "../../include/generated/autoconf.h"
10 #include "../../include/linux/license.h"
12 /* Some toolchains use a `_' prefix for all user symbols. */
14 --- linux-3.0/scripts/kconfig/lxdialog/check-lxdialog.sh~ 2011-07-22 04:17:23.000000000 +0200
15 +++ linux-3.0/scripts/kconfig/lxdialog/check-lxdialog.sh 2011-08-25 21:26:04.799150642 +0200
17 $cc -print-file-name=lib${lib}.${ext} | grep -q /
20 + for libt in tinfow tinfo ; do
21 + $cc -print-file-name=lib${libt}.${ext} | grep -q /
22 + if [ $? -eq 0 ]; then
30 diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
31 index 7a0c800..ec5ebbb 100644
32 --- a/drivers/net/ethernet/realtek/r8169.c
33 +++ b/drivers/net/ethernet/realtek/r8169.c
34 @@ -6927,6 +6927,14 @@ rtl_init_one(struct pci_dev *pdev, const
35 for (i = 0; i < ETH_ALEN; i++)
36 dev->dev_addr[i] = RTL_R8(MAC0 + i);
38 + if (!is_valid_ether_addr(dev->dev_addr)) {
39 + /* Report it and use a random ethernet address instead */
40 + netdev_err(dev, "Invalid MAC address: %pM\n", dev->dev_addr);
41 + random_ether_addr(dev->dev_addr);
42 + netdev_info(dev, "Using random MAC address: %pM\n",
46 SET_ETHTOOL_OPS(dev, &rtl8169_ethtool_ops);
47 dev->watchdog_timeo = RTL8169_TX_TIMEOUT;
49 [PATCH] SCSI: Don't attempt to send extended INQUIRY command if skip_vpd_pages is set
51 If a device has the skip_vpd_pages flag set we should simply fail the
52 scsi_get_vpd_page() call.
54 Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
55 Acked-by: Alan Stern <stern@rowland.harvard.edu>
56 Tested-by: Stuart Foster <smf.linux@ntlworld.com>
57 Cc: stable@vger.kernel.org
59 diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c
60 index 3b1ea34..eaa808e 100644
61 --- a/drivers/scsi/scsi.c
62 +++ b/drivers/scsi/scsi.c
67 + if (sdev->skip_vpd_pages)
70 /* Ask for all the pages supported by this device */
71 result = scsi_vpd_inquiry(sdev, buf, 0, buf_len);
74 David Vrabel identified a regression when using automatic NUMA balancing
75 under Xen whereby page table entries were getting corrupted due to the
76 use of native PTE operations. Quoting him
78 Xen PV guest page tables require that their entries use machine
79 addresses if the preset bit (_PAGE_PRESENT) is set, and (for
80 successful migration) non-present PTEs must use pseudo-physical
81 addresses. This is because on migration MFNs in present PTEs are
82 translated to PFNs (canonicalised) so they may be translated back
83 to the new MFN in the destination domain (uncanonicalised).
85 pte_mknonnuma(), pmd_mknonnuma(), pte_mknuma() and pmd_mknuma()
86 set and clear the _PAGE_PRESENT bit using pte_set_flags(),
87 pte_clear_flags(), etc.
89 In a Xen PV guest, these functions must translate MFNs to PFNs
90 when clearing _PAGE_PRESENT and translate PFNs to MFNs when setting
93 His suggested fix converted p[te|md]_[set|clear]_flags to using
94 paravirt-friendly ops but this is overkill. He suggested an alternative of
95 using p[te|md]_modify in the NUMA page table operations but this is does
96 more work than necessary and would require looking up a VMA for protections.
98 This patch modifies the NUMA page table operations to use paravirt friendly
99 operations to set/clear the flags of interest. Unfortunately this will take
100 a performance hit when updating the PTEs on CONFIG_PARAVIRT but I do not
101 see a way around it that does not break Xen.
103 Cc: stable@vger.kernel.org
104 Signed-off-by: Mel Gorman <mgorman@suse.de>
105 Acked-by: David Vrabel <david.vrabel@citrix.com>
106 Tested-by: David Vrabel <david.vrabel@citrix.com>
108 include/asm-generic/pgtable.h | 31 +++++++++++++++++++++++--------
109 1 file changed, 23 insertions(+), 8 deletions(-)
111 diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h
112 index 34c7bdc..38a7437 100644
113 --- a/include/asm-generic/pgtable.h
114 +++ b/include/asm-generic/pgtable.h
115 @@ -680,24 +680,35 @@ static inline int pmd_numa(pmd_t pmd)
116 #ifndef pte_mknonnuma
117 static inline pte_t pte_mknonnuma(pte_t pte)
119 - pte = pte_clear_flags(pte, _PAGE_NUMA);
120 - return pte_set_flags(pte, _PAGE_PRESENT|_PAGE_ACCESSED);
121 + pteval_t val = pte_val(pte);
123 + val &= ~_PAGE_NUMA;
124 + val |= (_PAGE_PRESENT|_PAGE_ACCESSED);
129 #ifndef pmd_mknonnuma
130 static inline pmd_t pmd_mknonnuma(pmd_t pmd)
132 - pmd = pmd_clear_flags(pmd, _PAGE_NUMA);
133 - return pmd_set_flags(pmd, _PAGE_PRESENT|_PAGE_ACCESSED);
134 + pmdval_t val = pmd_val(pmd);
136 + val &= ~_PAGE_NUMA;
137 + val |= (_PAGE_PRESENT|_PAGE_ACCESSED);
144 static inline pte_t pte_mknuma(pte_t pte)
146 - pte = pte_set_flags(pte, _PAGE_NUMA);
147 - return pte_clear_flags(pte, _PAGE_PRESENT);
148 + pteval_t val = pte_val(pte);
150 + val &= ~_PAGE_PRESENT;
157 @@ -716,8 +727,12 @@ static inline void ptep_set_numa(struct mm_struct *mm, unsigned long addr,
159 static inline pmd_t pmd_mknuma(pmd_t pmd)
161 - pmd = pmd_set_flags(pmd, _PAGE_NUMA);
162 - return pmd_clear_flags(pmd, _PAGE_PRESENT);
163 + pmdval_t val = pmd_val(pmd);
165 + val &= ~_PAGE_PRESENT;
176 To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
177 the body of a message to majordomo@vger.kernel.org
178 More majordomo info at http://vger.kernel.org/majordomo-info.html
179 Please read the FAQ at http://www.tux.org/lkml/