Skip to content

Commit a2e5790

Browse files
committed
Merge branch 'akpm' (patches from Andrew)
Merge misc updates from Andrew Morton: - kasan updates - procfs - lib/bitmap updates - other lib/ updates - checkpatch tweaks - rapidio - ubsan - pipe fixes and cleanups - lots of other misc bits * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (114 commits) Documentation/sysctl/user.txt: fix typo MAINTAINERS: update ARM/QUALCOMM SUPPORT patterns MAINTAINERS: update various PALM patterns MAINTAINERS: update "ARM/OXNAS platform support" patterns MAINTAINERS: update Cortina/Gemini patterns MAINTAINERS: remove ARM/CLKDEV SUPPORT file pattern MAINTAINERS: remove ANDROID ION pattern mm: docs: add blank lines to silence sphinx "Unexpected indentation" errors mm: docs: fix parameter names mismatch mm: docs: fixup punctuation pipe: read buffer limits atomically pipe: simplify round_pipe_size() pipe: reject F_SETPIPE_SZ with size over UINT_MAX pipe: fix off-by-one error when checking buffer limits pipe: actually allow root to exceed the pipe buffer limits pipe, sysctl: remove pipe_proc_fn() pipe, sysctl: drop 'min' parameter from pipe-max-size converter kasan: rework Kconfig settings crash_dump: is_kdump_kernel can be boolean kernel/mutex: mutex_is_locked can be boolean ...
2 parents ab2d92a + 60c3e02 commit a2e5790

File tree

134 files changed

+1422
-1075
lines changed

Some content is hidden

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

134 files changed

+1422
-1075
lines changed

