Skip to content
This repository was archived by the owner on Dec 2, 2020. It is now read-only.

Commit 79bbe9c

Browse files
author
jianzhou
committed
Merge android-4.9.187 (fabc071) into msm-4.9
* refs/heads/tmp-fabc071: Linux 4.9.187 ceph: hold i_ceph_lock when removing caps for freeing inode drivers/pps/pps.c: clear offset flags in PPS_SETPARAMS ioctl sched/fair: Don't free p->numa_faults with concurrent readers Bluetooth: hci_uart: check for missing tty operations media: radio-raremono: change devm_k*alloc to k*alloc media: cpia2_usb: first wake up, then free in disconnect media: au0828: fix null dereference in error path ISDN: hfcsusb: checking idx of ep configuration arm64: compat: Provide definition for COMPAT_SIGMINSTKSZ i2c: qup: fixed releasing dma without flush operation completion arm64: dts: marvell: Fix A37xx UART0 register size tcp: reset sk_send_head in tcp_write_queue_purge ipv6: check sk sk_type and protocol early in ip_mroute_set/getsockopt access: avoid the RCU grace period for the temporary subjective credentials powerpc/tm: Fix oops on sigreturn on systems without TM ALSA: hda - Add a conexant codec entry to let mute led work ALSA: line6: Fix wrong altsetting for LINE6_PODHD500_1 hpet: Fix division by zero in hpet_time_div() x86/speculation/mds: Apply more accurate check on hypervisor platform x86/sysfb_efi: Add quirks for some devices with swapped width and height usb: pci-quirks: Correct AMD PLL quirk detection usb: wusbcore: fix unbalanced get/put cluster_id locking/lockdep: Hide unused 'class' variable locking/lockdep: Fix lock used or unused stats error mm/mmu_notifier: use hlist_add_head_rcu() 9p: pass the correct prototype to read_cache_page mm/kmemleak.c: fix check for softirq context sh: prevent warnings when using iounmap powerpc/eeh: Handle hugepages in ioremap space mailbox: handle failed named mailbox channel request f2fs: avoid out-of-range memory access powerpc/boot: add {get, put}_unaligned_be32 to xz_config.h RDMA/rxe: Fill in wc byte_len with IB_WC_RECV_RDMA_WITH_IMM perf test mmap-thread-lookup: Initialize variable to suppress memory sanitizer warning kallsyms: exclude kasan local symbols on s390 serial: sh-sci: Fix TX DMA buffer flushing and workqueue races serial: sh-sci: Terminate TX DMA during buffer flushing RDMA/i40iw: Set queue pair state when being queried powerpc/4xx/uic: clear pending interrupt after irq type/pol change um: Silence lockdep complaint about mmap_sem mfd: hi655x-pmic: Fix missing return value check for devm_regmap_init_mmio_clk mfd: arizona: Fix undefined behavior mfd: core: Set fwnode for created devices recordmcount: Fix spurious mcount entries on powerpc iio: iio-utils: Fix possible incorrect mask calculation PCI: xilinx-nwl: Fix Multi MSI data programming kbuild: Add -Werror=unknown-warning-option to CLANG_FLAGS PCI: sysfs: Ignore lockdep for remove attribute powerpc/pci/of: Fix OF flags parsing for 64bit BARs usb: gadget: Zero ffs_io_data tty: serial_core: Set port active bit in uart_port_activate drm/rockchip: Properly adjust to a true clock in adjusted_mode phy: renesas: rcar-gen2: Fix memory leak at error paths drm/virtio: Add memory barriers for capset cache. serial: 8250: Fix TX interrupt handling condition tty: serial: msm_serial: avoid system lockup condition tty/serial: digicolor: Fix digicolor-usart already registered warning memstick: Fix error cleanup path of memstick_init drm/bridge: sii902x: pixel clock unit is 10kHz instead of 1kHz drm/bridge: tc358767: read display_props in get_modes() tty: serial: cpm_uart - fix init when SMC is relocated pinctrl: rockchip: fix leaked of_node references tty: max310x: Fix invalid baudrate divisors calculator usb: core: hub: Disable hub-initiated U1/U2 drm/panel: simple: Fix panel_simple_dsi_probe nfsd: Fix overflow causing non-working mounts on 1 TB machines nfsd: fix performance-limiting session calculation nfsd: give out fewer session slots as limit approaches nfsd: increase DRC cache limit NFSv4: Fix open create exclusive when the server reboots perf/events/amd/uncore: Fix amd_uncore_llc ID to use pre-defined cpu_llc_id perf/x86/amd/uncore: Get correct number of cores sharing last level cache perf/x86/amd/uncore: Rename 'L2' to 'LLC' net: bridge: stp: don't cache eth dest pointer before skb pull net: bridge: mcast: fix stale ipv6 hdr pointer when handling v6 query net: bridge: mcast: fix stale nsrcs pointer in igmp3/mld2 report handling tcp: Reset bytes_acked and bytes_received when disconnecting bonding: validate ip header before check IPPROTO_IGMP netrom: hold sock when setting skb->destructor netrom: fix a memory leak in nr_rx_frame() macsec: fix checksumming after decryption macsec: fix use-after-free of skb during RX vrf: make sure skb->data contains ip header to make routing sky2: Disable MSI on ASUS P6T rxrpc: Fix send on a connected, but unbound socket nfc: fix potential illegal memory access net: openvswitch: fix csum updates for MPLS actions net: neigh: fix multiple neigh timer scheduling net: dsa: mv88e6xxx: wait after reset deactivation net: bcmgenet: use promisc for unsupported filters ipv4: don't set IPv6 only flags to IPv4 addresses igmp: fix memory leak in igmpv3_del_delrec() caif-hsi: fix possible deadlock in cfhsi_exit_module() bnx2x: Prevent ptp_task to be rescheduled indefinitely bnx2x: Prevent load reordering in tx completion processing ext4: allow directory holes lib/strscpy: Shut up KASAN false-positives in strscpy() compiler.h: Add read_word_at_a_time() function. compiler.h, kasan: Avoid duplicating __read_once_size_nocheck() dm bufio: fix deadlock with loop device usb: Handle USB3 remote wakeup for LPM enabled devices correctly Bluetooth: Add SMP workaround Microsoft Surface Precision Mouse bug intel_th: msu: Fix single mode with disabled IOMMU eCryptfs: fix a couple type promotion bugs powerpc/watchpoint: Restore NV GPRs while returning from exception powerpc/32s: fix suspend/resume when IBATs 4-7 are used parisc: Fix kernel panic due invalid values in IAOQ0 or IAOQ1 parisc: Ensure userspace privilege for ptraced processes in regset functions um: Fix FP register size for XSTATE/XSAVE um: Allow building and running on older hosts crypto: caam - limit output IV to CBC to work around CTR mode DMA issue PCI: hv: Fix a use-after-free bug in hv_eject_device_work() PCI: hv: Delete the device earlier from hbus->children for hot-remove crypto: ccp - Validate the the error value used to index error messages gpu: ipu-v3: ipu-ic: Fix saturation bit offset in TPMEM coda: pass the host file in vma->vm_file on mmap floppy: fix out-of-bounds read in copy_buffer floppy: fix invalid pointer dereference in drive_name floppy: fix out-of-bounds read in next_valid_format floppy: fix div-by-zero in setup_format_params take floppy compat ioctls to sodding floppy.c libnvdimm/pfn: fix fsdax-mode namespace info-block zero-fields Btrfs: add missing inode version, ctime and mtime updates when punching hole PCI: Do not poll for PME if the device is in D3cold 9p/virtio: Add cleanup path in p9_virtio_init padata: use smp_mb in padata_reorder to avoid orphaned padata jobs drm/nouveau/i2c: Enable i2c pads & busses during preinit fs/proc/proc_sysctl.c: fix the default values of i_uid/i_gid on /proc/sys inodes. arm64: tegra: Fix AGIC register range KVM: x86/vPMU: refine kvm_pmu err msg when event creation failed media: coda: Remove unbalanced and unneeded mutex unlock media: v4l2: Test type instead of cfg->type in v4l2_ctrl_new_custom() ALSA: hda/realtek: apply ALC891 headset fixup to one Dell machine ALSA: seq: Break too long mutex context in the write loop lib/scatterlist: Fix mapping iterator when sg->offset is greater than PAGE_SIZE NFSv4: Handle the special Linux file open access mode tracing/snapshot: Resize spare buffer if size changed iwlwifi: pcie: don't service an interrupt that was masked arm64: tegra: Update Jetson TX1 GPU regulator timings regulator: s2mps11: Fix buck7 and buck8 wrong voltages Input: gtco - bounds check collection indent level crypto: crypto4xx - fix a potential double free in ppc4xx_trng_probe crypto: chacha20poly1305 - fix atomic sleep when using async algorithm crypto: arm64/sha2-ce - correct digest for empty data in finup crypto: arm64/sha1-ce - correct digest for empty data in finup crypto: ghash - fix unaligned memory access in ghash_setkey() scsi: mac_scsi: Increase PIO/PDMA transfer length threshold scsi: NCR5380: Always re-enable reselection interrupt scsi: NCR5380: Reduce goto statements in NCR5380_select() xen: let alloc_xenballooned_pages() fail if not enough memory free gtp: fix use-after-free in gtp_newlink() gtp: fix Illegal context switch in RCU read-side critical section. Bluetooth: validate BLE connection interval updates Bluetooth: Check state in l2cap_disconnect_rsp Bluetooth: 6lowpan: search for destination address in all peers Bluetooth: hci_bcsp: Fix memory leak in rx_skb gpiolib: Fix references to gpiod_[gs]et_*value_cansleep() variants net: usb: asix: init MAC address buffers iwlwifi: mvm: Drop large non sta frames bcache: check c->gc_thread by IS_ERR_OR_NULL in cache_set_flush() EDAC: Fix global-out-of-bounds write when setting edac_mc_poll_msec crypto: asymmetric_keys - select CRYPTO_HASH where needed ixgbe: Check DDM existence in transceiver before access rslib: Fix handling of of caller provided syndrome rslib: Fix decoding of shortened codes clocksource/drivers/exynos_mct: Increase priority over ARM arch timer libata: don't request sense data on !ZAC ATA devices perf tools: Increase MAX_NR_CPUS and MAX_CACHES ath10k: fix PCIE device wake up failed mt7601u: fix possible memory leak when the device is disconnected x86/build: Add 'set -e' to mkcapflags.sh to delete broken capflags.c mt7601u: do not schedule rx_tasklet when the device has been disconnected media: coda: increment sequence offset for the last returned frame media: coda: fix mpeg2 sequence number handling acpi/arm64: ignore 5.1 FADTs that are reported as 5.0 timer_list: Guard procfs specific code ntp: Limit TAI-UTC offset media: i2c: fix warning same module names ipsec: select crypto ciphers for xfrm_algo EDAC/sysfs: Fix memory leak when creating a csrow object ipoib: correcly show a VF hardware address vhost_net: disable zerocopy by default perf evsel: Make perf_evsel__name() accept a NULL argument xfrm: fix sa selector validation blkcg, writeback: dead memcgs shouldn't contribute to writeback ownership arbitration rcu: Force inlining of rcu_read_lock() bpf: silence warning messages in core regmap: fix bulk writes on paged registers gpio: omap: ensure irq is enabled before wakeup gpio: omap: fix lack of irqstatus_raw0 for OMAP4 perf test 6: Fix missing kvm module load for s390 perf cs-etm: Properly set the value of 'old' and 'head' in snapshot mode s390/qdio: handle PENDING state for QEBSM devices net: axienet: Fix race condition causing TX hang net: fec: Do not use netdev messages too early cpupower : frequency-set -r option misses the last cpu in related cpu list media: wl128x: Fix some error handling in fm_v4l2_init_video_device() locking/lockdep: Fix merging of hlocks with non-zero references tua6100: Avoid build warnings. crypto: talitos - Align SEC1 accesses to 32 bits boundaries. crypto: talitos - properly handle split ICV. net: phy: Check against net_device being NULL media: staging: media: davinci_vpfe: - Fix for memory leak if decoder initialization fails. media: mc-device.c: don't memset __user pointer contents xfrm: Fix xfrm sel prefix length validation af_key: fix leaks in key_pol_get_resp and dump_sp. signal/pid_namespace: Fix reboot_pid_ns to use send_sig not force_sig net: stmmac: dwmac4/5: Clear unused address entries net: stmmac: dwmac1000: Clear unused address entries media: media_device_enum_links32: clean a reserved field media: vpss: fix a potential NULL pointer dereference media: marvell-ccic: fix DMA s/g desc number calculation crypto: talitos - fix skcipher failure due to wrong output IV media: dvb: usb: fix use after free in dvb_usb_device_exit batman-adv: fix for leaked TVLV handler. ath: DFS JP domain W56 fixed pulse type 3 RADAR detection ath6kl: add some bounds checking ath9k: Check for errors when reading SREV register ath10k: Do not send probe response template for mesh dmaengine: imx-sdma: fix use-after-free on probe error path arm64/efi: Mark __efistub_stext_offset as an absolute symbol explicitly MIPS: fix build on non-linux hosts MIPS: ath79: fix ar933x uart parity mode ext4: remove unused value f2fs: use EINVAL for superblock with invalid magic f2fs: fix to read source block before invalidating it f2fs: remove redundant check from f2fs_setflags_common() f2fs: use generic checking and prep function for FS_IOC_SETFLAGS vfs: use READ_ONCE() to access ->i_link fs, fscrypt: clear DCACHE_ENCRYPTED_NAME when unaliasing directory ANDROID: enable CONFIG_RTC_DRV_TEST on cuttlefish ANDROID: xfrm: remove in_compat_syscall() checks UPSTREAM: binder: Set end of SG buffer area properly. fscrypt: cache decrypted symlink target in ->i_link fscrypt: fix race where ->lookup() marks plaintext dentry as ciphertext ext4: remove unused d_name argument from ext4_search_dir() et al. fscrypt: only set dentry_operations on ciphertext dentries fscrypt: fix race allowing rename() and link() of ciphertext dentries fscrypt: clean up and improve dentry revalidation fscrypt: use READ_ONCE() to access ->i_crypt_info fscrypt: remove WARN_ON_ONCE() when decryption fails fscrypt: drop inode argument from fscrypt_get_ctx() f2fs: improve print log in f2fs_sanity_check_ckpt() f2fs: avoid out-of-range memory access f2fs: fix to avoid long latency during umount f2fs: allow all the users to pin a file f2fs: support swap file w/ DIO f2fs: allocate blocks for pinned file f2fs: fix is_idle() check for discard type f2fs: add a rw_sem to cover quota flag changes f2fs: set SBI_NEED_FSCK for xattr corruption case f2fs: use generic EFSBADCRC/EFSCORRUPTED f2fs: Use DIV_ROUND_UP() instead of open-coding f2fs: print kernel message if filesystem is inconsistent f2fs: introduce f2fs_<level> macros to wrap f2fs_printk() f2fs: avoid get_valid_blocks() for cleanup f2fs: ioctl for removing a range from F2FS f2fs: only set project inherit bit for directory f2fs: separate f2fs i_flags from fs_flags and ext4 i_flags f2fs: Add option to limit required GC for checkpoint=disable f2fs: Fix accounting for unusable blocks f2fs: Fix root reserved on remount f2fs: Lower threshold for disable_cp_again f2fs: fix sparse warning f2fs: fix f2fs_show_options to show nodiscard mount option f2fs: add error prints for debugging mount failure f2fs: fix to do sanity check on segment bitmap of LFS curseg f2fs: add missing sysfs entries in documentation f2fs: fix to avoid deadloop if data_flush is on f2fs: always assume that the device is idle under gc_urgent f2fs: add bio cache for IPU f2fs: allow ssr block allocation during checkpoint=disable period f2fs: fix to check layout on last valid checkpoint park Conflicts: drivers/tty/serial/msm_serial.c fs/crypto/bio.c fs/crypto/keyinfo.c fs/f2fs/data.c Change-Id: I400b66ca62d751839b3e0499cb6c797f5f70b554 Signed-off-by: jianzhou <[email protected]>
2 parents e241030 + fabc071 commit 79bbe9c

