Skip to content

Commit 3296944

Browse files
committed
Merge branch 'akpm' (Andrew's patch-bomb)
Merge mix fixes from Andrew Morton. * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (12 commits) drivers/rtc/rtc-pl031.c: fix the missing operation on enable drivers/rtc/rtc-isl1208.c: call rtc_update_irq() from the alarm irq handler samples/seccomp: be less stupid about cross compiling checkpatch: fix $Float creation of match variables memcg: fix typo in kmemcg cache walk macro mm: fix wrong comments about anon_vma lock MAINTAINERS: update avr32 web ressources mm/hugetlb: set PTE as huge in hugetlb_change_protection and remove_migration_pte drivers/rtc/rtc-vt8500.c: fix year field in vt8500_rtc_set_time() tools/vm: add .gitignore to ignore built binaries thp: avoid dumping huge zero page nilfs2: fix fix very long mount time issue
2 parents 3f4e5aa + e7e034e commit 3296944

File tree

14 files changed

+34
-15
lines changed

14 files changed

+34
-15
lines changed

MAINTAINERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1489,7 +1489,7 @@ AVR32 ARCHITECTURE
14891489
M: Haavard Skinnemoen <hskinnemoen@gmail.com>
14901490
M: Hans-Christian Egtvedt <egtvedt@samfundet.no>
14911491
W: http://www.atmel.com/products/AVR32/
1492-
W: http://avr32linux.org/
1492+
W: http://mirror.egtvedt.no/avr32linux.org/
14931493
W: http://avrfreaks.net/
14941494
S: Maintained
14951495
F: arch/avr32/

drivers/rtc/rtc-isl1208.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -506,6 +506,7 @@ isl1208_rtc_interrupt(int irq, void *data)
506506
{
507507
unsigned long timeout = jiffies + msecs_to_jiffies(1000);
508508
struct i2c_client *client = data;
509+
struct rtc_device *rtc = i2c_get_clientdata(client);
509510
int handled = 0, sr, err;
510511

511512
/*
@@ -528,6 +529,8 @@ isl1208_rtc_interrupt(int irq, void *data)
528529
if (sr & ISL1208_REG_SR_ALM) {
529530
dev_dbg(&client->dev, "alarm!\n");
530531

532+
rtc_update_irq(rtc, 1, RTC_IRQF | RTC_AF);
533+
531534
/* Clear the alarm */
532535
sr &= ~ISL1208_REG_SR_ALM;
533536
sr = i2c_smbus_write_byte_data(client, ISL1208_REG_SR, sr);

drivers/rtc/rtc-pl031.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
#define RTC_YMR 0x34 /* Year match register */
4545
#define RTC_YLR 0x38 /* Year data load register */
4646

47+
#define RTC_CR_EN (1 << 0) /* counter enable bit */
4748
#define RTC_CR_CWEN (1 << 26) /* Clockwatch enable bit */
4849

4950
#define RTC_TCR_EN (1 << 1) /* Periodic timer enable bit */
@@ -320,7 +321,7 @@ static int pl031_probe(struct amba_device *adev, const struct amba_id *id)
320321
struct pl031_local *ldata;
321322
struct pl031_vendor_data *vendor = id->data;
322323
struct rtc_class_ops *ops = &vendor->ops;
323-
unsigned long time;
324+
unsigned long time, data;
324325

325326
ret = amba_request_regions(adev, NULL);
326327
if (ret)
@@ -345,10 +346,11 @@ static int pl031_probe(struct amba_device *adev, const struct amba_id *id)
345346
dev_dbg(&adev->dev, "designer ID = 0x%02x\n", amba_manf(adev));
346347
dev_dbg(&adev->dev, "revision = 0x%01x\n", amba_rev(adev));
347348

349+
data = readl(ldata->base + RTC_CR);
348350
/* Enable the clockwatch on ST Variants */
349351
if (vendor->clockwatch)
350-
writel(readl(ldata->base + RTC_CR) | RTC_CR_CWEN,
351-
ldata->base + RTC_CR);
352+
data |= RTC_CR_CWEN;
353+
writel(data | RTC_CR_EN, ldata->base + RTC_CR);
352354

353355
/*
354356
* On ST PL031 variants, the RTC reset value does not provide correct

drivers/rtc/rtc-vt8500.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ static int vt8500_rtc_set_time(struct device *dev, struct rtc_time *tm)
137137
return -EINVAL;
138138
}
139139

140-
writel((bin2bcd(tm->tm_year - 100) << DATE_YEAR_S)
140+
writel((bin2bcd(tm->tm_year % 100) << DATE_YEAR_S)
141141
| (bin2bcd(tm->tm_mon + 1) << DATE_MONTH_S)
142142
| (bin2bcd(tm->tm_mday))
143143
| ((tm->tm_year >= 200) << DATE_CENTURY_S),

fs/nilfs2/ioctl.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -664,8 +664,11 @@ static int nilfs_ioctl_clean_segments(struct inode *inode, struct file *filp,
664664
if (ret < 0)
665665
printk(KERN_ERR "NILFS: GC failed during preparation: "
666666
"cannot read source blocks: err=%d\n", ret);
667-
else
667+
else {
668+
if (nilfs_sb_need_update(nilfs))
669+
set_nilfs_discontinued(nilfs);
668670
ret = nilfs_clean_segments(inode->i_sb, argv, kbufs);
671+
}
669672

670673
nilfs_remove_all_gcinodes(nilfs);
671674
clear_nilfs_gc_running(nilfs);

include/linux/memcontrol.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ extern int memcg_limited_groups_array_size;
429429
* the slab_mutex must be held when looping through those caches
430430
*/
431431
#define for_each_memcg_cache_index(_idx) \
432-
for ((_idx) = 0; i < memcg_limited_groups_array_size; (_idx)++)
432+
for ((_idx) = 0; (_idx) < memcg_limited_groups_array_size; (_idx)++)
433433

434434
static inline bool memcg_kmem_enabled(void)
435435
{

include/linux/mmu_notifier.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ struct mmu_notifier_ops {
151151
* Therefore notifier chains can only be traversed when either
152152
*
153153
* 1. mmap_sem is held.
154-
* 2. One of the reverse map locks is held (i_mmap_mutex or anon_vma->mutex).
154+
* 2. One of the reverse map locks is held (i_mmap_mutex or anon_vma->rwsem).
155155
* 3. No other concurrent thread can access the list (release)
156156
*/
157157
struct mmu_notifier {

mm/huge_memory.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1257,6 +1257,10 @@ struct page *follow_trans_huge_pmd(struct vm_area_struct *vma,
12571257
if (flags & FOLL_WRITE && !pmd_write(*pmd))
12581258
goto out;
12591259

1260+
/* Avoid dumping huge zero page */
1261+
if ((flags & FOLL_DUMP) && is_huge_zero_pmd(*pmd))
1262+
return ERR_PTR(-EFAULT);
1263+
12601264
page = pmd_page(*pmd);
12611265
VM_BUG_ON(!PageHead(page));
12621266
if (flags & FOLL_TOUCH) {

mm/hugetlb.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3033,6 +3033,7 @@ unsigned long hugetlb_change_protection(struct vm_area_struct *vma,
30333033
if (!huge_pte_none(huge_ptep_get(ptep))) {
30343034
pte = huge_ptep_get_and_clear(mm, address, ptep);
30353035
pte = pte_mkhuge(pte_modify(pte, newprot));
3036+
pte = arch_make_huge_pte(pte, vma, NULL, 0);
30363037
set_huge_pte_at(mm, address, ptep, pte);
30373038
pages++;
30383039
}

mm/migrate.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,10 @@ static int remove_migration_pte(struct page *new, struct vm_area_struct *vma,
160160
if (is_write_migration_entry(entry))
161161
pte = pte_mkwrite(pte);
162162
#ifdef CONFIG_HUGETLB_PAGE
163-
if (PageHuge(new))
163+
if (PageHuge(new)) {
164164
pte = pte_mkhuge(pte);
165+
pte = arch_make_huge_pte(pte, vma, new, 0);
166+
}
165167
#endif
166168
flush_cache_page(vma, addr, pte_pfn(pte));
167169
set_pte_at(mm, addr, ptep, pte);

mm/mmap.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2943,7 +2943,7 @@ static void vm_lock_mapping(struct mm_struct *mm, struct address_space *mapping)
29432943
* vma in this mm is backed by the same anon_vma or address_space.
29442944
*
29452945
* We can take all the locks in random order because the VM code
2946-
* taking i_mmap_mutex or anon_vma->mutex outside the mmap_sem never
2946+
* taking i_mmap_mutex or anon_vma->rwsem outside the mmap_sem never
29472947
* takes more than one of them in a row. Secondly we're protected
29482948
* against a concurrent mm_take_all_locks() by the mm_all_locks_mutex.
29492949
*

samples/seccomp/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ bpf-direct-objs := bpf-direct.o
1919

2020
# Try to match the kernel target.
2121
ifndef CONFIG_64BIT
22+
ifndef CROSS_COMPILE
2223

2324
# s390 has -m31 flag to build 31 bit binaries
2425
ifndef CONFIG_S390
@@ -35,6 +36,7 @@ HOSTLOADLIBES_bpf-direct += $(MFLAG)
3536
HOSTLOADLIBES_bpf-fancy += $(MFLAG)
3637
HOSTLOADLIBES_dropper += $(MFLAG)
3738
endif
39+
endif
3840

3941
# Tell kbuild to always build the programs
4042
always := $(hostprogs-y)

scripts/checkpatch.pl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -230,12 +230,12 @@ sub help {
230230
our $Member = qr{->$Ident|\.$Ident|\[[^]]*\]};
231231
our $Lval = qr{$Ident(?:$Member)*};
232232

233-
our $Float_hex = qr{(?i:0x[0-9a-f]+p-?[0-9]+[fl]?)};
234-
our $Float_dec = qr{(?i:((?:[0-9]+\.[0-9]*|[0-9]*\.[0-9]+)(?:e-?[0-9]+)?[fl]?))};
235-
our $Float_int = qr{(?i:[0-9]+e-?[0-9]+[fl]?)};
233+
our $Float_hex = qr{(?i)0x[0-9a-f]+p-?[0-9]+[fl]?};
234+
our $Float_dec = qr{(?i)(?:[0-9]+\.[0-9]*|[0-9]*\.[0-9]+)(?:e-?[0-9]+)?[fl]?};
235+
our $Float_int = qr{(?i)[0-9]+e-?[0-9]+[fl]?};
236236
our $Float = qr{$Float_hex|$Float_dec|$Float_int};
237-
our $Constant = qr{(?:$Float|(?i:(?:0x[0-9a-f]+|[0-9]+)[ul]*))};
238-
our $Assignment = qr{(?:\*\=|/=|%=|\+=|-=|<<=|>>=|&=|\^=|\|=|=)};
237+
our $Constant = qr{$Float|(?i)(?:0x[0-9a-f]+|[0-9]+)[ul]*};
238+
our $Assignment = qr{\*\=|/=|%=|\+=|-=|<<=|>>=|&=|\^=|\|=|=};
239239
our $Compare = qr{<=|>=|==|!=|<|>};
240240
our $Operators = qr{
241241
<=|>=|==|!=|

tools/vm/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
slabinfo
2+
page-types

0 commit comments

Comments
 (0)