]>
Commit | Line | Data |
---|---|---|
08aa9d92 | 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 | |
3 | @@ -15,7 +15,8 @@ | |
4 | #include <stdio.h> | |
5 | #include <ctype.h> | |
6 | #include "modpost.h" | |
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" | |
11 | ||
12 | /* Some toolchains use a `_' prefix for all user symbols. */ | |
13 | ||
2136e199 AM |
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 | |
16 | @@ -9,6 +9,12 @@ | |
17 | $cc -print-file-name=lib${lib}.${ext} | grep -q / | |
18 | if [ $? -eq 0 ]; then | |
19 | echo "-l${lib}" | |
20 | + for libt in tinfow tinfo ; do | |
21 | + $cc -print-file-name=lib${libt}.${ext} | grep -q / | |
22 | + if [ $? -eq 0 ]; then | |
23 | + echo "-l${libt}" | |
24 | + fi | |
25 | + done | |
26 | exit | |
27 | fi | |
28 | done | |
44c0f99c | 29 | |
59e60efc AM |
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 | |
514e5dae | 34 | @@ -6927,6 +6927,14 @@ rtl_init_one(struct pci_dev *pdev, const |
59e60efc AM |
35 | for (i = 0; i < ETH_ALEN; i++) |
36 | dev->dev_addr[i] = RTL_R8(MAC0 + i); | |
514e5dae | 37 | |
59e60efc AM |
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", | |
514e5dae | 43 | + dev->dev_addr); |
59e60efc | 44 | + } |
514e5dae | 45 | + |
59e60efc | 46 | SET_ETHTOOL_OPS(dev, &rtl8169_ethtool_ops); |
514e5dae AM |
47 | dev->watchdog_timeo = RTL8169_TX_TIMEOUT; |
48 | ||
20e3bfd4 KK |
49 | [PATCH] SCSI: Don't attempt to send extended INQUIRY command if skip_vpd_pages is set |
50 | ||
51 | If a device has the skip_vpd_pages flag set we should simply fail the | |
52 | scsi_get_vpd_page() call. | |
53 | ||
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 | |
58 | ||
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 | |
63 | @@ -1031,6 +1031,9 @@ | |
64 | { | |
65 | int i, result; | |
66 | ||
67 | + if (sdev->skip_vpd_pages) | |
68 | + goto fail; | |
69 | + | |
70 | /* Ask for all the pages supported by this device */ | |
71 | result = scsi_vpd_inquiry(sdev, buf, 0, buf_len); | |
72 | if (result) | |
e8792e4a JR |
73 | |
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 | |
77 | ||
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). | |
84 | ||
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. | |
88 | ||
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 | |
91 | _PAGE_PRESENT. | |
92 | ||
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. | |
97 | ||
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. | |
102 | ||
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> | |
107 | --- | |
108 | include/asm-generic/pgtable.h | 31 +++++++++++++++++++++++-------- | |
109 | 1 file changed, 23 insertions(+), 8 deletions(-) | |
110 | ||
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) | |
118 | { | |
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); | |
122 | + | |
123 | + val &= ~_PAGE_NUMA; | |
124 | + val |= (_PAGE_PRESENT|_PAGE_ACCESSED); | |
125 | + return __pte(val); | |
126 | } | |
127 | #endif | |
128 | ||
129 | #ifndef pmd_mknonnuma | |
130 | static inline pmd_t pmd_mknonnuma(pmd_t pmd) | |
131 | { | |
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); | |
135 | + | |
136 | + val &= ~_PAGE_NUMA; | |
137 | + val |= (_PAGE_PRESENT|_PAGE_ACCESSED); | |
138 | + | |
139 | + return __pmd(val); | |
140 | } | |
141 | #endif | |
142 | ||
143 | #ifndef pte_mknuma | |
144 | static inline pte_t pte_mknuma(pte_t pte) | |
145 | { | |
146 | - pte = pte_set_flags(pte, _PAGE_NUMA); | |
147 | - return pte_clear_flags(pte, _PAGE_PRESENT); | |
148 | + pteval_t val = pte_val(pte); | |
149 | + | |
150 | + val &= ~_PAGE_PRESENT; | |
151 | + val |= _PAGE_NUMA; | |
152 | + | |
153 | + return __pte(val); | |
154 | } | |
155 | #endif | |
156 | ||
157 | @@ -716,8 +727,12 @@ static inline void ptep_set_numa(struct mm_struct *mm, unsigned long addr, | |
158 | #ifndef pmd_mknuma | |
159 | static inline pmd_t pmd_mknuma(pmd_t pmd) | |
160 | { | |
161 | - pmd = pmd_set_flags(pmd, _PAGE_NUMA); | |
162 | - return pmd_clear_flags(pmd, _PAGE_PRESENT); | |
163 | + pmdval_t val = pmd_val(pmd); | |
164 | + | |
165 | + val &= ~_PAGE_PRESENT; | |
166 | + val |= _PAGE_NUMA; | |
167 | + | |
168 | + return __pmd(val); | |
169 | } | |
170 | #endif | |
171 | ||
172 | -- | |
173 | 1.8.4.5 | |
174 | ||
175 | -- | |
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/ |