File tree

267 files changed

+4025
-2018
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

267 files changed

+4025
-2018
lines changed

Documentation/ABI/testing/sysfs-fs-f2fs

+8
Original file line numberDiff line numberDiff line change
@@ -243,3 +243,11 @@ Description:
243243
- Del: echo '[h/c]!extension' > /sys/fs/f2fs/<disk>/extension_list
244244
- [h] means add/del hot file extension
245245
- [c] means add/del cold file extension
246+
247+
What: /sys/fs/f2fs/<disk>/unusable
248+
Date April 2019
249+
Contact: "Daniel Rosenberg" <[email protected]>
250+
Description:
251+
If checkpoint=disable, it displays the number of blocks that are unusable.
252+
If checkpoint=enable it displays the enumber of blocks that would be unusable
253+
if checkpoint=disable were to be set.

Documentation/devicetree/bindings/serial/mvebu-uart.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ Required properties:
88
Example:
99
serial@12000 {
1010
compatible = "marvell,armada-3700-uart";
11-
reg = <0x12000 0x400>;
11+
reg = <0x12000 0x200>;
1212
interrupts = <43>;
1313
};

Documentation/filesystems/f2fs.txt

+123-10
Original file line numberDiff line numberDiff line change
@@ -214,11 +214,22 @@ fsync_mode=%s Control the policy of fsync. Currently supports "posix",
214214
non-atomic files likewise "nobarrier" mount option.
215215
test_dummy_encryption Enable dummy encryption, which provides a fake fscrypt
216216
context. The fake fscrypt context is used by xfstests.
217-
checkpoint=%s Set to "disable" to turn off checkpointing. Set to "enable"
217+
checkpoint=%s[:%u[%]] Set to "disable" to turn off checkpointing. Set to "enable"
218218
to reenable checkpointing. Is enabled by default. While
219219
disabled, any unmounting or unexpected shutdowns will cause
220220
the filesystem contents to appear as they did when the
221221
filesystem was mounted with that option.
222+
While mounting with checkpoint=disabled, the filesystem must
223+
run garbage collection to ensure that all available space can
224+
be used. If this takes too much time, the mount may return
225+
EAGAIN. You may optionally add a value to indicate how much
226+
of the disk you would be willing to temporarily give up to
227+
avoid additional garbage collection. This can be given as a
228+
number of blocks, or as a percent. For instance, mounting
229+
with checkpoint=disable:100% would always succeed, but it may
230+
hide up to all remaining free space. The actual space that
231+
would be unusable can be viewed at /sys/fs/f2fs/<disk>/unusable
232+
This space is reclaimed once checkpoint=enable.
222233

