Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

+34 -15
+1 -1
MAINTAINERS
··· 1489 1489 M: Haavard Skinnemoen <hskinnemoen@gmail.com> 1490 1490 M: Hans-Christian Egtvedt <egtvedt@samfundet.no> 1491 1491 W: http://www.atmel.com/products/AVR32/ 1492 - W: http://avr32linux.org/ 1492 + W: http://mirror.egtvedt.no/avr32linux.org/ 1493 1493 W: http://avrfreaks.net/ 1494 1494 S: Maintained 1495 1495 F: arch/avr32/
+3
drivers/rtc/rtc-isl1208.c
··· 506 506 { 507 507 unsigned long timeout = jiffies + msecs_to_jiffies(1000); 508 508 struct i2c_client *client = data; 509 + struct rtc_device *rtc = i2c_get_clientdata(client); 509 510 int handled = 0, sr, err; 510 511 511 512 /* ··· 528 527 529 528 if (sr & ISL1208_REG_SR_ALM) { 530 529 dev_dbg(&client->dev, "alarm!\n"); 530 + 531 + rtc_update_irq(rtc, 1, RTC_IRQF | RTC_AF); 531 532 532 533 /* Clear the alarm */ 533 534 sr &= ~ISL1208_REG_SR_ALM;
+5 -3
drivers/rtc/rtc-pl031.c
··· 44 44 #define RTC_YMR 0x34 /* Year match register */ 45 45 #define RTC_YLR 0x38 /* Year data load register */ 46 46 47 + #define RTC_CR_EN (1 << 0) /* counter enable bit */ 47 48 #define RTC_CR_CWEN (1 << 26) /* Clockwatch enable bit */ 48 49 49 50 #define RTC_TCR_EN (1 << 1) /* Periodic timer enable bit */ ··· 321 320 struct pl031_local *ldata; 322 321 struct pl031_vendor_data *vendor = id->data; 323 322 struct rtc_class_ops *ops = &vendor->ops; 324 - unsigned long time; 323 + unsigned long time, data; 325 324 326 325 ret = amba_request_regions(adev, NULL); 327 326 if (ret) ··· 346 345 dev_dbg(&adev->dev, "designer ID = 0x%02x\n", amba_manf(adev)); 347 346 dev_dbg(&adev->dev, "revision = 0x%01x\n", amba_rev(adev)); 348 347 348 + data = readl(ldata->base + RTC_CR); 349 349 /* Enable the clockwatch on ST Variants */ 350 350 if (vendor->clockwatch) 351 - writel(readl(ldata->base + RTC_CR) | RTC_CR_CWEN, 352 - ldata->base + RTC_CR); 351 + data |= RTC_CR_CWEN; 352 + writel(data | RTC_CR_EN, ldata->base + RTC_CR); 353 353 354 354 /* 355 355 * On ST PL031 variants, the RTC reset value does not provide correct
+1 -1
drivers/rtc/rtc-vt8500.c
··· 137 137 return -EINVAL; 138 138 } 139 139 140 - writel((bin2bcd(tm->tm_year - 100) << DATE_YEAR_S) 140 + writel((bin2bcd(tm->tm_year % 100) << DATE_YEAR_S) 141 141 | (bin2bcd(tm->tm_mon + 1) << DATE_MONTH_S) 142 142 | (bin2bcd(tm->tm_mday)) 143 143 | ((tm->tm_year >= 200) << DATE_CENTURY_S),
+4 -1
fs/nilfs2/ioctl.c
··· 664 664 if (ret < 0) 665 665 printk(KERN_ERR "NILFS: GC failed during preparation: " 666 666 "cannot read source blocks: err=%d\n", ret); 667 - else 667 + else { 668 + if (nilfs_sb_need_update(nilfs)) 669 + set_nilfs_discontinued(nilfs); 668 670 ret = nilfs_clean_segments(inode->i_sb, argv, kbufs); 671 + } 669 672 670 673 nilfs_remove_all_gcinodes(nilfs); 671 674 clear_nilfs_gc_running(nilfs);
+1 -1
include/linux/memcontrol.h
··· 429 429 * the slab_mutex must be held when looping through those caches 430 430 */ 431 431 #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)++) 433 433 434 434 static inline bool memcg_kmem_enabled(void) 435 435 {
+1 -1
include/linux/mmu_notifier.h
··· 151 151 * Therefore notifier chains can only be traversed when either 152 152 * 153 153 * 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). 155 155 * 3. No other concurrent thread can access the list (release) 156 156 */ 157 157 struct mmu_notifier {
+4
mm/huge_memory.c
··· 1257 1257 if (flags & FOLL_WRITE && !pmd_write(*pmd)) 1258 1258 goto out; 1259 1259 1260 + /* Avoid dumping huge zero page */ 1261 + if ((flags & FOLL_DUMP) && is_huge_zero_pmd(*pmd)) 1262 + return ERR_PTR(-EFAULT); 1263 + 1260 1264 page = pmd_page(*pmd); 1261 1265 VM_BUG_ON(!PageHead(page)); 1262 1266 if (flags & FOLL_TOUCH) {
+1
mm/hugetlb.c
··· 3033 3033 if (!huge_pte_none(huge_ptep_get(ptep))) { 3034 3034 pte = huge_ptep_get_and_clear(mm, address, ptep); 3035 3035 pte = pte_mkhuge(pte_modify(pte, newprot)); 3036 + pte = arch_make_huge_pte(pte, vma, NULL, 0); 3036 3037 set_huge_pte_at(mm, address, ptep, pte); 3037 3038 pages++; 3038 3039 }
+3 -1
mm/migrate.c
··· 160 160 if (is_write_migration_entry(entry)) 161 161 pte = pte_mkwrite(pte); 162 162 #ifdef CONFIG_HUGETLB_PAGE 163 - if (PageHuge(new)) 163 + if (PageHuge(new)) { 164 164 pte = pte_mkhuge(pte); 165 + pte = arch_make_huge_pte(pte, vma, new, 0); 166 + } 165 167 #endif 166 168 flush_cache_page(vma, addr, pte_pfn(pte)); 167 169 set_pte_at(mm, addr, ptep, pte);
+1 -1
mm/mmap.c
··· 2943 2943 * vma in this mm is backed by the same anon_vma or address_space. 2944 2944 * 2945 2945 * 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 2947 2947 * takes more than one of them in a row. Secondly we're protected 2948 2948 * against a concurrent mm_take_all_locks() by the mm_all_locks_mutex. 2949 2949 *
+2
samples/seccomp/Makefile
··· 19 19 20 20 # Try to match the kernel target. 21 21 ifndef CONFIG_64BIT 22 + ifndef CROSS_COMPILE 22 23 23 24 # s390 has -m31 flag to build 31 bit binaries 24 25 ifndef CONFIG_S390 ··· 35 34 HOSTLOADLIBES_bpf-direct += $(MFLAG) 36 35 HOSTLOADLIBES_bpf-fancy += $(MFLAG) 37 36 HOSTLOADLIBES_dropper += $(MFLAG) 37 + endif 38 38 endif 39 39 40 40 # Tell kbuild to always build the programs
+5 -5
scripts/checkpatch.pl
··· 230 230 our $Member = qr{->$Ident|\.$Ident|\[[^]]*\]}; 231 231 our $Lval = qr{$Ident(?:$Member)*}; 232 232 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]?}; 236 236 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{\*\=|/=|%=|\+=|-=|<<=|>>=|&=|\^=|\|=|=}; 239 239 our $Compare = qr{<=|>=|==|!=|<|>}; 240 240 our $Operators = qr{ 241 241 <=|>=|==|!=|
+2
tools/vm/.gitignore
··· 1 + slabinfo 2 + page-types