Documentation/sysctl/user.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Documentation for /proc/sys/user/* kernel version 4.9.0
33

44
==============================================================
55

6-
This file contains the documetation for the sysctl files in
6+
This file contains the documentation for the sysctl files in
77
/proc/sys/user.
88

99
The files in this directory can be used to override the default

MAINTAINERS

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -903,7 +903,6 @@ L: devel@driverdev.osuosl.org
903903
S: Supported
904904
F: drivers/staging/android/ion
905905
F: drivers/staging/android/uapi/ion.h
906-
F: drivers/staging/android/uapi/ion_test.h
907906

908907
AOA (Apple Onboard Audio) ALSA DRIVER
909908
M: Johannes Berg <johannes@sipsolutions.net>
@@ -1308,7 +1307,6 @@ M: Russell King <linux@armlinux.org.uk>
13081307
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
13091308
S: Maintained
13101309
T: git git://git.armlinux.org.uk/~rmk/linux-arm.git clkdev
1311-
F: arch/arm/include/asm/clkdev.h
13121310
F: drivers/clk/clkdev.c
13131311

13141312
ARM/COMPULAB CM-X270/EM-X270 and CM-X300 MACHINE SUPPORT
@@ -1360,7 +1358,7 @@ F: Documentation/devicetree/bindings/pinctrl/cortina,gemini-pinctrl.txt
13601358
F: Documentation/devicetree/bindings/net/cortina,gemini-ethernet.txt
13611359
F: Documentation/devicetree/bindings/rtc/faraday,ftrtc010.txt
13621360
F: arch/arm/mach-gemini/
1363-
F: drivers/net/ethernet/cortina/gemini/*
1361+
F: drivers/net/ethernet/cortina/
13641362
F: drivers/pinctrl/pinctrl-gemini.c
13651363
F: drivers/rtc/rtc-ftrtc010.c
13661364

@@ -1737,18 +1735,15 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
17371735
L: linux-oxnas@lists.tuxfamily.org (moderated for non-subscribers)
17381736
S: Maintained
17391737
F: arch/arm/mach-oxnas/
1740-
F: arch/arm/boot/dts/ox8*.dtsi
1741-
F: arch/arm/boot/dts/wd-mbwe.dts
1742-
F: arch/arm/boot/dts/cloudengines-pogoplug-series-3.dts
1738+
F: arch/arm/boot/dts/ox8*.dts*
17431739
N: oxnas
17441740

17451741
ARM/PALM TREO SUPPORT
17461742
M: Tomas Cech <sleep_walker@suse.com>
17471743
L: linux-arm-kernel@lists.infradead.org
17481744
W: http://hackndev.com
17491745
S: Maintained
1750-
F: arch/arm/mach-pxa/include/mach/palmtreo.h
1751-
F: arch/arm/mach-pxa/palmtreo.c
1746+
F: arch/arm/mach-pxa/palmtreo.*
17521747

17531748
ARM/PALMTX,PALMT5,PALMLD,PALMTE2,PALMTC SUPPORT
17541749
M: Marek Vasut <marek.vasut@gmail.com>
@@ -1757,12 +1752,10 @@ W: http://hackndev.com
17571752
S: Maintained
17581753
F: arch/arm/mach-pxa/include/mach/palmtx.h
17591754
F: arch/arm/mach-pxa/palmtx.c
1760-
F: arch/arm/mach-pxa/include/mach/palmt5.h
1761-
F: arch/arm/mach-pxa/palmt5.c
1755+
F: arch/arm/mach-pxa/palmt5.*
17621756
F: arch/arm/mach-pxa/include/mach/palmld.h
17631757
F: arch/arm/mach-pxa/palmld.c
1764-
F: arch/arm/mach-pxa/include/mach/palmte2.h
1765-
F: arch/arm/mach-pxa/palmte2.c
1758+
F: arch/arm/mach-pxa/palmte2.*
17661759
F: arch/arm/mach-pxa/include/mach/palmtc.h
17671760
F: arch/arm/mach-pxa/palmtc.c
17681761

@@ -1771,8 +1764,7 @@ M: Sergey Lapin <slapin@ossfans.org>
17711764
L: linux-arm-kernel@lists.infradead.org
17721765
W: http://hackndev.com
17731766
S: Maintained
1774-
F: arch/arm/mach-pxa/include/mach/palmz72.h
1775-
F: arch/arm/mach-pxa/palmz72.c
1767+
F: arch/arm/mach-pxa/palmz72.*
17761768

17771769
ARM/PLEB SUPPORT
17781770
M: Peter Chubb <pleb@gelato.unsw.edu.au>
@@ -1801,7 +1793,6 @@ F: drivers/clk/qcom/
18011793
F: drivers/dma/qcom/
18021794
F: drivers/soc/qcom/
18031795
F: drivers/spi/spi-qup.c
1804-
F: drivers/tty/serial/msm_serial.h
18051796
F: drivers/tty/serial/msm_serial.c
18061797
F: drivers/*/pm8???-*
18071798
F: drivers/mfd/ssbi.c
@@ -3567,7 +3558,7 @@ F: drivers/media/platform/coda/
35673558

35683559
COMMON CLK FRAMEWORK
35693560
M: Michael Turquette <mturquette@baylibre.com>
3570-
M: Stephen Boyd <sboyd@codeaurora.org>
3561+
M: Stephen Boyd <sboyd@kernel.org>
35713562
L: linux-clk@vger.kernel.org
35723563
Q: http://patchwork.kernel.org/project/linux-clk/list/
35733564
T: git git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git
@@ -10284,7 +10275,7 @@ F: include/uapi/linux/openvswitch.h
1028410275
OPERATING PERFORMANCE POINTS (OPP)
1028510276
M: Viresh Kumar <vireshk@kernel.org>
1028610277
M: Nishanth Menon <nm@ti.com>
10287-
M: Stephen Boyd <sboyd@codeaurora.org>
10278+
M: Stephen Boyd <sboyd@kernel.org>
1028810279
L: linux-pm@vger.kernel.org
1028910280
S: Maintained
1029010281
T: git git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git
@@ -13020,7 +13011,7 @@ F: Documentation/networking/spider_net.txt
1302013011
F: drivers/net/ethernet/toshiba/spider_net*
1302113012