223234
================================================================================
224235
DEBUGFS ENTRIES
@@ -246,11 +257,14 @@ Files in /sys/fs/f2fs/<devname>
246257
..............................................................................
247258
File Content
248259

249-
gc_max_sleep_time This tuning parameter controls the maximum sleep
260+
gc_urgent_sleep_time This parameter controls sleep time for gc_urgent.
261+
500 ms is set by default. See above gc_urgent.
262+
263+
gc_min_sleep_time This tuning parameter controls the minimum sleep
250264
time for the garbage collection thread. Time is
251265
in milliseconds.
252266

253-
gc_min_sleep_time This tuning parameter controls the minimum sleep
267+
gc_max_sleep_time This tuning parameter controls the maximum sleep
254268
time for the garbage collection thread. Time is
255269
in milliseconds.
256270

@@ -270,9 +284,6 @@ Files in /sys/fs/f2fs/<devname>
270284
to 1, background thread starts to do GC by given
271285
gc_urgent_sleep_time interval.
272286

273-
gc_urgent_sleep_time This parameter controls sleep time for gc_urgent.
274-
500 ms is set by default. See above gc_urgent.
275-
276287
reclaim_segments This parameter controls the number of prefree
277288
segments to be reclaimed. If the number of prefree
278289
segments is larger than the number of segments
@@ -287,7 +298,16 @@ Files in /sys/fs/f2fs/<devname>
287298
checkpoint is triggered, and issued during the
288299
checkpoint. By default, it is disabled with 0.
289300

