]> git.pld-linux.org Git - packages/kernel.git/blob - kernel-small_fixes.patch
- rel 2; fix for adjtimex failed for set_frequency... error
[packages/kernel.git] / kernel-small_fixes.patch
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
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
29
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);
37  
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",
43 +                               dev->dev_addr);
44 +       }
45 +
46         SET_ETHTOOL_OPS(dev, &rtl8169_ethtool_ops);
47         dev->watchdog_timeo = RTL8169_TX_TIMEOUT;
48  
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)
73
74 From 1e2ee49f7f1b79f0b14884fe6a602f0411b39552 Mon Sep 17 00:00:00 2001
75 From: Will Woods <wwoods@redhat.com>
76 Date: Tue, 6 May 2014 12:50:10 -0700
77 Subject: fanotify: fix -EOVERFLOW with large files on 64-bit
78
79 On 64-bit systems, O_LARGEFILE is automatically added to flags inside
80 the open() syscall (also openat(), blkdev_open(), etc).  Userspace
81 therefore defines O_LARGEFILE to be 0 - you can use it, but it's a
82 no-op.  Everything should be O_LARGEFILE by default.
83
84 But: when fanotify does create_fd() it uses dentry_open(), which skips
85 all that.  And userspace can't set O_LARGEFILE in fanotify_init()
86 because it's defined to 0.  So if fanotify gets an event regarding a
87 large file, the read() will just fail with -EOVERFLOW.
88
89 This patch adds O_LARGEFILE to fanotify_init()'s event_f_flags on 64-bit
90 systems, using the same test as open()/openat()/etc.
91
92 Addresses https://bugzilla.redhat.com/show_bug.cgi?id=696821
93
94 Signed-off-by: Will Woods <wwoods@redhat.com>
95 Acked-by: Eric Paris <eparis@redhat.com>
96 Reviewed-by: Jan Kara <jack@suse.cz>
97 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
98 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
99
100 diff --git a/fs/notify/fanotify/fanotify_user.c b/fs/notify/fanotify/fanotify_user.c
101 index 4e565c8..732648b 100644
102 --- a/fs/notify/fanotify/fanotify_user.c
103 +++ b/fs/notify/fanotify/fanotify_user.c
104 @@ -698,6 +698,8 @@ SYSCALL_DEFINE2(fanotify_init, unsigned int, flags, unsigned int, event_f_flags)
105         }
106         group->overflow_event = &oevent->fse;
107  
108 +       if (force_o_largefile())
109 +               event_f_flags |= O_LARGEFILE;
110         group->fanotify_data.f_flags = event_f_flags;
111  #ifdef CONFIG_FANOTIFY_ACCESS_PERMISSIONS
112         spin_lock_init(&group->fanotify_data.access_lock);
113 -- 
114 cgit v0.10.1
115 From 29183a70b0b828500816bd794b3fe192fce89f73 Mon Sep 17 00:00:00 2001
116 From: John Stultz <john.stultz@linaro.org>
117 Date: Mon, 9 Feb 2015 23:30:36 -0800
118 Subject: ntp: Fixup adjtimex freq validation on 32-bit systems
119
120 Additional validation of adjtimex freq values to avoid
121 potential multiplication overflows were added in commit
122 5e5aeb4367b (time: adjtimex: Validate the ADJ_FREQUENCY values)
123
124 Unfortunately the patch used LONG_MAX/MIN instead of
125 LLONG_MAX/MIN, which was fine on 64-bit systems, but being
126 much smaller on 32-bit systems caused false positives
127 resulting in most direct frequency adjustments to fail w/
128 EINVAL.
129
130 ntpd only does direct frequency adjustments at startup, so
131 the issue was not as easily observed there, but other time
132 sync applications like ptpd and chrony were more effected by
133 the bug.
134
135 See bugs:
136
137   https://bugzilla.kernel.org/show_bug.cgi?id=92481
138   https://bugzilla.redhat.com/show_bug.cgi?id=1188074
139
140 This patch changes the checks to use LLONG_MAX for
141 clarity, and additionally the checks are disabled
142 on 32-bit systems since LLONG_MAX/PPM_SCALE is always
143 larger then the 32-bit long freq value, so multiplication
144 overflows aren't possible there.
145
146 Reported-by: Josh Boyer <jwboyer@fedoraproject.org>
147 Reported-by: George Joseph <george.joseph@fairview5.com>
148 Tested-by: George Joseph <george.joseph@fairview5.com>
149 Signed-off-by: John Stultz <john.stultz@linaro.org>
150 Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
151 Cc: <stable@vger.kernel.org> # v3.19+
152 Cc: Linus Torvalds <torvalds@linux-foundation.org>
153 Cc: Sasha Levin <sasha.levin@oracle.com>
154 Link: http://lkml.kernel.org/r/1423553436-29747-1-git-send-email-john.stultz@linaro.org
155 [ Prettified the changelog and the comments a bit. ]
156 Signed-off-by: Ingo Molnar <mingo@kernel.org>
157
158 diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
159 index 4b585e0..0f60b08 100644
160 --- a/kernel/time/ntp.c
161 +++ b/kernel/time/ntp.c
162 @@ -633,10 +633,14 @@ int ntp_validate_timex(struct timex *txc)
163         if ((txc->modes & ADJ_SETOFFSET) && (!capable(CAP_SYS_TIME)))
164                 return -EPERM;
165  
166 -       if (txc->modes & ADJ_FREQUENCY) {
167 -               if (LONG_MIN / PPM_SCALE > txc->freq)
168 +       /*
169 +        * Check for potential multiplication overflows that can
170 +        * only happen on 64-bit systems:
171 +        */
172 +       if ((txc->modes & ADJ_FREQUENCY) && (BITS_PER_LONG == 64)) {
173 +               if (LLONG_MIN / PPM_SCALE > txc->freq)
174                         return -EINVAL;
175 -               if (LONG_MAX / PPM_SCALE < txc->freq)
176 +               if (LLONG_MAX / PPM_SCALE < txc->freq)
177                         return -EINVAL;
178         }
179  
180 -- 
181 cgit v0.10.2
182
This page took 0.040325 seconds and 4 git commands to generate.