1302213013
SPMI SUBSYSTEM
13023-
R: Stephen Boyd <sboyd@codeaurora.org>
13014+
R: Stephen Boyd <sboyd@kernel.org>
1302413015
L: linux-arm-msm@vger.kernel.org
1302513016
F: Documentation/devicetree/bindings/spmi/
1302613017
F: drivers/spmi/
@@ -13905,7 +13896,7 @@ F: include/linux/usb/tilegx.h
1390513896
TIMEKEEPING, CLOCKSOURCE CORE, NTP, ALARMTIMER
1390613897
M: John Stultz <john.stultz@linaro.org>
1390713898
M: Thomas Gleixner <tglx@linutronix.de>
13908-
R: Stephen Boyd <sboyd@codeaurora.org>
13899+
R: Stephen Boyd <sboyd@kernel.org>
1390913900
L: linux-kernel@vger.kernel.org
1391013901
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
1391113902
S: Supported

Makefile

Lines changed: 47 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,8 @@ export MAKE LEX YACC AWK GENKSYMS INSTALLKERNEL PERL PYTHON UTS_MACHINE
434434
export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
435435

436436
export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS
437-
export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE CFLAGS_KASAN CFLAGS_UBSAN
437+
export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
438+
export CFLAGS_KASAN CFLAGS_KASAN_NOSANITIZE CFLAGS_UBSAN
438439
export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
439440
export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE
440441
export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
@@ -679,6 +680,10 @@ endif
679680
# This selects the stack protector compiler flag. Testing it is delayed
680681
# until after .config has been reprocessed, in the prepare-compiler-check
681682
# target.
683+
ifdef CONFIG_CC_STACKPROTECTOR_AUTO
684+
stackp-flag := $(call cc-option,-fstack-protector-strong,$(call cc-option,-fstack-protector))
685+
stackp-name := AUTO
686+
else
682687
ifdef CONFIG_CC_STACKPROTECTOR_REGULAR
683688
stackp-flag := -fstack-protector
684689
stackp-name := REGULAR
@@ -687,16 +692,40 @@ ifdef CONFIG_CC_STACKPROTECTOR_STRONG
687692
stackp-flag := -fstack-protector-strong
688693
stackp-name := STRONG
689694
else
695+
# If either there is no stack protector for this architecture or
696+
# CONFIG_CC_STACKPROTECTOR_NONE is selected, we're done, and $(stackp-name)
697+
# is empty, skipping all remaining stack protector tests.
698+
#
690699
# Force off for distro compilers that enable stack protector by default.
691-
stackp-flag := $(call cc-option, -fno-stack-protector)
700+
KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
701+
endif
692702
endif
693703
endif
694704
# Find arch-specific stack protector compiler sanity-checking script.
695-
ifdef CONFIG_CC_STACKPROTECTOR
705+
ifdef stackp-name
706+
ifneq ($(stackp-flag),)
696707
stackp-path := $(srctree)/scripts/gcc-$(SRCARCH)_$(BITS)-has-stack-protector.sh
697708
stackp-check := $(wildcard $(stackp-path))
709+
# If the wildcard test matches a test script, run it to check functionality.
710+
ifdef stackp-check
711+
ifneq ($(shell $(CONFIG_SHELL) $(stackp-check) $(CC) $(KBUILD_CPPFLAGS) $(biarch)),y)
712+
stackp-broken := y
713+
endif
714+
endif
715+
ifndef stackp-broken
716+
# If the stack protector is functional, enable code that depends on it.
717+
KBUILD_CPPFLAGS += -DCONFIG_CC_STACKPROTECTOR
718+
# Either we've already detected the flag (for AUTO) or we'll fail the
719+
# build in the prepare-compiler-check rule (for specific flag).
720+
KBUILD_CFLAGS += $(stackp-flag)
721+
else
722+
# We have to make sure stack protector is unconditionally disabled if
723+
# the compiler is broken (in case we're going to continue the build in
724+
# AUTO mode).
725+
KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
726+
endif
727+
endif
698728
endif
699-
KBUILD_CFLAGS += $(stackp-flag)
700729