290-
trim_sections This parameter controls the number of sections
301+
discard_granularity This parameter controls the granularity of discard
302+
command size. It will issue discard commands iif
303+
the size is larger than given granularity. Its
304+
unit size is 4KB, and 4 (=16KB) is set by default.
305+
The maximum value is 128 (=512KB).
306+
307+
reserved_blocks This parameter indicates the number of blocks that
308+
f2fs reserves internally for root.
309+
310+
batched_trim_sections This parameter controls the number of sections
291311
to be trimmed out in batch mode when FITRIM
292312
conducts. 32 sections is set by default.
293313

@@ -309,21 +329,89 @@ Files in /sys/fs/f2fs/<devname>
309329
the number is less than this value, it triggers
310330
in-place-updates.
311331

332+
min_seq_blocks This parameter controls the threshold to serialize
333+
write IOs issued by multiple threads in parallel.
334+
335+
min_hot_blocks This parameter controls the threshold to allocate
336+
a hot data log for pending data blocks to write.
337+
338+
min_ssr_sections This parameter adds the threshold when deciding
339+
SSR block allocation. If this is large, SSR mode
340+
will be enabled early.
341+
342+
ram_thresh This parameter controls the memory footprint used
343+
by free nids and cached nat entries. By default,
344+
10 is set, which indicates 10 MB / 1 GB RAM.
345+
346+
ra_nid_pages When building free nids, F2FS reads NAT blocks
347+
ahead for speed up. Default is 0.
348+
349+
dirty_nats_ratio Given dirty ratio of cached nat entries, F2FS
350+
determines flushing them in background.
351+
312352
max_victim_search This parameter controls the number of trials to
313353
find a victim segment when conducting SSR and
314354
cleaning operations. The default value is 4096
315355
which covers 8GB block address range.
316356

357+
migration_granularity For large-sized sections, F2FS can stop GC given
358+
this granularity instead of reclaiming entire
359+
section.
360+
317361
dir_level This parameter controls the directory level to
318362
support large directory. If a directory has a
319363
number of files, it can reduce the file lookup
320364
latency by increasing this dir_level value.
321365
Otherwise, it needs to decrease this value to
322366
reduce the space overhead. The default value is 0.
323367

324-
ram_thresh This parameter controls the memory footprint used
325-
by free nids and cached nat entries. By default,
326-
10 is set, which indicates 10 MB / 1 GB RAM.
368+
cp_interval F2FS tries to do checkpoint periodically, 60 secs
369+
by default.
370+
371+
idle_interval F2FS detects system is idle, if there's no F2FS
372+
operations during given interval, 5 secs by
373+
default.
374+
375+
discard_idle_interval F2FS detects the discard thread is idle, given
376+
time interval. Default is 5 secs.
377+
378+
gc_idle_interval F2FS detects the GC thread is idle, given time
379+
interval. Default is 5 secs.
380+
381+
umount_discard_timeout When unmounting the disk, F2FS waits for finishing
382+
queued discard commands which can take huge time.
383+
This gives time out for it, 5 secs by default.
384+
385+
iostat_enable This controls to enable/disable iostat in F2FS.
386+
387+
readdir_ra This enables/disabled readahead of inode blocks
388+
in readdir, and default is enabled.
389+
390+
gc_pin_file_thresh This indicates how many GC can be failed for the
391+
pinned file. If it exceeds this, F2FS doesn't
392+
guarantee its pinning state. 2048 trials is set
393+
by default.
394+
395+
extension_list This enables to change extension_list for hot/cold
396+
files in runtime.
397+
398+
inject_rate This controls injection rate of arbitrary faults.
399+
400+
inject_type This controls injection type of arbitrary faults.
401+
402+
dirty_segments This shows # of dirty segments.
403+
404+
lifetime_write_kbytes This shows # of data written to the disk.
405+
406+
features This shows current features enabled on F2FS.
407+
408+
current_reserved_blocks This shows # of blocks currently reserved.
409+
410+
unusable If checkpoint=disable, this shows the number of
411+
blocks that are unusable.
412+
If checkpoint=enable it shows the number of blocks
413+
that would be unusable if checkpoint=disable were
414+
to be set.
327415