701730
ifeq ($(cc-name),clang)
702731
KBUILD_CPPFLAGS += $(call cc-option,-Qunused-arguments,)
@@ -1091,14 +1120,25 @@ PHONY += prepare-compiler-check
10911120
prepare-compiler-check: FORCE
10921121
# Make sure compiler supports requested stack protector flag.
10931122
ifdef stackp-name
1123+
# Warn about CONFIG_CC_STACKPROTECTOR_AUTO having found no option.
1124+
ifeq ($(stackp-flag),)
1125+
@echo CONFIG_CC_STACKPROTECTOR_$(stackp-name): \
1126+
Compiler does not support any known stack-protector >&2
1127+
else
1128+
# Fail if specifically requested stack protector is missing.
10941129
ifeq ($(call cc-option, $(stackp-flag)),)
10951130
@echo Cannot use CONFIG_CC_STACKPROTECTOR_$(stackp-name): \
10961131
$(stackp-flag) not supported by compiler >&2 && exit 1
10971132
endif
1133+
endif
10981134
endif
1099-
# Make sure compiler does not have buggy stack-protector support.
1100-
ifdef stackp-check
1101-
ifneq ($(shell $(CONFIG_SHELL) $(stackp-check) $(CC) $(KBUILD_CPPFLAGS) $(biarch)),y)
1135+
# Make sure compiler does not have buggy stack-protector support. If a
1136+
# specific stack-protector was requested, fail the build, otherwise warn.
1137+
ifdef stackp-broken
1138+
ifeq ($(stackp-name),AUTO)
1139+
@echo CONFIG_CC_STACKPROTECTOR_$(stackp-name): \
1140+
$(stackp-flag) available but compiler is broken: disabling >&2
1141+
else
11021142
@echo Cannot use CONFIG_CC_STACKPROTECTOR_$(stackp-name): \
11031143
$(stackp-flag) available but compiler is broken >&2 && exit 1
11041144
endif

arch/Kconfig

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -538,16 +538,10 @@ config HAVE_CC_STACKPROTECTOR
538538
- its compiler supports the -fstack-protector option
539539
- it has implemented a stack canary (e.g. __stack_chk_guard)
540540

541-
config CC_STACKPROTECTOR
542-
def_bool n
543-
help
544-
Set when a stack-protector mode is enabled, so that the build
545-
can enable kernel-side support for the GCC feature.
546-
547541
choice
548542
prompt "Stack Protector buffer overflow detection"
549543
depends on HAVE_CC_STACKPROTECTOR
550-
default CC_STACKPROTECTOR_NONE
544+
default CC_STACKPROTECTOR_AUTO
551545
help
552546
This option turns on the "stack-protector" GCC feature. This
553547
feature puts, at the beginning of functions, a canary value on
@@ -564,7 +558,6 @@ config CC_STACKPROTECTOR_NONE
564558

565559
config CC_STACKPROTECTOR_REGULAR
566560
bool "Regular"
567-
select CC_STACKPROTECTOR
568561
help
569562
Functions will have the stack-protector canary logic added if they
570563
have an 8-byte or larger character array on the stack.
@@ -578,7 +571,6 @@ config CC_STACKPROTECTOR_REGULAR
578571

579572
config CC_STACKPROTECTOR_STRONG
580573
bool "Strong"
581-
select CC_STACKPROTECTOR
582574
help
583575
Functions will have the stack-protector canary logic added in any
584576
of the following conditions:
@@ -596,6 +588,12 @@ config CC_STACKPROTECTOR_STRONG
596588
about 20% of all kernel functions, which increases the kernel code
597589
size by about 2%.
598590