328416
================================================================================
329417
USAGE
@@ -656,3 +744,28 @@ algorithm.
656744
In order to identify whether the data in the victim segment are valid or not,
657745
F2FS manages a bitmap. Each bit represents the validity of a block, and the
658746
bitmap is composed of a bit stream covering whole blocks in main area.
747+
748+
Fallocate(2) Policy
749+
-------------------
750+
751+
The default policy follows the below posix rule.
752+
753+
Allocating disk space
754+
The default operation (i.e., mode is zero) of fallocate() allocates
755+
the disk space within the range specified by offset and len. The
756+
file size (as reported by stat(2)) will be changed if offset+len is
757+
greater than the file size. Any subregion within the range specified
758+
by offset and len that did not contain data before the call will be
759+
initialized to zero. This default behavior closely resembles the
760+
behavior of the posix_fallocate(3) library function, and is intended
761+
as a method of optimally implementing that function.
762+
763+
However, once F2FS receives ioctl(fd, F2FS_IOC_SET_PIN_FILE) in prior to
764+
fallocate(fd, DEFAULT_MODE), it allocates on-disk blocks addressess having
765+
zero or random data, which is useful to the below scenario where:
766+
1. create(fd)
767+
2. ioctl(fd, F2FS_IOC_SET_PIN_FILE)
768+
3. fallocate(fd, 0, 0, size)
769+
4. address = fibmap(fd, offset)
770+
5. open(blkdev)
771+
6. write(blkdev, address)

Makefile

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
VERSION = 4
22
PATCHLEVEL = 9
3-
SUBLEVEL = 186
3+
SUBLEVEL = 187
44
EXTRAVERSION =
55
NAME = Roaring Lionus
66

@@ -540,6 +540,7 @@ KBUILD_CFLAGS += $(call cc-disable-warning, tautological-compare)
540540
KBUILD_CFLAGS += $(call cc-option, -mno-global-merge,)
541541
KBUILD_CFLAGS += $(call cc-option, -fcatch-undefined-behavior)
542542
CLANG_FLAGS += -no-integrated-as
543+
CLANG_FLAGS += -Werror=unknown-warning-option
543544
KBUILD_CFLAGS += $(CLANG_FLAGS)
544545
KBUILD_AFLAGS += $(CLANG_FLAGS)
545546
else

arch/arm64/boot/dts/marvell/armada-37xx.dtsi

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@
9696

9797
uart0: serial@12000 {
9898
compatible = "marvell,armada-3700-uart";
99-
reg = <0x12000 0x400>;
99+
reg = <0x12000 0x200>;
100100
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
101101
status = "disabled";
102102
};

arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi

+2-1
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,8 @@
306306
regulator-max-microvolt = <1320000>;
307307
enable-gpios = <&pmic 6 GPIO_ACTIVE_HIGH>;
308308
regulator-ramp-delay = <80>;
309-
regulator-enable-ramp-delay = <1000>;
309+
regulator-enable-ramp-delay = <2000>;
310+
regulator-settling-time-us = <160>;
310311
};
311312
};
312313
};

arch/arm64/boot/dts/nvidia/tegra210.dtsi

+1-1
Original file line numberDiff line numberDiff line change
@@ -1020,7 +1020,7 @@
10201020
compatible = "nvidia,tegra210-agic";
10211021
#interrupt-cells = <3>;
10221022
interrupt-controller;
1023-
reg = <0x702f9000 0x2000>,
1023+
reg = <0x702f9000 0x1000>,
10241024
<0x702fa000 0x2000>;
10251025
interrupts = <GIC_SPI 102 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
10261026
clocks = <&tegra_car TEGRA210_CLK_APE>;