591+
config CC_STACKPROTECTOR_AUTO
592+
bool "Automatic"
593+
help
594+
If the compiler supports it, the best available stack-protector
595+
option will be chosen.
596+
599597
endchoice
600598

601599
config THIN_ARCHIVES

arch/arm/include/asm/bitops.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,7 @@ static inline int find_next_bit_le(const void *p, int size, int offset)
338338

339339
#endif
340340

341+
#include <asm-generic/bitops/find.h>
341342
#include <asm-generic/bitops/le.h>
342343

343344
/*

arch/arm64/include/asm/kasan.h

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,25 @@
1212

1313
/*
1414
* KASAN_SHADOW_START: beginning of the kernel virtual addresses.
15-
* KASAN_SHADOW_END: KASAN_SHADOW_START + 1/8 of kernel virtual addresses.
15+
* KASAN_SHADOW_END: KASAN_SHADOW_START + 1/N of kernel virtual addresses,
16+
* where N = (1 << KASAN_SHADOW_SCALE_SHIFT).
1617
*/
1718
#define KASAN_SHADOW_START (VA_START)
1819
#define KASAN_SHADOW_END (KASAN_SHADOW_START + KASAN_SHADOW_SIZE)
1920

2021
/*
2122
* This value is used to map an address to the corresponding shadow
2223
* address by the following formula:
23-
* shadow_addr = (address >> 3) + KASAN_SHADOW_OFFSET;
24+
* shadow_addr = (address >> KASAN_SHADOW_SCALE_SHIFT) + KASAN_SHADOW_OFFSET
2425
*
25-
* (1 << 61) shadow addresses - [KASAN_SHADOW_OFFSET,KASAN_SHADOW_END]
26-
* cover all 64-bits of virtual addresses. So KASAN_SHADOW_OFFSET
27-
* should satisfy the following equation:
28-
* KASAN_SHADOW_OFFSET = KASAN_SHADOW_END - (1ULL << 61)
26+
* (1 << (64 - KASAN_SHADOW_SCALE_SHIFT)) shadow addresses that lie in range
27+
* [KASAN_SHADOW_OFFSET, KASAN_SHADOW_END) cover all 64-bits of virtual
28+
* addresses. So KASAN_SHADOW_OFFSET should satisfy the following equation:
29+
* KASAN_SHADOW_OFFSET = KASAN_SHADOW_END -
30+
* (1ULL << (64 - KASAN_SHADOW_SCALE_SHIFT))
2931
*/
30-
#define KASAN_SHADOW_OFFSET (KASAN_SHADOW_END - (1ULL << (64 - 3)))
32+
#define KASAN_SHADOW_OFFSET (KASAN_SHADOW_END - (1ULL << \
33+
(64 - KASAN_SHADOW_SCALE_SHIFT)))
3134

3235
void kasan_init(void);
3336
void kasan_copy_shadow(pgd_t *pgdir);

arch/arm64/include/asm/memory.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@
8585
* stack size when KASAN is in use.
8686
*/
8787
#ifdef CONFIG_KASAN
88-
#define KASAN_SHADOW_SIZE (UL(1) << (VA_BITS - 3))
88+
#define KASAN_SHADOW_SCALE_SHIFT 3
89+
#define KASAN_SHADOW_SIZE (UL(1) << (VA_BITS - KASAN_SHADOW_SCALE_SHIFT))
8990
#define KASAN_THREAD_SHIFT 1
9091
#else
9192
#define KASAN_SHADOW_SIZE (0)

arch/arm64/kernel/perf_event.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -925,9 +925,8 @@ static void __armv8pmu_probe_pmu(void *info)
925925
pmceid[0] = read_sysreg(pmceid0_el0);
926926
pmceid[1] = read_sysreg(pmceid1_el0);
927927