arch/arm64/crypto/sha1-ce-glue.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ static int sha1_ce_finup(struct shash_desc *desc, const u8 *data,
5858
unsigned int len, u8 *out)
5959
{
6060
struct sha1_ce_state *sctx = shash_desc_ctx(desc);
61-
bool finalize = !sctx->sst.count && !(len % SHA1_BLOCK_SIZE);
61+
bool finalize = !sctx->sst.count && !(len % SHA1_BLOCK_SIZE) && len;
6262

6363
/*
6464
* Allow the asm code to perform the finalization if there is no

arch/arm64/crypto/sha2-ce-glue.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ static int sha256_ce_finup(struct shash_desc *desc, const u8 *data,
6060
unsigned int len, u8 *out)
6161
{
6262
struct sha256_ce_state *sctx = shash_desc_ctx(desc);
63-
bool finalize = !sctx->sst.count && !(len % SHA256_BLOCK_SIZE);
63+
bool finalize = !sctx->sst.count && !(len % SHA256_BLOCK_SIZE) && len;
6464

6565
/*
6666
* Allow the asm code to perform the finalization if there is no

arch/arm64/include/asm/compat.h

+1
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,7 @@ static inline compat_uptr_t ptr_to_compat(void __user *uptr)
234234
}
235235

236236
#define compat_user_stack_pointer() (user_stack_pointer(task_pt_regs(current)))
237+
#define COMPAT_MINSIGSTKSZ 2048
237238

238239
static inline void __user *arch_compat_alloc_user_space(long len)
239240
{

arch/arm64/kernel/acpi.c

+7-3
Original file line numberDiff line numberDiff line change
@@ -157,10 +157,14 @@ static int __init acpi_fadt_sanity_check(void)
157157
*/
158158
if (table->revision < 5 ||
159159
(table->revision == 5 && fadt->minor_revision < 1)) {
160-
pr_err("Unsupported FADT revision %d.%d, should be 5.1+\n",
160+
pr_err(FW_BUG "Unsupported FADT revision %d.%d, should be 5.1+\n",
161161
table->revision, fadt->minor_revision);
162-
ret = -EINVAL;
163-
goto out;
162+
163+
if (!fadt->arm_boot_flags) {
164+
ret = -EINVAL;
165+
goto out;
166+
}
167+
pr_err("FADT has ARM boot flags set, assuming 5.1\n");
164168
}
165169

166170
if (!(fadt->flags & ACPI_FADT_HW_REDUCED)) {

arch/arm64/kernel/image.h

+5-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,11 @@
7373

7474
#ifdef CONFIG_EFI
7575

76-
__efistub_stext_offset = stext - _text;
76+
/*
77+
* Use ABSOLUTE() to avoid ld.lld treating this as a relative symbol:
78+
* https://github.com/ClangBuiltLinux/linux/issues/561
79+
*/
80+
__efistub_stext_offset = ABSOLUTE(stext - _text);
7781

7882
/*
7983
* Prevent the symbol aliases below from being emitted into the kallsyms

arch/mips/boot/compressed/Makefile

+2
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ OBJCOPYFLAGS_piggy.o := --add-section=.image=$(obj)/vmlinux.bin.z \
7575
$(obj)/piggy.o: $(obj)/dummy.o $(obj)/vmlinux.bin.z FORCE
7676
$(call if_changed,objcopy)
7777

78+
HOSTCFLAGS_calc_vmlinuz_load_addr.o += $(LINUXINCLUDE)
79+
7880
# Calculate the load address of the compressed kernel image
7981
hostprogs-y := calc_vmlinuz_load_addr
8082

arch/mips/boot/compressed/calc_vmlinuz_load_addr.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#include <stdint.h>
1414
#include <stdio.h>
1515
#include <stdlib.h>
16-
#include "../../../../include/linux/sizes.h"
16+
#include <linux/sizes.h>
1717

1818
int main(int argc, char *argv[])
1919
{

arch/mips/include/asm/mach-ath79/ar933x_uart.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
#define AR933X_UART_CS_PARITY_S 0
2828
#define AR933X_UART_CS_PARITY_M 0x3
2929
#define AR933X_UART_CS_PARITY_NONE 0
30-
#define AR933X_UART_CS_PARITY_ODD 1
31-
#define AR933X_UART_CS_PARITY_EVEN 2
30+
#define AR933X_UART_CS_PARITY_ODD 2
31+
#define AR933X_UART_CS_PARITY_EVEN 3
3232
#define AR933X_UART_CS_IF_MODE_S 2
3333
#define AR933X_UART_CS_IF_MODE_M 0x3
3434
#define AR933X_UART_CS_IF_MODE_NONE 0

0 commit comments

Comments
 (0)