928-
bitmap_from_u32array(cpu_pmu->pmceid_bitmap,
929-
ARMV8_PMUV3_MAX_COMMON_EVENTS, pmceid,
930-
ARRAY_SIZE(pmceid));
928+
bitmap_from_arr32(cpu_pmu->pmceid_bitmap,
929+
pmceid, ARMV8_PMUV3_MAX_COMMON_EVENTS);
931930
}
932931

933932
static int armv8pmu_probe_pmu(struct arm_pmu *cpu_pmu)

arch/arm64/mm/kasan_init.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,8 @@ static void __init kasan_pgd_populate(unsigned long addr, unsigned long end,
135135
/* The early shadow maps everything to a single page of zeroes */
136136
asmlinkage void __init kasan_early_init(void)
137137
{
138-
BUILD_BUG_ON(KASAN_SHADOW_OFFSET != KASAN_SHADOW_END - (1UL << 61));
138+
BUILD_BUG_ON(KASAN_SHADOW_OFFSET !=
139+
KASAN_SHADOW_END - (1UL << (64 - KASAN_SHADOW_SCALE_SHIFT)));
139140
BUILD_BUG_ON(!IS_ALIGNED(KASAN_SHADOW_START, PGDIR_SIZE));
140141
BUILD_BUG_ON(!IS_ALIGNED(KASAN_SHADOW_END, PGDIR_SIZE));
141142
kasan_pgd_populate(KASAN_SHADOW_START, KASAN_SHADOW_END, NUMA_NO_NODE,

arch/ia64/kernel/perfmon.c

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2610,17 +2610,10 @@ pfm_get_task(pfm_context_t *ctx, pid_t pid, struct task_struct **task)
26102610
if (pid < 2) return -EPERM;
26112611

26122612
if (pid != task_pid_vnr(current)) {
2613-
2614-
read_lock(&tasklist_lock);
2615-
2616-
p = find_task_by_vpid(pid);
2617-
26182613
/* make sure task cannot go away while we operate on it */
2619-
if (p) get_task_struct(p);
2620-
2621-
read_unlock(&tasklist_lock);
2622-
2623-
if (p == NULL) return -ESRCH;
2614+
p = find_get_task_by_vpid(pid);
2615+
if (!p)
2616+
return -ESRCH;
26242617
}
26252618

26262619
ret = pfm_task_incompatible(ctx, p);

arch/m68k/include/asm/bitops.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,6 @@ static inline int bfchg_mem_test_and_change_bit(int nr,
311311
* functions.
312312
*/
313313
#if defined(CONFIG_CPU_HAS_NO_BITFIELDS)
314-
#include <asm-generic/bitops/find.h>
315314
#include <asm-generic/bitops/ffz.h>
316315
#else
317316

@@ -441,6 +440,8 @@ static inline unsigned long ffz(unsigned long word)
441440

442441
#endif
443442

443+
#include <asm-generic/bitops/find.h>
444+
444445
#ifdef __KERNEL__
445446

446447
#if defined(CONFIG_CPU_HAS_NO_BITFIELDS)

arch/score/kernel/setup.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,9 +124,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
124124
{
125125
unsigned long n = (unsigned long) v - 1;
126126

127-
seq_printf(m, "processor\t\t: %ld\n", n);
128-
seq_printf(m, "\n");
129-
127+
seq_printf(m, "processor\t\t: %ld\n\n", n);
130128
return 0;
131129
}
132130

arch/unicore32/include/asm/bitops.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,6 @@ static inline int fls(int x)
4444
#define find_first_bit find_first_bit
4545
#define find_first_zero_bit find_first_zero_bit
4646

47+
#include <asm-generic/bitops/find.h>
48+
4749
#endif /* __UNICORE_BITOPS_H__ */

0 commit comments

Comments
 (0)