* Re: linux-next: manual merge of the audit tree with the security tree
From: Paul Moore @ 2016-06-24 16:20 UTC (permalink / raw)
To: Heiko Carstens
Cc: Stephen Rothwell, James Morris, linux-next, linux-kernel,
Kees Cook, Martin Schwidefsky
In-Reply-To: <20160624152046.GB3940@osiris>
On Fri, Jun 24, 2016 at 11:20 AM, Heiko Carstens
<heiko.carstens@de.ibm.com> wrote:
> On Fri, Jun 24, 2016 at 11:05:33AM -0400, Paul Moore wrote:
>> My immediate concern is making sure that we are at least recording the
>> arguments correctly in the audit record. My simple tests look okay,
>> but as I said before, I'm far from a s390 expert and your initial
>> comment made it sound like there were still problems with how we were
>> recording the arguments. Can you either confirm that we are logging
>> the arguments correctly, or provide a suggestion on how to get the
>> right values? That would be most helpful at this point.
>
> The arguments are correct, except that they are missing sign and zero
> extension to full 64 bit. However I would expect that the audit subsystem
> will only work on the lower 32 bits anyway for compat tasks. So that
> shouldn't be a problem.
Yes, that should be fine. We were seeing problems with s390 syscalls
on s390x showing garbage in the high 32-bits, that's the problem I'm
trying to solve.
For example, here is a snippet of an audit record generated from
calling the s390 socketcall() on a s390x system:
type=SYSCALL msg=audit(1458835510.860:652): arch=16 syscall=102
success=yes exit=21
a0=ffffffff0000000b
a1=3ff7f82e3c0
a2=3ff00000000
a3=a72028
> I'm a bit concerned about user space pointers passed as argument for compat
> tasks. These need to mask out 33 instead of 32 bits. This is of course
> system call specific and I don't know enough about audit to tell if it
> could be a problem.
>From a practical point of view I'm not sure how much of an impact that
will have as it is unlikely anyone will be doing anything useful with
those pointer values; for example, you aren't going to be inspecting a
process' memory space using just the audit log. Also, at the very
least we aren't removing any information, just adding in an extra bit
of potential junk. Anyone who does care about user space pointers in
the audit log, should have all the information the need to drop the
high bit.
Does that sound reasonable?
--
paul moore
www.paul-moore.com
^ permalink raw reply
* Re: linux-next: manual merge of the audit tree with the security tree
From: Heiko Carstens @ 2016-06-24 15:20 UTC (permalink / raw)
To: Paul Moore
Cc: Stephen Rothwell, James Morris, linux-next, linux-kernel,
Kees Cook, Martin Schwidefsky
In-Reply-To: <CAHC9VhS+zV4eoeNm8BEyr+ANOrZhtdEab2G0A=OxK4MhG_gg4Q@mail.gmail.com>
On Fri, Jun 24, 2016 at 11:05:33AM -0400, Paul Moore wrote:
> >> >> + audit_syscall_entry(regs->gprs[2], regs->orig_gpr2 & mask,
> >> >> + regs->gprs[3] & mask, regs->gprs[4] & mask,
> >> >> + regs->gprs[5] & mask);
> >> >
> >> > With these masks it is more correct, however these are still not the values
> >> > used by the system call itself. This would be still incorrect for
> >> > e.g. compat pointers (31 bit on s390).
> >> >
> >> > So it seems like audit_syscall_entry should be called after all sign, zero
> >> > and masking has been done?
> >>
> >> For someone not familiar with s390, compat or not, where would you
> >> suggest we place the audit_syscall_entry() call?
> >
> > I was thinking of a more generic solution for all architectures: for
> > example setting a new TIF flag within do_syscall_trace_enter which
> > indicates that audit_syscall_entry needs be called and then add a
> > conditional call to the SYSCALL_DEFINE and COMPAT_SYSCALL_DEFINE macros.
> >
> > That way audit_syscall_entry would always receive already properly sign and
> > zero extended system call parameters. At the downside this would increase
> > the kernel text size by probably ~370 conditional branches and add two more
> > instructions on the system call hot path.
> >
> > But that's something that could be done independently from your patch,
> > which already improves the current situation.
>
> My immediate concern is making sure that we are at least recording the
> arguments correctly in the audit record. My simple tests look okay,
> but as I said before, I'm far from a s390 expert and your initial
> comment made it sound like there were still problems with how we were
> recording the arguments. Can you either confirm that we are logging
> the arguments correctly, or provide a suggestion on how to get the
> right values? That would be most helpful at this point.
The arguments are correct, except that they are missing sign and zero
extension to full 64 bit. However I would expect that the audit subsystem
will only work on the lower 32 bits anyway for compat tasks. So that
shouldn't be a problem.
I'm a bit concerned about user space pointers passed as argument for compat
tasks. These need to mask out 33 instead of 32 bits. This is of course
system call specific and I don't know enough about audit to tell if it
could be a problem.
^ permalink raw reply
* Re: linux-next: manual merge of the audit tree with the security tree
From: Paul Moore @ 2016-06-24 15:05 UTC (permalink / raw)
To: Heiko Carstens
Cc: Stephen Rothwell, James Morris, linux-next, linux-kernel,
Kees Cook, Martin Schwidefsky
In-Reply-To: <20160624054131.GA3940@osiris>
On Fri, Jun 24, 2016 at 1:41 AM, Heiko Carstens
<heiko.carstens@de.ibm.com> wrote:
> On Thu, Jun 23, 2016 at 12:14:11PM -0400, Paul Moore wrote:
>> On Thu, Jun 23, 2016 at 2:01 AM, Heiko Carstens
>> <heiko.carstens@de.ibm.com> wrote:
>> > On Thu, Jun 23, 2016 at 02:18:14PM +1000, Stephen Rothwell wrote:
>> >> Hi Paul,
>> >>
>> >> Today's linux-next merge of the audit tree got a conflict in:
>> >>
>> >> arch/s390/kernel/ptrace.c
>> >>
>> >> between commit:
>> >>
>> >> 0208b9445bc0 ("s390/ptrace: run seccomp after ptrace")
>> >>
>> >> from the security tree and commit:
>> >>
>> >> bba696c2c083 ("s390: ensure that syscall arguments are properly masked on s390")
>> >>
>> >> from the audit tree.
>> >
>> > Hmm, I haven't seen that commit, therefore I'm just commenting on the
>> > result ;)
>>
>> It was sent to the linux-audit and linux-s390 mailing lists yesterday
>> with a follow up comment that I was going to add it to the audit#next
>> branch and if anyone had any objections to let me know.
>>
>> * https://www.redhat.com/archives/linux-audit/2016-June/msg00051.html
>
> Yes, I missed that, sorry!
No problem, my inbox eats a fair amount of mail too ;)
>> >> + audit_syscall_entry(regs->gprs[2], regs->orig_gpr2 & mask,
>> >> + regs->gprs[3] & mask, regs->gprs[4] & mask,
>> >> + regs->gprs[5] & mask);
>> >
>> > With these masks it is more correct, however these are still not the values
>> > used by the system call itself. This would be still incorrect for
>> > e.g. compat pointers (31 bit on s390).
>> >
>> > So it seems like audit_syscall_entry should be called after all sign, zero
>> > and masking has been done?
>>
>> For someone not familiar with s390, compat or not, where would you
>> suggest we place the audit_syscall_entry() call?
>
> I was thinking of a more generic solution for all architectures: for
> example setting a new TIF flag within do_syscall_trace_enter which
> indicates that audit_syscall_entry needs be called and then add a
> conditional call to the SYSCALL_DEFINE and COMPAT_SYSCALL_DEFINE macros.
>
> That way audit_syscall_entry would always receive already properly sign and
> zero extended system call parameters. At the downside this would increase
> the kernel text size by probably ~370 conditional branches and add two more
> instructions on the system call hot path.
>
> But that's something that could be done independently from your patch,
> which already improves the current situation.
My immediate concern is making sure that we are at least recording the
arguments correctly in the audit record. My simple tests look okay,
but as I said before, I'm far from a s390 expert and your initial
comment made it sound like there were still problems with how we were
recording the arguments. Can you either confirm that we are logging
the arguments correctly, or provide a suggestion on how to get the
right values? That would be most helpful at this point.
--
paul moore
www.paul-moore.com
^ permalink raw reply
* RE: linux-next: build failure after merge of the crypto tree
From: Benedetto, Salvatore @ 2016-06-24 13:36 UTC (permalink / raw)
To: Herbert Xu, Stephen Rothwell
Cc: linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
Benedetto, Salvatore
In-Reply-To: <20160624133329.GE21111@gondor.apana.org.au>
> -----Original Message-----
> From: Herbert Xu [mailto:herbert@gondor.apana.org.au]
> Sent: Friday, June 24, 2016 2:33 PM
> To: Stephen Rothwell <sfr@canb.auug.org.au>
> Cc: linux-next@vger.kernel.org; linux-kernel@vger.kernel.org; Benedetto,
> Salvatore <salvatore.benedetto@intel.com>
> Subject: Re: linux-next: build failure after merge of the crypto tree
>
> On Fri, Jun 24, 2016 at 04:20:22PM +1000, Stephen Rothwell wrote:
> > Hi Herbert,
> >
> > After merging the crypto tree, today's linux-next build (powerpc
> > allyesconfig) failed like this:
> >
> > net/built-in.o: In function `.ecdh_shared_secret':
> > (.text+0x4ad8d0): multiple definition of `.ecdh_shared_secret'
> > crypto/built-in.o:(.text+0x113f0): first defined here
> > net/built-in.o:(.opd+0x430e0): multiple definition of `ecdh_shared_secret'
> > crypto/built-in.o:(.opd+0x1d40): first defined here
> >
> > Caused by commit
> >
> > 3c4b23901a0c ("crypto: ecdh - Add ECDH software support")
> >
> > The other definition is in net/bluetooth/ecc.c
> >
> > I added the following patch for today (probably a better name could be
> > chosen):
>
> I think the intention is that net/bluetooth/ecc.c will be deleted in favour of
> the implementation in crypto. But for now I have applied your patch so we
> can progress. Thanks Stephen.
Thanks Stephen, Herbert.
I already submitted the patch to the Bluetooth subsystem that removes
the net/Bluetooth/ecc.c module
Apologies for the inconvenience.
Regards,
Salvatore
^ permalink raw reply
* Re: linux-next: build failure after merge of the crypto tree
From: Herbert Xu @ 2016-06-24 13:33 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: linux-next, linux-kernel, Salvatore Benedetto
In-Reply-To: <20160624162022.0f9c265a@canb.auug.org.au>
On Fri, Jun 24, 2016 at 04:20:22PM +1000, Stephen Rothwell wrote:
> Hi Herbert,
>
> After merging the crypto tree, today's linux-next build (powerpc
> allyesconfig) failed like this:
>
> net/built-in.o: In function `.ecdh_shared_secret':
> (.text+0x4ad8d0): multiple definition of `.ecdh_shared_secret'
> crypto/built-in.o:(.text+0x113f0): first defined here
> net/built-in.o:(.opd+0x430e0): multiple definition of `ecdh_shared_secret'
> crypto/built-in.o:(.opd+0x1d40): first defined here
>
> Caused by commit
>
> 3c4b23901a0c ("crypto: ecdh - Add ECDH software support")
>
> The other definition is in net/bluetooth/ecc.c
>
> I added the following patch for today (probably a better name could
> be chosen):
I think the intention is that net/bluetooth/ecc.c will be deleted
in favour of the implementation in crypto. But for now I have
applied your patch so we can progress. Thanks Stephen.
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply
* next-20160624 build: 2 failures 4 warnings (next-20160624)
From: Build bot for Mark Brown @ 2016-06-24 11:49 UTC (permalink / raw)
To: kernel-build-reports, linaro-kernel, linux-next
Tree/Branch: next-20160624
Git describe: next-20160624
Commit: 2cf991dfda Add linux-next specific files for 20160624
Build Time: 119 min 23 sec
Passed: 7 / 9 ( 77.78 %)
Failed: 2 / 9 ( 22.22 %)
Errors: 1
Warnings: 4
Section Mismatches: 0
Failed defconfigs:
arm64-allmodconfig
arm-allmodconfig
Errors:
arm-allmodconfig
../include/linux/compiler-gcc.h:248:38: error: impossible constraint in 'asm'
../include/linux/compiler-gcc.h:248:38: error: impossible constraint in 'asm'
../include/linux/compiler-gcc.h:248:38: error: impossible constraint in 'asm'
-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
3 warnings 0 mismatches : arm64-allmodconfig
68 warnings 0 mismatches : arm-allmodconfig
-------------------------------------------------------------------------------
Errors summary: 1
3 ../include/linux/compiler-gcc.h:248:38: error: impossible constraint in 'asm'
Warnings Summary: 4
66 ../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
2 ../net/rxrpc/peer_object.c:57:15: warning: 'p' may be used uninitialized in this function [-Wmaybe-uninitialized]
2 ../include/linux/dynamic_debug.h:134:3: warning: 'carrier_offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 ../include/linux/kernel.h:743:17: warning: comparison of distinct pointer types lacks a cast
===============================================================================
Detailed per-defconfig build reports below:
-------------------------------------------------------------------------------
arm64-allmodconfig : FAIL, 0 errors, 3 warnings, 0 section mismatches
Warnings:
../include/linux/kernel.h:743:17: warning: comparison of distinct pointer types lacks a cast
../include/linux/dynamic_debug.h:134:3: warning: 'carrier_offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
../net/rxrpc/peer_object.c:57:15: warning: 'p' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
arm-allmodconfig : FAIL, 3 errors, 68 warnings, 0 section mismatches
Errors:
../include/linux/compiler-gcc.h:248:38: error: impossible constraint in 'asm'
../include/linux/compiler-gcc.h:248:38: error: impossible constraint in 'asm'
../include/linux/compiler-gcc.h:248:38: error: impossible constraint in 'asm'
Warnings:
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../net/rxrpc/peer_object.c:57:15: warning: 'p' may be used uninitialized in this function [-Wmaybe-uninitialized]
../include/linux/dynamic_debug.h:134:3: warning: 'carrier_offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
arm64-allnoconfig
arm-multi_v5_defconfig
arm-multi_v7_defconfig
x86_64-defconfig
arm-allnoconfig
x86_64-allnoconfig
arm64-defconfig
close failed in file object destructor:
sys.excepthook is missing
lost sys.stderr
^ permalink raw reply
* Re: linux-next: build warning after merge of the pci tree
From: Johannes Thumshirn @ 2016-06-24 8:07 UTC (permalink / raw)
To: Bjorn Helgaas; +Cc: Stephen Rothwell, Bjorn Helgaas, linux-next, linux-kernel
In-Reply-To: <20160623164848.GE17987@localhost>
On Thu, Jun 23, 2016 at 11:48:49AM -0500, Bjorn Helgaas wrote:
> On Thu, Jun 23, 2016 at 11:51:54AM +1000, Stephen Rothwell wrote:
> > Hi Bjorn,
> >
> > After merging the pci tree, today's linux-next build (x86_64 allmodconfig)
> > produced this warning:
> >
> > drivers/misc/genwqe/card_base.c: In function 'genwqe_pci_remove':
> > drivers/misc/genwqe/card_base.c:1155:6: warning: unused variable 'bars' [-Wunused-variable]
> > int bars;
> > ^
> > drivers/misc/genwqe/card_base.c: In function 'genwqe_pci_setup':
> > drivers/misc/genwqe/card_base.c:1143:2: warning: 'bars' may be used uninitialized in this function [-Wmaybe-uninitialized]
> > pci_release_selected_regions(pci_dev, bars);
> > ^
> >
> > Introduced by commit
> >
> > 370b01694826 ("GenWQE: Use pci_(request|release)_mem_regions")
>
> Thanks, Stephen. I made the following edits, which should resolve these
> warnings. Johannes, let me know if they look right to you.
>
Looks good, thanks.
Johannes
--
Johannes Thumshirn Storage
jthumshirn@suse.de +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
^ permalink raw reply
* Re: [PATCH] mwifiex: Fixed endianness for event TLV type TLV_BTCOEX_WL_SCANTIME
From: Prasun Maiti @ 2016-06-24 6:56 UTC (permalink / raw)
To: Amitkumar Karwar, Nishant Sarmukadam, Kalle Valo
Cc: Linux Wireless, Linux Next, Linux Kernel
In-Reply-To: <1466050770-21789-1-git-send-email-prasunmaiti87@gmail.com>
On Thu, Jun 16, 2016 at 9:49 AM, Prasun Maiti <prasunmaiti87@gmail.com> wrote:
> The two members min_scan_time and max_scan_time of structure
> "mwifiex_ie_types_btcoex_scan_time" are of two bytes each. The values
> are assigned directtly from firmware without endian conversion handling.
> So, wrong datas will get saved in big-endian systems.
>
> This patch converts the values into cpu's byte order before assigning them
> into the local members.
>
> Signed-off-by: Prasun Maiti <prasunmaiti87@gmail.com>
> ---
> drivers/net/wireless/marvell/mwifiex/sta_event.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/marvell/mwifiex/sta_event.c b/drivers/net/wireless/marvell/mwifiex/sta_event.c
> index 0104108..7dff452 100644
> --- a/drivers/net/wireless/marvell/mwifiex/sta_event.c
> +++ b/drivers/net/wireless/marvell/mwifiex/sta_event.c
> @@ -474,8 +474,8 @@ void mwifiex_bt_coex_wlan_param_update_event(struct mwifiex_private *priv,
> scantlv =
> (struct mwifiex_ie_types_btcoex_scan_time *)tlv;
> adapter->coex_scan = scantlv->coex_scan;
> - adapter->coex_min_scan_time = scantlv->min_scan_time;
> - adapter->coex_max_scan_time = scantlv->max_scan_time;
> + adapter->coex_min_scan_time = le16_to_cpu(scantlv->min_scan_time);
> + adapter->coex_max_scan_time = le16_to_cpu(scantlv->max_scan_time);
> break;
>
> default:
> --
> 1.9.1
>
Hi Amitkumar,
Please let me know your opinion about this patch.
--
Thanks,
Prasun
^ permalink raw reply
* linux-next: Tree for Jun 24
From: Stephen Rothwell @ 2016-06-24 6:55 UTC (permalink / raw)
To: linux-next; +Cc: linux-kernel
Hi all,
Changes since 20160623:
The net-next tree gained a conflict against the net tree.
The block tree gained a conflict against the btrfs-kdave tree.
The crypto tree gained a build failure for which I applied a fix patch.
The userns tree gained a conflict against Linus' tree.
Non-merge commits (relative to Linus' tree): 5285
5058 files changed, 222878 insertions(+), 98275 deletions(-)
----------------------------------------------------------------------------
I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
(patches at http://www.kernel.org/pub/linux/kernel/next/ ). If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one. You should use "git fetch" and checkout or reset to the new
master.
You can see which trees have been included by looking in the Next/Trees
file in the source. There are also quilt-import.log and merge.log
files in the Next directory. Between each merge, the tree was built
with a ppc64_defconfig for powerpc and an allmodconfig (with
CONFIG_BUILD_DOCSRC=n) for x86_64, a multi_v7_defconfig for arm and a
native build of tools/perf. After the final fixups (if any), I do an
x86_64 modules_install followed by builds for x86_64 allnoconfig,
powerpc allnoconfig (32 and 64 bit), ppc44x_defconfig, allyesconfig
(this fails its final link) and pseries_le_defconfig and i386, sparc
and sparc64 defconfig.
Below is a summary of the state of the merge.
I am currently merging 234 trees (counting Linus' and 34 trees of patches
pending for Linus' tree).
Stats about the size of the tree over time can be seen at
http://neuling.org/linux-next-size.html .
Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next . If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.
Thanks to Randy Dunlap for doing many randconfig builds. And to Paul
Gortmaker for triage and bug fixes.
--
Cheers,
Stephen Rothwell
$ git checkout master
$ git reset --hard stable
Merging origin/master (da01e18a37a5 x86: avoid avoid passing around 'thread_info' in stack dumping code)
Merging fixes/master (5edb56491d48 Linux 4.7-rc3)
Merging kbuild-current/rc-fixes (b36fad65d61f kbuild: Initialize exported variables)
Merging arc-current/for-curr (5edb56491d48 Linux 4.7-rc3)
Merging arm-current/fixes (56530f5d2ddc ARM: 8579/1: mm: Fix definition of pmd_mknotpresent)
Merging m68k-current/for-linus (9a6462763b17 m68k/mvme16x: Include generic <linux/rtc.h>)
Merging metag-fixes/fixes (0164a711c97b metag: Fix ioremap_wc/ioremap_cached build errors)
Merging powerpc-fixes/fixes (844e3be47693 powerpc/bpf/jit: Disable classic BPF JIT on ppc64le)
Merging powerpc-merge-mpe/fixes (bc0195aad0da Linux 4.2-rc2)
Merging sparc/master (6b15d6650c53 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net)
Merging net/master (c40e4096bf0a MAINTAINERS: Update Mellanox's mlx4 Eth NIC driver entry)
Merging ipsec/master (d6af1a31cc72 vti: Add pmtu handling to vti_xmit.)
Merging ipvs/master (370a8107e788 ipvs: fix bind to link-local mcast IPv6 address in backup)
Merging wireless-drivers/master (034fdd4a17ff Merge ath-current from ath.git)
Merging mac80211/master (3d5fdff46c4b wext: Fix 32 bit iwpriv compatibility issue with 64 bit Kernel)
Merging sound-current/for-linus (c9058d43d994 ALSA: hda/tegra: iomem fixups for sparse warnings)
Merging pci-current/for-linus (ef0dab4aae14 PCI: Fix unaligned accesses in VC code)
Merging driver-core.current/driver-core-linus (e80dac114c63 Merge tag 'usb-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb)
Merging tty.current/tty-linus (33688abb2802 Linux 4.7-rc4)
Merging usb.current/usb-linus (33688abb2802 Linux 4.7-rc4)
Merging usb-gadget-fixes/fixes (50c763f8c1ba usb: dwc3: Set the ClearPendIN bit on Clear Stall EP command)
Merging usb-serial-fixes/usb-linus (33688abb2802 Linux 4.7-rc4)
Merging usb-chipidea-fixes/ci-for-usb-stable (ea1d39a31d3b usb: common: otg-fsm: add license to usb-otg-fsm)
Merging staging.current/staging-linus (df013212a1b6 Merge tag 'iio-fixes-for-4.7b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus)
Merging char-misc.current/char-misc-linus (e80dac114c63 Merge tag 'usb-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb)
Merging input-current/for-linus (226ba707744a Input: elantech - add more IC body types to the list)
Merging crypto-current/master (055ddaace035 crypto: user - re-add size check for CRYPTO_MSG_GETALG)
Merging ide/master (1993b176a822 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide)
Merging rr-fixes/fixes (8244062ef1e5 modules: fix longstanding /proc/kallsyms vs module insertion race.)
Merging vfio-fixes/for-linus (ce7585f3c4d7 vfio/pci: Allow VPD short read)
Merging kselftest-fixes/fixes (f80eb4289491 selftests/exec: Makefile is a run-time dependency, add it to the install list)
Merging backlight-fixes/for-backlight-fixes (68feaca0b13e backlight: pwm: Handle EPROBE_DEFER while requesting the PWM)
Merging ftrace-fixes/for-next-urgent (6224beb12e19 tracing: Have branch tracer use recursive field of task struct)
Merging mfd-fixes/for-mfd-fixes (59461c018204 mfd: max77620: Fix FPS switch statements)
Merging drm-intel-fixes/for-linux-next-fixes (1e3fa0acfec6 drm/i915/fbc: Disable on HSW by default for now)
Merging asm-generic/master (b0da6d44157a asm-generic: Drop renameat syscall from default list)
Merging arc/for-next (5edb56491d48 Linux 4.7-rc3)
Merging arm/for-next (f07617e99523 Merge branches 'component', 'fixes' and 'misc' into for-next)
Merging arm-perf/for-next/perf (4ba2578fa7b5 arm64: perf: don't expose CHAIN event in sysfs)
Merging arm-soc/for-next (ea371ddc86ff ARM: SoC: Document merges)
Merging amlogic/for-next (cc989c0bfd53 Merge remote-tracking branch 'clk/clk-s905' into tmp/aml-rebuild)
Merging at91/at91-next (0f59c948faed Merge tag 'at91-ab-4.8-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into at91-next)
Merging bcm2835/for-next (aa5c0a1e15c2 Merge branch anholt/bcm2835-dt-64-next into for-next)
Merging berlin/berlin/for-next (1a695a905c18 Linux 4.7-rc1)
Merging cortex-m/for-next (f719a0d6a854 ARM: efm32: switch to vendor,device compatible strings)
Merging imx-mxs/for-next (b2f6951491c7 Merge branch 'imx/defconfig' into for-next)
Merging keystone/next (eef6bb9fc17a Merge branch 'for_4.8/keystone' into next)
Merging mvebu/for-next (56454a34f5d6 Merge branch 'mvebu/defconfig64' into mvebu/for-next)
Merging omap/for-next (a68816dc4006 Merge branch 'omap-for-v4.8/soc' into for-next)
Merging omap-pending/for-next (c20c8f750d9f ARM: OMAP2+: hwmod: fix _idle() hwmod state sanity check sequence)
Merging qcom/for-next (275804c07f41 firmware: qcom: scm: Peripheral Authentication Service)
Merging renesas/next (58ad5755a31c Merge branch 'heads/arm64-dt-for-v4.8' into next)
Merging rockchip/for-next (3c77879bcab7 Merge branch 'v4.8-armsoc/dts64' into for-next)
Merging rpi/for-rpi-next (bc0195aad0da Linux 4.2-rc2)
Merging samsung/for-next (92e963f50fc7 Linux 4.5-rc1)
Merging samsung-krzk/for-next (d054c56bd6a0 Merge branch 'next/soc' into for-next)
CONFLICT (content): Merge conflict in arch/arm/boot/dts/exynos5420.dtsi
Merging tegra/for-next (5bcc7efc04c3 Merge branch for-4.8/arm64 into for-next)
Merging arm64/for-next/core (d770b5a04790 Revert "arm64: Add support ARCH_SUPPORTS_INT128")
Merging blackfin/for-linus (391e74a51ea2 eth: bf609 eth clock: add pclk clock for stmmac driver probe)
CONFLICT (content): Merge conflict in arch/blackfin/mach-common/pm.c
Merging c6x/for-linux-next (ca3060d39ae7 c6x: Use generic clkdev.h header)
Merging cris/for-next (f9f3f864b5e8 cris: Fix section mismatches in architecture startup code)
Merging h8300/h8300-next (58c57526711f h8300: Add missing include file to asm/io.h)
Merging hexagon/linux-next (02cc2ccfe771 Revert "Hexagon: fix signal.c compile error")
Merging ia64/next (70f4f9352317 ia64: efi: use timespec64 for persistent clock)
Merging m68k/for-next (9a6462763b17 m68k/mvme16x: Include generic <linux/rtc.h>)
Merging m68knommu/for-next (33688abb2802 Linux 4.7-rc4)
Merging metag/for-next (592ddeeff8cb metag: Fix typos)
Merging microblaze/next (52e9e6e05617 microblaze: pci: export isa_io_base to fix link errors)
Merging mips/mips-for-linux-next (847e858f3d0e SSB: Change bare unsigned to unsigned int to suit coding style)
Merging nios2/for-next (9fa78f63a892 nios2: Add order-only DTC dependency to %.dtb target)
Merging parisc-hd/for-next (5975b2c0c10a Merge branch 'parisc-4.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux)
Merging powerpc/next (9497a1c1c5b4 powerpc/powernv: Print correct PHB type names)
Merging powerpc-mpe/next (bc0195aad0da Linux 4.2-rc2)
Merging fsl/next (1eef33bec12d powerpc/86xx: Fix PCI interrupt map definition)
Merging mpc5xxx/next (39e69f55f857 powerpc: Introduce the use of the managed version of kzalloc)
Merging s390/features (63bf903583d7 Revert "s390/kdump: Clear subchannel ID to signal non-CCW/SCSI IPL")
Merging sparc-next/master (9f935675d41a Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input)
Merging tile/master (ca768667d873 tile 32-bit big-endian: fix bugs in syscall argument order)
Merging uml/linux-next (a78ff1112263 um: add extended processor state save/restore support)
Merging unicore32/unicore32 (c83d8b2fc986 unicore32: mm: Add missing parameter to arch_vma_access_permitted)
Merging xtensa/for_next (9da8320bb977 xtensa: add test_kc705_hifi variant)
Merging btrfs/next (c315ef8d9db7 Merge branch 'for-chris-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/fdmanana/linux into for-linus-4.7)
Merging btrfs-kdave/for-next (5027553b087e Merge branch 'for-next-next-4.7-20160623' into for-next-20160623)
Merging ceph/master (f6973c09490c ceph: use i_version to check validity of fscache)
Merging cifs/for-next (3bdc426e2497 cifs: dynamic allocation of ntlmssp blob)
Merging configfs/for-next (96c22a329351 configfs: fix CONFIGFS_BIN_ATTR_[RW]O definitions)
Merging ecryptfs/next (40f0fd372a62 ecryptfs: fix spelling mistakes)
Merging ext3/for_next (e008bb6134a6 quota: use time64_t internally)
Merging ext4/dev (12735f881952 ext4: pre-zero allocated blocks for DAX IO)
Merging f2fs/dev (a2481adac819 f2fs: avoid latency-critical readahead of node pages)
Merging fscache/fscache (b00c2ae2ed3c FS-Cache: Don't override netfs's primary_index if registering failed)
Merging fuse/for-next (507c552aa58f fuse: improve aio directIO write performance for size extending writes)
Merging gfs2/for-next (1e875f5a95a2 gfs2: Initialize iopen glock holder for new inodes)
Merging jfs/jfs-next (6ed71e9819ac jfs: Coalesce some formats)
Merging nfs/linux-next (4d3a8386aeb2 Merge branch 'writeback')
Merging nfsd/nfsd-next (ee8f2a36a99c nfsd: allow nfsd to advertise multiple layout types)
Merging orangefs/for-next (2dcd0af568b0 Linux 4.6)
Merging overlayfs/overlayfs-next (f920c41f047a ovl: move some common code in a function)
Merging v9fs/for-next (a333e4bf2556 fs/9p: use fscache mutex rather than spinlock)
Merging ubifs/linux-next (4ac1c17b2044 UBIFS: Implement ->migratepage())
Merging xfs/for-next (f477cedc4e79 Merge branch 'xfs-4.8-misc-fixes-2' into for-next)
Merging file-locks/linux-next (5af9c2e19da6 Merge branch 'akpm' (patches from Andrew))
Merging vfs/for-next (1eb82bc8e712 Merge branch 'for-linus' into for-next)
Merging pci/next (e0af5a975e77 Merge branch 'pci/resource' into next)
CONFLICT (content): Merge conflict in drivers/nvme/host/pci.c
Merging pstore/for-next/pstore (35da60941e44 pstore/ram: add Device Tree bindings)
Merging hid/for-next (70f758b5bac8 Merge branch 'for-4.8/alps' into for-next)
Merging i2c/i2c/for-next (d86a4c24d68e Merge branch 'i2c/for-current' into i2c/for-next)
Merging jdelvare-hwmon/master (18c358ac5e32 Documentation/hwmon: Update links in max34440)
Merging dmi/master (c3db05ecf8ac firmware: dmi_scan: Save SMBIOS Type 9 System Slots)
Merging hwmon-staging/hwmon-next (d4db8217f4b7 hwmon: (dell-smm) In debug mode log duration of SMM calls)
Merging v4l-dvb/master (2ed52999aaf3 Merge branch 'patchwork' into to_next)
Merging pm/linux-next (e9a4387a0db4 Merge branch 'pm-devfreq-fixes' into linux-next)
Merging idle/next (f55532a0c0b8 Linux 4.6-rc1)
Merging thermal/next (2c5ce98e1e83 thermal: sysfs: add comments describing locking strategy)
Merging thermal-soc/next (ddc8fdc6e2f0 Merge branch 'work-fixes' into work-next)
CONFLICT (add/add): Merge conflict in drivers/thermal/tango_thermal.c
CONFLICT (content): Merge conflict in drivers/thermal/rockchip_thermal.c
Merging ieee1394/for-next (384fbb96f926 firewire: nosy: Replace timeval with timespec64)
Merging dlm/next (82c7d823cc31 dlm: config: Fix ENOMEM failures in make_cluster())
Merging swiotlb/linux-next (386744425e35 swiotlb: Make linux/swiotlb.h standalone includible)
Merging slave-dma/next (73a14400c949 Merge branch 'topic/xilinx' into next)
Merging net-next/master (dc14341ed6b4 Merge tag 'wireless-drivers-next-for-davem-2016-06-21' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next)
CONFLICT (content): Merge conflict in tools/virtio/ringtest/Makefile
CONFLICT (content): Merge conflict in net/rds/tcp_listen.c
CONFLICT (content): Merge conflict in net/rds/tcp_connect.c
CONFLICT (content): Merge conflict in drivers/net/vrf.c
CONFLICT (content): Merge conflict in drivers/net/ethernet/qlogic/qed/qed_hsi.h
CONFLICT (content): Merge conflict in arch/arm64/boot/dts/broadcom/ns2.dtsi
CONFLICT (content): Merge conflict in arch/arm64/boot/dts/broadcom/ns2-svk.dts
Merging ipsec-next/master (cb866e3298cd xfrm: Increment statistic counter on inner mode error)
Merging ipvs-next/master (625b44fc15f8 ipvs: count pre-established TCP states as active)
Merging wireless-drivers-next/master (1bb57c8a5e33 Merge ath-next from ath.git)
Merging bluetooth/master (0e9390ebf1fe Merge branch 'mlxsw-next')
Merging mac80211-next/master (e69f73bfecb0 Merge branch 'remove-qdisc-throttle')
Merging rdma/for-next (fb92d8fb1b9c Merge branches 'cxgb4-4.8', 'mlx5-4.8' and 'fw-version' into k.o/for-4.8)
Merging rdma-leon/rdma-next (33688abb2802 Linux 4.7-rc4)
Merging rdma-leon-test/testing/rdma-next (33688abb2802 Linux 4.7-rc4)
Merging mtd/master (becc7ae544c6 MAINTAINERS: Add file patterns for mtd device tree bindings)
Merging l2-mtd/master (95193796256c mtd: m25p80: read in spi_max_transfer_size chunks)
Merging nand/nand/next (ba6f6d603b45 mtd: nandbiterrs: Support for NAND biterrors test on platforms without raw write)
Merging crypto/master (3c4b23901a0c crypto: ecdh - Add ECDH software support)
Merging drm/drm-next (a0877f520352 Merge tag 'topic/drm-misc-2016-06-15' of git://anongit.freedesktop.org/drm-intel into drm-next)
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_display.c
Merging drm-panel/drm/panel/for-next (f103b93d90c2 drm/dsi: Add uevent callback)
Merging drm-intel/for-linux-next (64989ca4b27a drm/i915: Refresh cached DP port register value on resume)
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_fbc.c
Merging drm-tegra/drm/tegra/for-next (575a892adaf7 gpu: host1x: Remove useless local variable)
Merging drm-misc/topic/drm-misc (f510f34c12f6 drm/vc4: Remove unused connector)
CONFLICT (content): Merge conflict in drivers/gpu/drm/sti/sti_drv.c
Merging drm-exynos/exynos-drm/for-next (25364a9e54fb Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid)
Merging drm-msm/msm-next (2b669875332f drm/msm: Drop load/unload drm_driver ops)
Merging hdlcd/for-upstream/hdlcd (f6c68b4bd4a9 drm: hdlcd: Add information about the underlying framebuffers in debugfs)
Merging mali-dp/for-upstream/mali-dp (59ba2422b430 MAINTAINERS: Add entry for Mali-DP driver)
Merging sunxi/sunxi/for-next (b7e7559f439c Merge branches 'sunxi/clk-fixes-for-4.7', 'sunxi/dt-for-4.8' and 'sunxi/fixes-for-4.7' into sunxi/for-next)
CONFLICT (content): Merge conflict in drivers/gpu/drm/sun4i/sun4i_drv.c
Merging kbuild/for-next (7e01dad0469b Merge branch 'kbuild/kbuild' into kbuild/for-next)
Applying: gcc-plugins: disable under COMPILE_TEST
Merging kspp/for-next/kspp (20f0992c935f latent_entropy: Add the extra_latent_entropy kernel parameter)
Merging kconfig/for-next (5bcba792bb30 localmodconfig: Fix whitespace repeat count after "tristate")
Merging regmap/for-next (e568f95409ca Merge remote-tracking branches 'regmap/topic/i2c', 'regmap/topic/irq' and 'regmap/topic/maintainers' into regmap-next)
Merging sound/for-next (3915bf294652 ALSA: seq_timer: use monotonic times internally)
Merging sound-asoc/for-next (ebed4462d4d6 Merge remote-tracking branch 'asoc/topic/wm8985' into asoc-next)
Merging modules/modules-next (e2d1248432c4 module: Disable MODULE_FORCE_LOAD when MODULE_SIG_FORCE is enabled)
Merging input/next (fcd6eb50eadd Input: add powerkey driver for HISI 65xx SoC)
Merging block/for-next (3cee5575153a Merge branch 'for-4.8/core' into for-next)
CONFLICT (content): Merge conflict in fs/f2fs/segment.c
CONFLICT (content): Merge conflict in fs/f2fs/data.c
CONFLICT (content): Merge conflict in fs/btrfs/extent_io.c
CONFLICT (content): Merge conflict in fs/btrfs/compression.c
CONFLICT (content): Merge conflict in block/blk-lib.c
Merging lightnvm/for-next (2a65aee4011b lightnvm: reserved space calculation incorrect)
Merging device-mapper/for-next (0fe0a864be7f Merge branch 'dm-4.7' into for-next)
Merging pcmcia/master (e8e68fd86d22 pcmcia: do not break rsrc_nonstatic when handling anonymous cards)
Merging mmc-uh/next (14c5283a54a5 mmc: sdhci: use pr_err for sdhci_dumpregs)
Merging md/for-next (d787be4092e2 md: reduce the number of synchronize_rcu() calls when multiple devices fail.)
CONFLICT (content): Merge conflict in drivers/md/raid10.c
CONFLICT (content): Merge conflict in drivers/md/raid1.c
Merging mfd/for-mfd-next (1cf9326d4c07 mfd: max14577: Allow driver to be built as a module)
Merging backlight/for-backlight-next (4db8c9572ce1 backlight: lp855x: Add enable regulator)
Merging battery/master (2e05b518c897 power_supply: bq27xxx_battery: Group register mappings into one table)
Merging omap_dss2/for-next (ab366b40b851 fbdev: Use IS_ENABLED() instead of checking for built-in or module)
Merging regulator/for-next (a435542da2d5 Merge remote-tracking branches 'regulator/topic/qcom-smd' and 'regulator/topic/twl' into regulator-next)
Merging security/next (26703c636c1f um/ptrace: run seccomp after ptrace)
Merging integrity/next (848b134bf8e7 ima: extend the measurement entry specific pcr)
Merging keys/keys-next (05638c9bc586 Merge branch 'keys-asym-keyctl' into keys-next)
Merging selinux/next (309c5fad5de4 selinux: fix type mismatch)
Merging tpmdd/next (3051e8c00764 tpm_crb: fix address space of the return pointer in crb_map_res())
CONFLICT (content): Merge conflict in Documentation/devicetree/bindings/vendor-prefixes.txt
Merging watchdog/master (1a695a905c18 Linux 4.7-rc1)
Merging iommu/next (8d16cf6b773d Merge branches 'iommu/fixes', 'x86/amd', 'x86/vt-d' and 'arm/exynos' into next)
Merging dwmw2-iommu/master (2566278551d3 Merge git://git.infradead.org/intel-iommu)
Merging vfio/next (9698cbf0bea6 vfio: platform: support No-IOMMU mode)
Merging jc_docs/docs-next (072baa037110 Documentation: tiny typo fix in usb/gadget_multi.txt)
Merging trivial/for-next (dcc381e8330e fat: fix typo s/supeblock/superblock/)
Merging audit/next (bba696c2c083 s390: ensure that syscall arguments are properly masked on s390)
CONFLICT (content): Merge conflict in arch/s390/kernel/ptrace.c
Merging devicetree/for-next (06dfeef88573 drivers: of: add definition of early_init_dt_alloc_reserved_memory_arch)
Merging mailbox/mailbox-for-next (9ef3c5112139 mailbox: mailbox-test: set tdev->signal to NULL after freeing)
Merging spi/for-next (32b805cdb668 Merge remote-tracking branches 'spi/topic/pxa2xx', 'spi/topic/rockchip', 'spi/topic/sh-msiof' and 'spi/topic/sunxi' into spi-next)
Merging tip/auto-latest (f6e78bb49b4b Merge branch 'perf/core')
Merging clockevents/clockevents/next (5a634113ad0e Merge branch 'clockevents/compile-test' into clockevents/next)
CONFLICT (content): Merge conflict in arch/arm/mach-mxs/Kconfig
CONFLICT (content): Merge conflict in arch/arm/Kconfig
Merging edac/linux_next (12f0721c5a70 sb_edac: correctly fetch DIMM width on Ivy Bridge and Haswell)
Merging edac-amd/for-next (bba142957e04 EDAC: Correct channel count limit)
Merging irqchip/irqchip/for-next (77d50b17c990 Merge branch 'irqchip/misc' into irqchip/for-next)
Merging ftrace/for-next (97f8827a8c79 ftracetest: Use proper logic to find process PID)
Merging rcu/rcu/next (2f939e1fc208 rcu: Use rcu_gp_kthread_wake() to wake up grace period kthreads again)
CONFLICT (content): Merge conflict in kernel/rcu/tree.c
Applying: rcu: merge fix for kernel/rcu/tree_exp.h
Merging kvm/linux-next (8ff7b956471f Merge tag 'kvm-s390-next-4.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD)
CONFLICT (content): Merge conflict in arch/s390/hypfs/hypfs_diag.c
Applying: s390: fix merge conflict in arch/s390/kvm/kvm-s390.c
Applying: s390: merge fix up for __diag204 move
Merging kvm-arm/next (35a2d58588f0 KVM: arm/arm64: vgic-new: Synchronize changes to active state)
Merging kvm-ppc/kvm-ppc-next (c63517c2e381 KVM: PPC: Book3S: correct width in XER handling)
Merging kvm-ppc-paulus/kvm-ppc-next (b1a4286b8f33 KVM: PPC: Book3S HV: Re-enable XICS fast path for irqfd-generated interrupts)
Merging kvms390/next (a411edf1320e KVM: s390: vsie: add module parameter "nested")
Merging xen-tip/linux-next (bdadcaf2a7c1 xen: remove incorrect forward declaration)
Merging percpu/for-next (6710e594f71c percpu: fix synchronization between synchronous map extension and chunk destruction)
Merging workqueues/for-next (d945b5e9f0e3 workqueue: Fix setting affinity of unbound worker threads)
Merging drivers-x86/for-next (ab9bb11ccbaa dell-wmi: Add a WMI event code for display on/off)
Merging chrome-platform/for-next (31b764171cb5 Revert "platform/chrome: chromeos_laptop: Add Leon Touch")
Merging hsi/for-next (ea12c45f1b36 hsi: Only descend into hsi directory when CONFIG_HSI is set)
Merging leds/for-next (a8b8c8d67557 leds: Only descend into leds directory when CONFIG_NEW_LEDS is set)
Merging ipmi/for-next (4e80ad011c9c ipmi: Remove smi_msg from waiting_rcv_msgs list before handle_one_recv_msg())
Merging driver-core/driver-core-next (5edb56491d48 Linux 4.7-rc3)
Merging tty/tty-next (33688abb2802 Linux 4.7-rc4)
Merging usb/usb-next (aa5e94a2e133 Revert "usb: ohci-at91: Forcibly suspend ports while USB suspend")
Merging usb-gadget/next (1d23d16a88e6 usb: gadget: pch_udc: reorder spin_[un]lock to avoid deadlock)
Merging usb-serial/usb-next (33688abb2802 Linux 4.7-rc4)
Merging usb-chipidea-next/ci-for-usb-next (ebfad91c5da3 dt-bindings: ci-hdrc-usb2: s/gadget-itc-setting/itc-setting in example)
Merging staging/staging-next (9936913e549b staging: lustre: quiet lockdep recursive lock warning)
CONFLICT (modify/delete): drivers/staging/lustre/lustre/llite/lloop.c deleted in staging/staging-next and modified in HEAD. Version HEAD of drivers/staging/lustre/lustre/llite/lloop.c left in tree.
CONFLICT (modify/delete): drivers/staging/android/sync.h deleted in staging/staging-next and modified in HEAD. Version HEAD of drivers/staging/android/sync.h left in tree.
$ git rm -f drivers/staging/lustre/lustre/llite/lloop.c drivers/staging/android/sync.h
Applying: staging/android: merge fix up for sync.h renaming
Merging char-misc/char-misc-next (c0ff9019ee64 mei: drop wr_msg from the mei_dev structure)
Merging extcon/extcon-next (a05f44c89ee1 extcon: Check for incorrect connection type in notifier register)
Merging cgroup/for-next (1f22cd881c59 Merge branch 'for-4.7-fixes' into for-next)
Merging scsi/for-next (09aa8c2f3963 Merge branch 'misc' into for-next)
Merging target-updates/for-next (8f0dfb3d8b11 iscsi-target: Fix early sk_data_ready LOGIN_FLAGS_READY race)
Merging target-merge/for-next-merge (2994a7518317 cxgb4: update Kconfig and Makefile)
Merging libata/for-next (da780c64d2b6 Merge branch 'for-4.7-fixes' into for-next)
Merging pinctrl/for-next (69fc8ca00b5d Merge branch 'devel' into for-next)
Merging vhost/linux-next (139ab4d4e68b tools/virtio: add noring tool)
Merging remoteproc/for-next (7a6271a80cae remoteproc/wkup_m3: Use MODULE_DEVICE_TABLE to export alias)
Merging rpmsg/for-next (ef583d362047 Merge branch 'rproc-next' into for-next)
Merging gpio/for-next (c35285cb1570 Merge branch 'devel' into for-next)
Merging dma-mapping/dma-mapping-next (d770e558e219 Linux 4.2-rc1)
Merging pwm/for-next (8910a6a600ee pwm: lpss: pci: Enable PWM module on Intel Edison)
CONFLICT (content): Merge conflict in Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt
Merging dma-buf/for-next (194cad44c4e1 dma-buf/sync_file: improve Kconfig description for Sync Files)
Merging userns/for-next (cc50a07a247e userns: Remove the now unnecessary FS_USERNS_DEV_MOUNT flag)
CONFLICT (content): Merge conflict in fs/proc/root.c
Applying: proc: fixup for "prevent stacking filesystems on top"
Merging ktest/for-next (2dcd0af568b0 Linux 4.6)
Merging clk/clk-next (367b30502d07 Merge remote-tracking branch 'clk/clk-s905' into clk-next)
Merging aio/master (b562e44f507e Linux 4.5)
Merging kselftest/next (1a695a905c18 Linux 4.7-rc1)
Merging y2038/y2038 (4b277763c5b3 vfs: Add support to document max and min inode times)
Merging luto-misc/next (6436d4c1a83c x86/vdso: Fail the build if the vdso image has no dynamic section)
Merging borntraeger/linux-next (b562e44f507e Linux 4.5)
Merging livepatching/for-next (6d9122078097 Merge branch 'for-4.7/core' into for-next)
Merging coresight/next (7c8cd269d93e coresight: Add better messages for coresight_timeout)
Merging rtc/rtc-next (c361db5c2c64 x86: include linux/ratelimit.h in nmi.c)
Merging hwspinlock/for-next (bd5717a4632c hwspinlock: qcom: Correct msb in regmap_field)
Merging nvdimm/libnvdimm-for-next (36092ee8ba69 Merge branch 'for-4.7/dax' into libnvdimm-for-next)
Merging dax-misc/dax-misc (4d9a2c874667 dax: Remove i_mmap_lock protection)
Applying: crypto: make ecdh_shared_secret unique
Merging akpm-current/current (e554dba4bab5 ipc/msg.c: use freezable blocking call)
CONFLICT (content): Merge conflict in mm/page_alloc.c
CONFLICT (content): Merge conflict in ipc/sem.c
CONFLICT (content): Merge conflict in arch/arm64/mm/dma-mapping.c
CONFLICT (modify/delete): arch/arm/configs/bcm_defconfig deleted in HEAD and modified in akpm-current/current. Version akpm-current/current of arch/arm/configs/bcm_defconfig left in tree.
$ git rm -f arch/arm/configs/bcm_defconfig
$ git checkout -b akpm remotes/origin/akpm/master
Applying: drivers/net/wireless/intel/iwlwifi/dvm/calib.c: simplfy min() expression
Applying: drivers/fpga/Kconfig: fix build failure
Applying: tree-wide: replace config_enabled() with IS_ENABLED()
Applying: include/linux/bitmap.h: cleanup
Merging akpm/master (ac3cc41e0698 include/linux/bitmap.h: cleanup)
^ permalink raw reply
* linux-next: build failure after merge of the crypto tree
From: Stephen Rothwell @ 2016-06-24 6:20 UTC (permalink / raw)
To: Herbert Xu; +Cc: linux-next, linux-kernel, Salvatore Benedetto
Hi Herbert,
After merging the crypto tree, today's linux-next build (powerpc
allyesconfig) failed like this:
net/built-in.o: In function `.ecdh_shared_secret':
(.text+0x4ad8d0): multiple definition of `.ecdh_shared_secret'
crypto/built-in.o:(.text+0x113f0): first defined here
net/built-in.o:(.opd+0x430e0): multiple definition of `ecdh_shared_secret'
crypto/built-in.o:(.opd+0x1d40): first defined here
Caused by commit
3c4b23901a0c ("crypto: ecdh - Add ECDH software support")
The other definition is in net/bluetooth/ecc.c
I added the following patch for today (probably a better name could
be chosen):
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 24 Jun 2016 16:13:37 +1000
Subject: [PATCH] crypto: make ecdh_shared_secret unique
There is another ecdh_shared_secret in net/bluetooth/ecc.c
Fixes: 3c4b23901a0c ("crypto: ecdh - Add ECDH software support")
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
crypto/ecc.c | 2 +-
crypto/ecc.h | 6 +++---
crypto/ecdh.c | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/crypto/ecc.c b/crypto/ecc.c
index 9aedec6bbe72..414c78a9c214 100644
--- a/crypto/ecc.c
+++ b/crypto/ecc.c
@@ -966,7 +966,7 @@ out:
return ret;
}
-int ecdh_shared_secret(unsigned int curve_id, unsigned int ndigits,
+int crypto_ecdh_shared_secret(unsigned int curve_id, unsigned int ndigits,
const u8 *private_key, unsigned int private_key_len,
const u8 *public_key, unsigned int public_key_len,
u8 *secret, unsigned int secret_len)
diff --git a/crypto/ecc.h b/crypto/ecc.h
index b5db4b989f3c..663d598c7406 100644
--- a/crypto/ecc.h
+++ b/crypto/ecc.h
@@ -60,7 +60,7 @@ int ecdh_make_pub_key(const unsigned int curve_id, unsigned int ndigits,
u8 *public_key, unsigned int public_key_len);
/**
- * ecdh_shared_secret() - Compute a shared secret
+ * crypto_ecdh_shared_secret() - Compute a shared secret
*
* @curve_id: id representing the curve to use
* @private_key: private key of part A
@@ -70,13 +70,13 @@ int ecdh_make_pub_key(const unsigned int curve_id, unsigned int ndigits,
* @secret: buffer for storing the calculated shared secret
* @secret_len: length of the secret buffer
*
- * Note: It is recommended that you hash the result of ecdh_shared_secret
+ * Note: It is recommended that you hash the result of crypto_ecdh_shared_secret
* before using it for symmetric encryption or HMAC.
*
* Returns 0 if the shared secret was generated successfully, a negative value
* if an error occurred.
*/
-int ecdh_shared_secret(unsigned int curve_id, unsigned int ndigits,
+int crypto_ecdh_shared_secret(unsigned int curve_id, unsigned int ndigits,
const u8 *private_key, unsigned int private_key_len,
const u8 *public_key, unsigned int public_key_len,
u8 *secret, unsigned int secret_len);
diff --git a/crypto/ecdh.c b/crypto/ecdh.c
index d3a9eeca4b32..3de289806d67 100644
--- a/crypto/ecdh.c
+++ b/crypto/ecdh.c
@@ -79,7 +79,7 @@ static int ecdh_compute_value(struct kpp_request *req)
if (copied != 2 * nbytes)
return -EINVAL;
- ret = ecdh_shared_secret(ctx->curve_id, ctx->ndigits,
+ ret = crypto_ecdh_shared_secret(ctx->curve_id, ctx->ndigits,
(const u8 *)ctx->private_key, nbytes,
(const u8 *)ctx->public_key, 2 * nbytes,
(u8 *)ctx->shared_secret, nbytes);
--
2.8.1
--
Cheers,
Stephen Rothwell
^ permalink raw reply related
* Re: linux-next: manual merge of the audit tree with the security tree
From: Heiko Carstens @ 2016-06-24 5:41 UTC (permalink / raw)
To: Paul Moore
Cc: Stephen Rothwell, James Morris, linux-next, linux-kernel,
Kees Cook, Martin Schwidefsky
In-Reply-To: <CAHC9VhRFyy8-z6y+sA2VSgrfJH0ZeuEt+-f-sJJaLpPTsxxzSg@mail.gmail.com>
On Thu, Jun 23, 2016 at 12:14:11PM -0400, Paul Moore wrote:
> On Thu, Jun 23, 2016 at 2:01 AM, Heiko Carstens
> <heiko.carstens@de.ibm.com> wrote:
> > On Thu, Jun 23, 2016 at 02:18:14PM +1000, Stephen Rothwell wrote:
> >> Hi Paul,
> >>
> >> Today's linux-next merge of the audit tree got a conflict in:
> >>
> >> arch/s390/kernel/ptrace.c
> >>
> >> between commit:
> >>
> >> 0208b9445bc0 ("s390/ptrace: run seccomp after ptrace")
> >>
> >> from the security tree and commit:
> >>
> >> bba696c2c083 ("s390: ensure that syscall arguments are properly masked on s390")
> >>
> >> from the audit tree.
> >
> > Hmm, I haven't seen that commit, therefore I'm just commenting on the
> > result ;)
>
> It was sent to the linux-audit and linux-s390 mailing lists yesterday
> with a follow up comment that I was going to add it to the audit#next
> branch and if anyone had any objections to let me know.
>
> * https://www.redhat.com/archives/linux-audit/2016-June/msg00051.html
Yes, I missed that, sorry!
> >> + audit_syscall_entry(regs->gprs[2], regs->orig_gpr2 & mask,
> >> + regs->gprs[3] & mask, regs->gprs[4] & mask,
> >> + regs->gprs[5] & mask);
> >
> > With these masks it is more correct, however these are still not the values
> > used by the system call itself. This would be still incorrect for
> > e.g. compat pointers (31 bit on s390).
> >
> > So it seems like audit_syscall_entry should be called after all sign, zero
> > and masking has been done?
>
> For someone not familiar with s390, compat or not, where would you
> suggest we place the audit_syscall_entry() call?
I was thinking of a more generic solution for all architectures: for
example setting a new TIF flag within do_syscall_trace_enter which
indicates that audit_syscall_entry needs be called and then add a
conditional call to the SYSCALL_DEFINE and COMPAT_SYSCALL_DEFINE macros.
That way audit_syscall_entry would always receive already properly sign and
zero extended system call parameters. At the downside this would increase
the kernel text size by probably ~370 conditional branches and add two more
instructions on the system call hot path.
But that's something that could be done independently from your patch,
which already improves the current situation.
^ permalink raw reply
* linux-next: manual merge of the userns tree with Linus' tree
From: Stephen Rothwell @ 2016-06-24 4:41 UTC (permalink / raw)
To: Eric W. Biederman; +Cc: linux-next, linux-kernel, Jann Horn, Linus
Hi Eric,
Today's linux-next merge of the userns tree got a conflict in:
fs/proc/root.c
between commit:
e54ad7f1ee26 ("proc: prevent stacking filesystems on top")
from Linus' tree and commit:
e94591d0d90c ("proc: Convert proc_mount to use mount_ns")
from the userns tree.
I fixed it up (I used the userns version of this file and added the
following patch) and can carry the fix as necessary. This is now fixed
as far as linux-next is concerned, but any non trivial conflicts should
be mentioned to your upstream maintainer when your tree is submitted for
merging. You may also want to consider cooperating with the maintainer
of the conflicting tree to minimise any particularly complex conflicts.
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 24 Jun 2016 14:27:47 +1000
Subject: [PATCH] proc: fixup for "prevent stacking filesystems on top"
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
fs/proc/inode.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/fs/proc/inode.c b/fs/proc/inode.c
index a5b2c33745b7..6b1843e78bd7 100644
--- a/fs/proc/inode.c
+++ b/fs/proc/inode.c
@@ -463,6 +463,13 @@ int proc_fill_super(struct super_block *s, void *data, int silent)
struct inode *root_inode;
int ret;
+ /*
+ * procfs isn't actually a stacking filesystem; however, there is
+ * too much magic going on inside it to permit stacking things on
+ * top of it
+ */
+ s->s_stack_depth = FILESYSTEM_MAX_STACK_DEPTH;
+
if (!proc_parse_options(data, ns))
return -EINVAL;
--
2.8.1
--
Cheers,
Stephen Rothwell
^ permalink raw reply related
* linux-next: manual merge of the block tree with the btrfs-kdave tree
From: Stephen Rothwell @ 2016-06-24 2:34 UTC (permalink / raw)
To: Jens Axboe, David Sterba; +Cc: linux-next, linux-kernel, Liu Bo, Mike Christie
Hi Jens,
Today's linux-next merge of the block tree got a conflict in:
fs/btrfs/compression.c
between commit:
edf0e062aa6f ("Btrfs: fix BUG_ON in btrfs_submit_compressed_write")
from the btrfs-kdave tree and commit:
81a75f6781de ("btrfs: use bio fields for op and flags")
from the block tree.
I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.
--
Cheers,
Stephen Rothwell
diff --cc fs/btrfs/compression.c
index 7a4d9c81aa2a,cefedabf0a92..000000000000
--- a/fs/btrfs/compression.c
+++ b/fs/btrfs/compression.c
@@@ -401,11 -402,8 +402,11 @@@ int btrfs_submit_compressed_write(struc
BUG_ON(ret); /* -ENOMEM */
}
- ret = btrfs_map_bio(root, WRITE, bio, 0, 1);
+ ret = btrfs_map_bio(root, bio, 0, 1);
- BUG_ON(ret); /* -ENOMEM */
+ if (ret) {
+ bio->bi_error = ret;
+ bio_endio(bio);
+ }
bio_put(bio);
@@@ -434,11 -433,8 +436,11 @@@
BUG_ON(ret); /* -ENOMEM */
}
- ret = btrfs_map_bio(root, WRITE, bio, 0, 1);
+ ret = btrfs_map_bio(root, bio, 0, 1);
- BUG_ON(ret); /* -ENOMEM */
+ if (ret) {
+ bio->bi_error = ret;
+ bio_endio(bio);
+ }
bio_put(bio);
return 0;
^ permalink raw reply
* linux-next: manual merge of the net-next tree with the net tree
From: Stephen Rothwell @ 2016-06-24 1:24 UTC (permalink / raw)
To: David Miller, netdev; +Cc: linux-next, linux-kernel, Chris Packham, David Ahern
Hi all,
Today's linux-next merge of the net-next tree got a conflict in:
drivers/net/vrf.c
between commit:
52fe705b493d ("net: vrf: replace hard tab with space in assignment")
from the net tree and commits:
671cd19ade97 ("net: vrf: ipv4 support for local traffic to local addresses")
625b47b50732 ("net: vrf: ipv6 support for local traffic to local addresses")
from the net-next tree.
I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.
--
Cheers,
Stephen Rothwell
diff --cc drivers/net/vrf.c
index 8bd8c7e1ee87,b3762822b653..000000000000
--- a/drivers/net/vrf.c
+++ b/drivers/net/vrf.c
@@@ -304,8 -437,26 +437,26 @@@ static int vrf_rt6_create(struct net_de
dst_hold(&rt6->dst);
rt6->rt6i_table = rt6i_table;
- rt6->dst.output = vrf_output6;
+ rt6->dst.output = vrf_output6;
+
+ /* create a dst for local routing - packets sent locally
+ * to local address via the VRF device as a loopback
+ */
+ rt6_local = ip6_dst_alloc(net, dev, flags);
+ if (!rt6_local) {
+ dst_release(&rt6->dst);
+ goto out;
+ }
+
+ dst_hold(&rt6_local->dst);
+
+ rt6_local->rt6i_idev = in6_dev_get(dev);
+ rt6_local->rt6i_flags = RTF_UP | RTF_NONEXTHOP | RTF_LOCAL;
+ rt6_local->rt6i_table = rt6i_table;
+ rt6_local->dst.input = ip6_input;
+
rcu_assign_pointer(vrf->rt6, rt6);
+ rcu_assign_pointer(vrf->rt6_local, rt6_local);
rc = 0;
out:
@@@ -403,10 -576,22 +576,22 @@@ static int vrf_rtable_create(struct net
if (!rth)
return -ENOMEM;
+ /* create a dst for local ingress routing - packets sent locally
+ * to local address via the VRF device as a loopback
+ */
+ rth_local = rt_dst_alloc(dev, RTCF_LOCAL, RTN_LOCAL, 1, 1, 0);
+ if (!rth_local) {
+ dst_release(&rth->dst);
+ return -ENOMEM;
+ }
+
- rth->dst.output = vrf_output;
+ rth->dst.output = vrf_output;
rth->rt_table_id = vrf->tb_id;
+ rth_local->rt_table_id = vrf->tb_id;
+
rcu_assign_pointer(vrf->rth, rth);
+ rcu_assign_pointer(vrf->rth_local, rth_local);
return 0;
}
^ permalink raw reply
* mmotm 2016-06-23-16-33 uploaded
From: akpm @ 2016-06-23 23:34 UTC (permalink / raw)
To: mm-commits, linux-kernel, linux-mm, linux-fsdevel, linux-next,
sfr, mhocko, broonie
The mm-of-the-moment snapshot 2016-06-23-16-33 has been uploaded to
http://www.ozlabs.org/~akpm/mmotm/
mmotm-readme.txt says
README for mm-of-the-moment:
http://www.ozlabs.org/~akpm/mmotm/
This is a snapshot of my -mm patch queue. Uploaded at random hopefully
more than once a week.
You will need quilt to apply these patches to the latest Linus release (4.x
or 4.x-rcY). The series file is in broken-out.tar.gz and is duplicated in
http://ozlabs.org/~akpm/mmotm/series
The file broken-out.tar.gz contains two datestamp files: .DATE and
.DATE-yyyy-mm-dd-hh-mm-ss. Both contain the string yyyy-mm-dd-hh-mm-ss,
followed by the base kernel version against which this patch series is to
be applied.
This tree is partially included in linux-next. To see which patches are
included in linux-next, consult the `series' file. Only the patches
within the #NEXT_PATCHES_START/#NEXT_PATCHES_END markers are included in
linux-next.
A git tree which contains the memory management portion of this tree is
maintained at git://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git
by Michal Hocko. It contains the patches which are between the
"#NEXT_PATCHES_START mm" and "#NEXT_PATCHES_END" markers, from the series
file, http://www.ozlabs.org/~akpm/mmotm/series.
A full copy of the full kernel tree with the linux-next and mmotm patches
already applied is available through git within an hour of the mmotm
release. Individual mmotm releases are tagged. The master branch always
points to the latest release, so it's constantly rebasing.
http://git.cmpxchg.org/cgit.cgi/linux-mmotm.git/
To develop on top of mmotm git:
$ git remote add mmotm git://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git
$ git remote update mmotm
$ git checkout -b topic mmotm/master
<make changes, commit>
$ git send-email mmotm/master.. [...]
To rebase a branch with older patches to a new mmotm release:
$ git remote update mmotm
$ git rebase --onto mmotm/master <topic base> topic
The directory http://www.ozlabs.org/~akpm/mmots/ (mm-of-the-second)
contains daily snapshots of the -mm tree. It is updated more frequently
than mmotm, and is untested.
A git copy of this tree is available at
http://git.cmpxchg.org/cgit.cgi/linux-mmots.git/
and use of this tree is similar to
http://git.cmpxchg.org/cgit.cgi/linux-mmotm.git/, described above.
This mmotm tree contains the following patches against 4.7-rc4:
(patches marked "*" will be included in linux-next)
origin.patch
i-need-old-gcc.patch
arch-alpha-kernel-systblss-remove-debug-check.patch
* mmoom_reaper-dont-call-mmput_async-without-atomic_inc_not_zero.patch
* oom_reaper-avoid-pointless-atomic_inc_not_zero-usage.patch
* selftests-vm-compaction_test-fix-write-to-restore-nr_hugepages.patch
* tmpfs-dont-undo-fallocate-past-its-last-page.patch
* tree-wide-get-rid-of-__gfp_repeat-for-order-0-allocations-part-i.patch
* x86-get-rid-of-superfluous-__gfp_repeat.patch
* x86-efi-get-rid-of-superfluous-__gfp_repeat.patch
* arm64-get-rid-of-superfluous-__gfp_repeat.patch
* arc-get-rid-of-superfluous-__gfp_repeat.patch
* mips-get-rid-of-superfluous-__gfp_repeat.patch
* nios2-get-rid-of-superfluous-__gfp_repeat.patch
* parisc-get-rid-of-superfluous-__gfp_repeat.patch
* score-get-rid-of-superfluous-__gfp_repeat.patch
* powerpc-get-rid-of-superfluous-__gfp_repeat.patch
* sparc-get-rid-of-superfluous-__gfp_repeat.patch
* s390-get-rid-of-superfluous-__gfp_repeat.patch
* sh-get-rid-of-superfluous-__gfp_repeat.patch
* tile-get-rid-of-superfluous-__gfp_repeat.patch
* unicore32-get-rid-of-superfluous-__gfp_repeat.patch
* jbd2-get-rid-of-superfluous-__gfp_repeat.patch
* arm-get-rid-of-superfluous-__gfp_repeat.patch
* maintainers-update-calgary-iommu.patch
* mm-mempool-kasan-dont-poot-mempool-objects-in-quarantine.patch
* mm-slaub-add-__gfp_atomic-to-the-gfp-reclaim-mask.patch
* mailmap-antoine-tenarts-email.patch
* mailmap-boris-brezillons-email.patch
* revert-mm-make-faultaround-produce-old-ptes.patch
* revert-mm-disable-fault-around-on-emulated-access-bit-architecture.patch
* hugetlb-fix-nr_pmds-accounting-with-shared-page-tables.patch
* memcg-mem_cgroup_migrate-may-be-called-with-irq-disabled.patch
* memcg-css_alloc-should-return-an-err_ptr-value-on-error.patch
* mm-swapc-flush-lru-pvecs-on-compound-page-arrival.patch
* mm-hugetlb-clear-compound_mapcount-when-freeing-gigantic-pages.patch
* mm-prevent-kasan-false-positives-in-kmemleak.patch
* mm-compaction-abort-free-scanner-if-split-fails.patch
* ocfs2-disable-bug-assertions-in-reading-blocks.patch
* oom-suspend-fix-oom_reaper-vs-oom_killer_disable-race.patch
* arm-arch-arm-include-asm-pageh-needs-personalityh.patch
* dax-use-devm_add_action_or_reset.patch
* m32r-add-__ucmpdi2-to-fix-build-failure.patch
* debugobjectsh-fix-trivial-kernel-doc-warning.patch
* fs-ext4-fsyncc-generic_file_fsync-call-based-on-barrier-flag.patch
* ocfs2-fix-a-redundant-re-initialization.patch
* ocfs2-improve-recovery-performance.patch
* ocfs2-insure-dlm-lockspace-is-created-by-kernel-module.patch
* ocfs2-retry-on-enospc-if-sufficient-space-in-truncate-log.patch
* block-restore-proc-partitions-to-not-display-non-partitionable-removable-devices.patch
* sb-add-a-new-writeback-list-for-sync.patch
* wb-inode-writeback-list-tracking-tracepoints.patch
mm.patch
* mm-reorganize-slab-freelist-randomization.patch
* mm-reorganize-slab-freelist-randomization-fix.patch
* mm-slub-freelist-randomization.patch
* slab-make-gfp_slab_bug_mask-information-more-human-readable.patch
* slab-do-not-panic-on-invalid-gfp_mask.patch
* mm-memcontrol-remove-the-useless-parameter-for-mc_handle_swap_pte.patch
* mm-init-fix-zone-boundary-creation.patch
* memory-hotplug-add-move_pfn_range.patch
* memory-hotplug-more-general-validation-of-zone-during-online.patch
* memory-hotplug-use-zone_can_shift-for-sysfs-valid_zones-attribute.patch
* mm-zap-zone_oom_locked.patch
* mm-oom-add-memcg-to-oom_control.patch
* mm-debug-add-vm_warn-which-maps-to-warn.patch
* powerpc-mm-check-for-irq-disabled-only-if-debug_vm-is-enabled.patch
* zram-rename-zstrm-find-release-functions.patch
* zram-switch-to-crypto-compress-api.patch
* zram-use-crypto-api-to-check-alg-availability.patch
* zram-use-crypto-api-to-check-alg-availability-v3.patch
* zram-cosmetic-cleanup-documentation.patch
* zram-delete-custom-lzo-lz4.patch
* zram-delete-custom-lzo-lz4-v3.patch
* zram-add-more-compression-algorithms.patch
* zram-add-more-compression-algorithms-v3.patch
* zram-drop-gfp_t-from-zcomp_strm_alloc.patch
* mm-use-put_page-to-free-page-instead-of-putback_lru_page.patch
* mm-migrate-support-non-lru-movable-page-migration.patch
* mm-migrate-support-non-lru-movable-page-migration-fix.patch
* mm-balloon-use-general-non-lru-movable-page-feature.patch
* mm-balloon-use-general-non-lru-movable-page-feature-fix.patch
* zsmalloc-keep-max_object-in-size_class.patch
* zsmalloc-use-bit_spin_lock.patch
* zsmalloc-use-accessor.patch
* zsmalloc-factor-page-chain-functionality-out.patch
* zsmalloc-introduce-zspage-structure.patch
* zsmalloc-separate-free_zspage-from-putback_zspage.patch
* zsmalloc-use-freeobj-for-index.patch
* zsmalloc-page-migration-support.patch
* zsmalloc-page-migration-support-fix.patch
* zsmalloc-page-migration-support-fix-2.patch
* zram-use-__gfp_movable-for-memory-allocation.patch
* zsmalloc-use-obj_tag_bit-for-bit-shifter.patch
* mm-compaction-split-freepages-without-holding-the-zone-lock.patch
* mm-compaction-split-freepages-without-holding-the-zone-lock-fix.patch
* mm-compaction-split-freepages-without-holding-the-zone-lock-fix-2.patch
* mm-page_owner-initialize-page-owner-without-holding-the-zone-lock.patch
* mm-page_owner-copy-last_migrate_reason-in-copy_page_owner.patch
* mm-page_owner-introduce-split_page_owner-and-replace-manual-handling.patch
* tools-vm-page_owner-increase-temporary-buffer-size.patch
* mm-page_owner-use-stackdepot-to-store-stacktrace.patch
* mm-page_owner-use-stackdepot-to-store-stacktrace-fix.patch
* mm-page_alloc-introduce-post-allocation-processing-on-page-allocator.patch
* mm-thp-check-pmd_trans_unstable-after-split_huge_pmd.patch
* mm-hugetlb-simplify-hugetlb-unmap.patch
* mm-change-the-interface-for-__tlb_remove_page.patch
* mm-change-the-interface-for-__tlb_remove_page-v3.patch
* mm-mmu_gather-track-page-size-with-mmu-gather-and-force-flush-if-page-size-change.patch
* mm-remove-pointless-struct-in-struct-page-definition.patch
* mm-clean-up-non-standard-page-_mapcount-users.patch
* mm-memcontrol-cleanup-kmem-charge-functions.patch
* mm-charge-uncharge-kmemcg-from-generic-page-allocator-paths.patch
* mm-memcontrol-teach-uncharge_list-to-deal-with-kmem-pages.patch
* arch-x86-charge-page-tables-to-kmemcg.patch
* pipe-account-to-kmemcg.patch
* af_unix-charge-buffers-to-kmemcg.patch
* mmoom-remove-unused-argument-from-oom_scan_process_thread.patch
* mm-frontswap-convert-frontswap_enabled-to-static-key.patch
* mm-frontswap-convert-frontswap_enabled-to-static-key-checkpatch-fixes.patch
* mm-add-nr_zsmalloc-to-vmstat.patch
* mm-add-nr_zsmalloc-to-vmstat-fix.patch
* mm-add-nr_zsmalloc-to-vmstat-fix-2.patch
* include-linux-memblockh-clean-up-code-for-several-trivial-details.patch
* mm-oom_reaper-make-sure-that-mmput_async-is-called-only-when-memory-was-reaped.patch
* mm-memcg-use-consistent-gfp-flags-during-readahead.patch
* mm-memcg-use-consistent-gfp-flags-during-readahead-fix.patch
* mm-memcg-use-consistent-gfp-flags-during-readahead-checkpatch-fixes.patch
* mm-memblock-if-nr_new-is-0-just-return.patch
* mm-make-optimistic-check-for-swapin-readahead.patch
* mm-make-optimistic-check-for-swapin-readahead-fix-2.patch
* mm-make-optimistic-check-for-swapin-readahead-fix-3.patch
* mm-make-optimistic-check-for-swapin-readahead-fix-4.patch
* mm-make-swapin-readahead-to-improve-thp-collapse-rate.patch
* mm-make-swapin-readahead-to-improve-thp-collapse-rate-fix.patch
* mm-make-swapin-readahead-to-improve-thp-collapse-rate-fix-2.patch
* mm-make-swapin-readahead-to-improve-thp-collapse-rate-fix-3.patch
* mm-thp-make-swapin-readahead-under-down_read-of-mmap_sem-ks.patch
* mm-thp-make-swapin-readahead-under-down_read-of-mmap_sem-fix.patch
* mm-thp-fix-locking-inconsistency-in-collapse_huge_page.patch
* mm-thp-make-swapin-readahead-under-down_read-of-mmap_sem-fix-2-fix.patch
* khugepaged-recheck-pmd-after-mmap_sem-re-acquired.patch
* thp-mlock-update-unevictable-lrutxt.patch
* mm-do-not-pass-mm_struct-into-handle_mm_fault.patch
* mm-introduce-fault_env.patch
* mm-postpone-page-table-allocation-until-we-have-page-to-map.patch
* rmap-support-file-thp.patch
* mm-introduce-do_set_pmd.patch
* thp-vmstats-add-counters-for-huge-file-pages.patch
* thp-support-file-pages-in-zap_huge_pmd.patch
* thp-handle-file-pages-in-split_huge_pmd.patch
* thp-handle-file-cow-faults.patch
* thp-skip-file-huge-pmd-on-copy_huge_pmd.patch
* thp-prepare-change_huge_pmd-for-file-thp.patch
* thp-run-vma_adjust_trans_huge-outside-i_mmap_rwsem.patch
* thp-file-pages-support-for-split_huge_page.patch
* thp-mlock-do-not-mlock-pte-mapped-file-huge-pages.patch
* vmscan-split-file-huge-pages-before-paging-them-out.patch
* page-flags-relax-policy-for-pg_mappedtodisk-and-pg_reclaim.patch
* radix-tree-implement-radix_tree_maybe_preload_order.patch
* filemap-prepare-find-and-delete-operations-for-huge-pages.patch
* truncate-handle-file-thp.patch
* mm-rmap-account-shmem-thp-pages.patch
* shmem-prepare-huge=-mount-option-and-sysfs-knob.patch
* shmem-get_unmapped_area-align-huge-page.patch
* shmem-add-huge-pages-support.patch
* shmem-thp-respect-madv_nohugepage-for-file-mappings.patch
* thp-extract-khugepaged-from-mm-huge_memoryc.patch
* khugepaged-move-up_readmmap_sem-out-of-khugepaged_alloc_page.patch
* shmem-make-shmem_inode_info-lock-irq-safe.patch
* khugepaged-add-support-of-collapse-for-tmpfs-shmem-pages.patch
* thp-introduce-config_transparent_huge_pagecache.patch
* shmem-split-huge-pages-beyond-i_size-under-memory-pressure.patch
* thp-update-documentation-vm-transhugefilesystems-proctxt.patch
* mm-zsmalloc-add-trace-events-for-zs_compact.patch
* mm-fix-build-warnings-in-linux-compactionh.patch
* mm-fix-build-warnings-in-linux-compactionh-fix.patch
* mm-memcontrol-remove-bug_on-in-uncharge_list.patch
* mm-memcontrol-fix-documentation-for-compound-parameter.patch
* cgroup-fix-idr-leak-for-the-first-cgroup-root.patch
* cgroup-remove-unnecessary-0-check-from-css_from_id.patch
* mm-memcontrol-fix-cgroup-creation-failure-after-many-small-jobs.patch
* mm-memcontrol-fix-cgroup-creation-failure-after-many-small-jobs-fix.patch
* thp-fix-comments-of-__pmd_trans_huge_lock.patch
* proc-oom-drop-bogus-task_lock-and-mm-check.patch
* proc-oom-drop-bogus-sighand-lock.patch
* proc-oom_adj-extract-oom_score_adj-setting-into-a-helper.patch
* mm-oom_adj-make-sure-processes-sharing-mm-have-same-view-of-oom_score_adj.patch
* mm-oom-skip-vforked-tasks-from-being-selected.patch
* mm-oom-kill-all-tasks-sharing-the-mm.patch
* mm-oom-fortify-task_will_free_mem.patch
* mm-oom-task_will_free_mem-should-skip-oom_reaped-tasks.patch
* mm-oom_reaper-do-not-attempt-to-reap-a-task-more-than-twice.patch
* mm-oom-hide-mm-which-is-shared-with-kthread-or-global-init.patch
* mm-update-the-comment-in-__isolate_free_page.patch
* mm-update-the-comment-in-__isolate_free_page-checkpatch-fixes.patch
* mm-kasan-switch-slub-to-stackdepot-enable-memory-quarantine-for-slub.patch
* proc_oom_score-remove-tasklist_lock-and-pid_alive.patch
* procfs-avoid-32-bit-time_t-in-proc-stat.patch
* memstick-dont-allocate-unused-major-for-ms_block.patch
* nvme-dont-allocate-unused-nvme_major.patch
* nvme-dont-allocate-unused-nvme_major-fix.patch
* task_work-use-read_once-lockless_dereference-avoid-pi_lock-if-task_works.patch
* jump_label-remove-bugh-atomich-dependencies-for-have_jump_label.patch
* powerpc-add-explicit-include-asm-asm-compath-for-jump-label.patch
* s390-add-explicit-linux-stringifyh-for-jump-label.patch
* dynamic_debug-add-jump-label-support.patch
* printk-do-not-include-interrupth.patch
* lib-switch-config_printk_time-to-int.patch
* printk-allow-different-timestamps-for-printktime.patch
* lib-iommu-helper-skip-to-next-segment.patch
* crc32-use-ktime_get_ns-for-measurement.patch
* lib-add-crc64-ecma-module.patch
* compat-remove-compat_printk.patch
* firmware-consolidate-kmap-read-write-logic.patch
* firmware-provide-infrastructure-to-make-fw-caching-optional.patch
* firmware-support-loading-into-a-pre-allocated-buffer.patch
* firmware-support-loading-into-a-pre-allocated-buffer-fix.patch
* samples-kprobe-convert-the-printk-to-pr_info-pr_err.patch
* samples-jprobe-convert-the-printk-to-pr_info-pr_err.patch
* samples-kretprobe-convert-the-printk-to-pr_info-pr_err.patch
* samples-kretprobe-fix-the-wrong-type.patch
* fs-befs-move-useless-assignment.patch
* fs-befs-check-silent-flag-before-logging-errors.patch
* fs-befs-remove-useless-pr_err.patch
* fs-befs-remove-useless-befs_error.patch
* fs-befs-remove-useless-pr_err-in-befs_init_inodecache.patch
* befs-check-return-of-sb_min_blocksize.patch
* befs-fix-function-name-in-documentation.patch
* befs-remove-unused-functions.patch
* nilfs2-hide-function-name-argument-from-nilfs_error.patch
* nilfs2-add-nilfs_msg-message-interface.patch
* nilfs2-embed-a-back-pointer-to-super-block-instance-in-nilfs-object.patch
* nilfs2-reduce-bare-use-of-printk-with-nilfs_msg.patch
* nilfs2-replace-nilfs_warning-with-nilfs_msg.patch
* nilfs2-replace-nilfs_warning-with-nilfs_msg-fix.patch
* nilfs2-emit-error-message-when-i-o-error-is-detected.patch
* nilfs2-do-not-use-yield.patch
* nilfs2-refactor-parser-of-snapshot-mount-option.patch
* nilfs2-fix-misuse-of-a-semaphore-in-sysfs-code.patch
* nilfs2-use-bit-macro.patch
* nilfs2-move-ioctl-interface-and-disk-layout-to-uapi-separately.patch
* reiserfs-fix-new_insert_key-may-be-used-uninitialized.patch
* cpumask-fix-code-comment.patch
* kexec-return-error-number-directly.patch
* arm-kdump-advertise-boot-aliased-crash-kernel-resource.patch
* arm-kexec-advertise-location-of-bootable-ram.patch
* kexec-dont-invoke-oom-killer-for-control-page-allocation.patch
* kexec-ensure-user-memory-sizes-do-not-wrap.patch
* kexec-ensure-user-memory-sizes-do-not-wrap-fix.patch
* kdump-arrange-for-paddr_vmcoreinfo_note-to-return-phys_addr_t.patch
* kexec-allow-architectures-to-override-boot-mapping.patch
* kexec-allow-architectures-to-override-boot-mapping-fix.patch
* arm-keystone-dts-add-psci-command-definition.patch
* arm-kexec-fix-kexec-for-keystone-2.patch
* kdump-vmcoreinfo-report-actual-value-of-phys_base.patch
* futex-fix-shared-futex-operations-on-nommu.patch
* dma-mapping-constify-attrs-passed-to-dma_get_attr.patch
* arm-dma-mapping-constify-attrs-passed-to-internal-functions.patch
* arm64-dma-mapping-constify-attrs-passed-to-internal-functions.patch
* w1-remove-need-for-ida-and-use-platform_devid_auto.patch
* w1-add-helper-macro-module_w1_family.patch
* kcov-allow-more-fine-grained-coverage-instrumentation.patch
* ipc-semc-fix-complex_count-vs-simple-op-race.patch
* ipc-sem-sem_lock-with-hysteresis.patch
* ipc-msgc-msgsnd-use-freezable-blocking-call.patch
* msgrcv-use-freezable-blocking-call.patch
linux-next.patch
linux-next-rejects.patch
* drivers-net-wireless-intel-iwlwifi-dvm-calibc-fix-min-warning.patch
* fpga-zynq-fpga-fix-build-failure.patch
* tree-wide-replace-config_enabled-with-is_enabled.patch
* bitmap-bitmap_equal-memcmp-optimization-fix.patch
mm-add-strictlimit-knob-v2.patch
make-sure-nobodys-leaking-resources.patch
releasing-resources-with-children.patch
make-frame_pointer-default=y.patch
kernel-forkc-export-kernel_thread-to-modules.patch
mutex-subsystem-synchro-test-module.patch
slab-leaks3-default-y.patch
add-debugging-aid-for-memory-initialisation-problems.patch
workaround-for-a-pci-restoring-bug.patch
^ permalink raw reply
* Re: [PATCH 1/2] ipc/sem.c: Fix complex_count vs. simple op race
From: Manfred Spraul @ 2016-06-23 19:22 UTC (permalink / raw)
To: Davidlohr Bueso
Cc: Stephen Rothwell, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
Peter Zijlstra, Andrew Morton, LKML, linux-next, 1vier1, felixh,
stable
In-Reply-To: <20160621003015.GA15593@linux-80c1.suse>
On 06/21/2016 02:30 AM, Davidlohr Bueso wrote:
> On Sat, 18 Jun 2016, Manfred Spraul wrote:
>
>> diff --git a/include/linux/sem.h b/include/linux/sem.h
>> index 976ce3a..d0efd6e 100644
>> --- a/include/linux/sem.h
>> +++ b/include/linux/sem.h
>> @@ -21,6 +21,7 @@ struct sem_array {
>> struct list_head list_id; /* undo requests on this array */
>> int sem_nsems; /* no. of semaphores in array */
>> int complex_count; /* pending complex operations */
>
> I see this patch also takes care of complex_count needing READ/WRITE_ONCE
> as you change that to always be done with the big sem_perm lock.
>
>> + bool complex_mode; /* no parallel simple ops */
>
> But I'm wondering about races with this one. Doesn't complex_mode need
> acquire/release semantics?
>
Yes. complex_mode needs acquire/release.
>> };
>>
>
> [...]
>
>> /*
>> - * Wait until all currently ongoing simple ops have completed.
>> + * Enter the mode suitable for non-simple operations:
>> * Caller must own sem_perm.lock.
>> - * New simple ops cannot start, because simple ops first check
>> - * that sem_perm.lock is free.
>> - * that a) sem_perm.lock is free and b) complex_count is 0.
>> */
>> -static void sem_wait_array(struct sem_array *sma)
>> +static void complexmode_enter(struct sem_array *sma)
>> {
>> int i;
>> struct sem *sem;
>>
>> - if (sma->complex_count) {
>> - /* The thread that increased sma->complex_count waited on
>> - * all sem->lock locks. Thus we don't need to wait again.
>> - */
>> + if (sma->complex_mode) {
>> + /* We are already in complex_mode. Nothing to do */
>
> This complex_mode load is serialized because both complexmode_enter() and
> _tryleave(), which are the main calls that modify the variable, are
> serialized
> by sem_perm lock, right?
>
Exactly. Changes to complex_mode are protected by perm.lock.
>> return;
>> }
>
> Btw, I like that this logic is much simpler, just by reading the
> comments :)
>
>> + WRITE_ONCE(sma->complex_mode, true);
>> +
>> + /* We need a full barrier:
>> + * The write to complex_mode must be visible
>> + * before we read the first sem->lock spinlock state.
>> + */
>> + smp_mb();
>>
Theoretically: smp_store_acquire. but this doesn't exist, so smp_mb()
>> for (i = 0; i < sma->sem_nsems; i++) {
>> sem = sma->sem_base + i;
>> @@ -285,6 +294,29 @@ static void sem_wait_array(struct sem_array *sma)
>> }
>>
>> /*
>> + * Try to leave the mode that disallows simple operations:
>> + * Caller must own sem_perm.lock.
>> + */
>> +static void complexmode_tryleave(struct sem_array *sma)
>> +{
>> + if (sma->complex_count) {
>> + /* Complex ops are sleeping.
>> + * We must stay in complex mode
>> + */
>> + return;
>> + }
>> + /*
>> + * Immediately after setting complex_mode to false,
>> + * a simple op can start. Thus: all memory writes
>> + * performed by the current operation must be visible
>> + * before we set complex_mode to false.
>> + */
>> + smp_wmb();
>> +
>> + WRITE_ONCE(sma->complex_mode, false);
>
> smp_store_release()? See below.
>
Yes
>> +}
>> +
>> +/*
>> * If the request contains only one semaphore operation, and there are
>> * no complex transactions pending, lock only the semaphore involved.
>> * Otherwise, lock the entire semaphore array, since we either have
>> @@ -300,56 +332,38 @@ static inline int sem_lock(struct sem_array
>> *sma, struct sembuf *sops,
>> /* Complex operation - acquire a full lock */
>> ipc_lock_object(&sma->sem_perm);
>>
>> - /* And wait until all simple ops that are processed
>> - * right now have dropped their locks.
>> - */
>> - sem_wait_array(sma);
>> + /* Prevent parallel simple ops */
>> + complexmode_enter(sma);
>> return -1;
>> }
>>
>> /*
>> * Only one semaphore affected - try to optimize locking.
>> - * The rules are:
>> - * - optimized locking is possible if no complex operation
>> - * is either enqueued or processed right now.
>> - * - The test for enqueued complex ops is simple:
>> - * sma->complex_count != 0
>> - * - Testing for complex ops that are processed right now is
>> - * a bit more difficult. Complex ops acquire the full lock
>> - * and first wait that the running simple ops have completed.
>> - * (see above)
>> - * Thus: If we own a simple lock and the global lock is free
>> - * and complex_count is now 0, then it will stay 0 and
>> - * thus just locking sem->lock is sufficient.
>> + * Optimized locking is possible if no complex operation
>> + * is either enqueued or processed right now.
>> + *
>> + * Both facts are tracked by complex_mode.
>> */
>> sem = sma->sem_base + sops->sem_num;
>>
>> - if (sma->complex_count == 0) {
>> + /*
>> + * Initial check for complex_mode. Just an optimization,
>> + * no locking.
>> + */
>> + if (!READ_ONCE(sma->complex_mode)) {
>
> We have no lock (which is the whole point), I think we need stronger
> guarantees here to avoid racing with another thread that holds sem_perm
> lock and is entering complexmode for the first time or vice versa with
> tryleave(). An smp_load_acquire here would pair with the suggested
> smp_store_release calls.
>
Yes,you are right.
What I'm not sure yet is if smp_load_acquire() is sufficient:
Thread A:
> if (!READ_ONCE(sma->complex_mode)) {
The code is test_and_test, no barrier requirements for first test
> /*
> * It appears that no complex operation is around.
> * Acquire the per-semaphore lock.
> */
> spin_lock(&sem->lock);
>
> if (!smp_load_acquire(&sma->complex_mode)) {
> /* fast path successful! */
> return sops->sem_num;
> }
> spin_unlock(&sem->lock);
> }
Thread B:
> WRITE_ONCE(sma->complex_mode, true);
>
> /* We need a full barrier:
> * The write to complex_mode must be visible
> * before we read the first sem->lock spinlock state.
> */
> smp_mb();
>
> for (i = 0; i < sma->sem_nsems; i++) {
> sem = sma->sem_base + i;
> spin_unlock_wait(&sem->lock);
> }
If thread A is allowed to issue read_spinlock;read complex_mode;write
spinlock, then thread B would not notice that thread A is in the
critical section
> Thanks,
> Davidlohr
I'll update the patch.
--
Manfred
^ permalink raw reply
* Re: [PATCH 1/2] ipc/sem.c: Fix complex_count vs. simple op race
From: Manfred Spraul @ 2016-06-23 18:55 UTC (permalink / raw)
To: Andrew Morton
Cc: Stephen Rothwell, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
Peter Zijlstra, LKML, linux-next, 1vier1, Davidlohr Bueso, felixh,
stable
In-Reply-To: <20160620160456.a07982236e08d6d6be4cd442@linux-foundation.org>
On 06/21/2016 01:04 AM, Andrew Morton wrote:
> On Sat, 18 Jun 2016 22:02:21 +0200 Manfred Spraul <manfred@colorfullife.com> wrote:
>
>> Commit 6d07b68ce16a ("ipc/sem.c: optimize sem_lock()") introduced a race:
>>
>> sem_lock has a fast path that allows parallel simple operations.
>> There are two reasons why a simple operation cannot run in parallel:
>> - a non-simple operations is ongoing (sma->sem_perm.lock held)
>> - a complex operation is sleeping (sma->complex_count != 0)
>>
>> As both facts are stored independently, a thread can bypass the current
>> checks by sleeping in the right positions. See below for more details
>> (or kernel bugzilla 105651).
>>
>> The patch fixes that by creating one variable (complex_mode)
>> that tracks both reasons why parallel operations are not possible.
>>
>> The patch also updates stale documentation regarding the locking.
>>
>> With regards to stable kernels:
>> The patch is required for all kernels that include the commit 6d07b68ce16a
>> ("ipc/sem.c: optimize sem_lock()") (3.10?)
> I've had this in -mm (and -next) since January 4, without issues. I
> put it on hold because Davidlohr expressed concern about performance
> regressions.
I had several ideas how to fix it. The initial ideas probably had
performance issue.
The current one doesn't have any issues. It just took longer than
expected to test it.
> Your [2/2] should prevent those regressions (yes?) so I assume that any
> kernel which has [1/2] really should have [2/2] as well. But without
> any quantitative information, this is all mad guesswork.
>
> What to do?
[2/2] is an improvement, it handles one case better than the current code.
If you want:
3.10 improved scalability, but it introduced a performance regression
for one use case.
[with 3.10, simple ops got parallel, but complex ops had to perform a
"for_each_sem() {spin_unlock_wait()}"]
The patch fixes that.
--
Manfred
^ permalink raw reply
* Re: linux-next: build warning after merge of the pci tree
From: Bjorn Helgaas @ 2016-06-23 16:48 UTC (permalink / raw)
To: Stephen Rothwell
Cc: Bjorn Helgaas, linux-next, linux-kernel, Johannes Thumshirn
In-Reply-To: <20160623115154.62730f7f@canb.auug.org.au>
On Thu, Jun 23, 2016 at 11:51:54AM +1000, Stephen Rothwell wrote:
> Hi Bjorn,
>
> After merging the pci tree, today's linux-next build (x86_64 allmodconfig)
> produced this warning:
>
> drivers/misc/genwqe/card_base.c: In function 'genwqe_pci_remove':
> drivers/misc/genwqe/card_base.c:1155:6: warning: unused variable 'bars' [-Wunused-variable]
> int bars;
> ^
> drivers/misc/genwqe/card_base.c: In function 'genwqe_pci_setup':
> drivers/misc/genwqe/card_base.c:1143:2: warning: 'bars' may be used uninitialized in this function [-Wmaybe-uninitialized]
> pci_release_selected_regions(pci_dev, bars);
> ^
>
> Introduced by commit
>
> 370b01694826 ("GenWQE: Use pci_(request|release)_mem_regions")
Thanks, Stephen. I made the following edits, which should resolve these
warnings. Johannes, let me know if they look right to you.
diff --git a/drivers/misc/genwqe/card_base.c b/drivers/misc/genwqe/card_base.c
index cb398be..a70b853 100644
--- a/drivers/misc/genwqe/card_base.c
+++ b/drivers/misc/genwqe/card_base.c
@@ -1067,7 +1067,7 @@ static int genwqe_health_check_stop(struct genwqe_dev *cd)
*/
static int genwqe_pci_setup(struct genwqe_dev *cd)
{
- int err, bars;
+ int err;
struct pci_dev *pci_dev = cd->pci_dev;
err = pci_enable_device_mem(pci_dev);
@@ -1140,7 +1140,7 @@ static int genwqe_pci_setup(struct genwqe_dev *cd)
out_iounmap:
pci_iounmap(pci_dev, cd->mmio);
out_release_resources:
- pci_release_selected_regions(pci_dev, bars);
+ pci_release_mem_regions(pci_dev);
err_disable_device:
pci_disable_device(pci_dev);
err_out:
@@ -1152,7 +1152,6 @@ static int genwqe_pci_setup(struct genwqe_dev *cd)
*/
static void genwqe_pci_remove(struct genwqe_dev *cd)
{
- int bars;
struct pci_dev *pci_dev = cd->pci_dev;
if (cd->mmio)
^ permalink raw reply related
* Re: linux-next: manual merge of the pci tree with Linus' tree
From: Bjorn Helgaas @ 2016-06-23 16:43 UTC (permalink / raw)
To: Stephen Rothwell
Cc: Bjorn Helgaas, linux-next, linux-kernel, Johannes Thumshirn,
Jens Axboe
In-Reply-To: <20160623114429.1815794f@canb.auug.org.au>
On Thu, Jun 23, 2016 at 11:44:29AM +1000, Stephen Rothwell wrote:
> Hi Bjorn,
>
> Today's linux-next merge of the pci tree got a conflict in:
>
> drivers/nvme/host/pci.c
>
> between commit:
>
> edb50a5403d2 ("NVMe: Only release requested regions")
>
> from Linus' tree and commit:
>
> a1f447b35b72 ("NVMe: Use pci_(request|release)_mem_regions")
>
> from the pci tree.
>
> I fixed it up (I just used the pci tree version of this file) and can
> carry the fix as necessary. This is now fixed as far as linux-next is
> concerned, but any non trivial conflicts should be mentioned to your
> upstream maintainer when your tree is submitted for merging. You may
> also want to consider cooperating with the maintainer of the conflicting
> tree to minimise any particularly complex conflicts.
Thanks for the heads-up. I think using the pci tree version is the
correct resolution.
Bjorn
^ permalink raw reply
* Re: linux-next: manual merge of the audit tree with the security tree
From: Paul Moore @ 2016-06-23 16:14 UTC (permalink / raw)
To: Heiko Carstens
Cc: Stephen Rothwell, James Morris, linux-next, linux-kernel,
Kees Cook, Martin Schwidefsky
In-Reply-To: <20160623060113.GA3866@osiris>
On Thu, Jun 23, 2016 at 2:01 AM, Heiko Carstens
<heiko.carstens@de.ibm.com> wrote:
> On Thu, Jun 23, 2016 at 02:18:14PM +1000, Stephen Rothwell wrote:
>> Hi Paul,
>>
>> Today's linux-next merge of the audit tree got a conflict in:
>>
>> arch/s390/kernel/ptrace.c
>>
>> between commit:
>>
>> 0208b9445bc0 ("s390/ptrace: run seccomp after ptrace")
>>
>> from the security tree and commit:
>>
>> bba696c2c083 ("s390: ensure that syscall arguments are properly masked on s390")
>>
>> from the audit tree.
>
> Hmm, I haven't seen that commit, therefore I'm just commenting on the
> result ;)
It was sent to the linux-audit and linux-s390 mailing lists yesterday
with a follow up comment that I was going to add it to the audit#next
branch and if anyone had any objections to let me know.
* https://www.redhat.com/archives/linux-audit/2016-June/msg00051.html
>> diff --cc arch/s390/kernel/ptrace.c
>> index cea17010448f,ac1dc74632b0..000000000000
>> --- a/arch/s390/kernel/ptrace.c
>> +++ b/arch/s390/kernel/ptrace.c
>> @@@ -821,6 -821,16 +821,8 @@@ long compat_arch_ptrace(struct task_str
>>
>> asmlinkage long do_syscall_trace_enter(struct pt_regs *regs)
>> {
>> - long ret = 0;
>> + unsigned long mask = -1UL;
>> +
>> - /* Do the secure computing check first. */
>> - if (secure_computing()) {
>> - /* seccomp failures shouldn't expose any additional code. */
>> - ret = -1;
>> - goto out;
>> - }
>> -
>> /*
>> * The sysc_tracesys code in entry.S stored the system
>> * call number to gprs[2].
>> @@@ -846,11 -850,15 +848,14 @@@
>> if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT)))
>> trace_sys_enter(regs, regs->gprs[2]);
>>
>> - audit_syscall_entry(regs->gprs[2], regs->orig_gpr2,
>> - regs->gprs[3], regs->gprs[4],
>> - regs->gprs[5]);
>> -
>> + #ifdef CONFIG_COMPAT
>> + if (test_thread_flag(TIF_31BIT))
>> + mask = 0xffffffff;
>> + #endif
>
> Better: use is_compat_task() and avoid yet another ifdef.
Sounds reasonable.
>> + audit_syscall_entry(regs->gprs[2], regs->orig_gpr2 & mask,
>> + regs->gprs[3] & mask, regs->gprs[4] & mask,
>> + regs->gprs[5] & mask);
>
> With these masks it is more correct, however these are still not the values
> used by the system call itself. This would be still incorrect for
> e.g. compat pointers (31 bit on s390).
>
> So it seems like audit_syscall_entry should be called after all sign, zero
> and masking has been done?
For someone not familiar with s390, compat or not, where would you
suggest we place the audit_syscall_entry() call?
--
paul moore
www.paul-moore.com
^ permalink raw reply
* Re: linux-next: build warning after merge of the akpm-current tree
From: Mel Gorman @ 2016-06-23 14:00 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: Andrew Morton, linux-next, linux-kernel
In-Reply-To: <20160623165321.01995531@canb.auug.org.au>
On Thu, Jun 23, 2016 at 04:53:21PM +1000, Stephen Rothwell wrote:
> Hi Andrew,
>
> After merging the akpm-current tree, today's linux-next build (powerpc
> ppc64_defconfig and x86_64 allmodconfig) produced this warning:
>
I asked that Andrew drop the patch series that introduced this problem.
It's fixed in a private tree but it's not ready for reposting yet.
--
Mel Gorman
SUSE Labs
^ permalink raw reply
* next-20160623 build: 2 failures 12 warnings (next-20160623)
From: Build bot for Mark Brown @ 2016-06-23 11:34 UTC (permalink / raw)
To: kernel-build-reports, linaro-kernel, linux-next
Tree/Branch: next-20160623
Git describe: next-20160623
Commit: 5c4d1ca9cf Add linux-next specific files for 20160623
Build Time: 135 min 20 sec
Passed: 7 / 9 ( 77.78 %)
Failed: 2 / 9 ( 22.22 %)
Errors: 1
Warnings: 12
Section Mismatches: 0
Failed defconfigs:
arm64-allmodconfig
arm-allmodconfig
Errors:
arm-allmodconfig
../include/linux/compiler-gcc.h:248:38: error: impossible constraint in 'asm'
../include/linux/compiler-gcc.h:248:38: error: impossible constraint in 'asm'
../include/linux/compiler-gcc.h:248:38: error: impossible constraint in 'asm'
-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
6 warnings 0 mismatches : arm64-allmodconfig
16 warnings 0 mismatches : arm-multi_v5_defconfig
1 warnings 0 mismatches : x86_64-defconfig
68 warnings 0 mismatches : arm-allmodconfig
2 warnings 0 mismatches : arm-allnoconfig
1 warnings 0 mismatches : x86_64-allnoconfig
-------------------------------------------------------------------------------
Errors summary: 1
3 ../include/linux/compiler-gcc.h:248:38: error: impossible constraint in 'asm'
Warnings Summary: 12
66 ../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
8 ../include/linux/vmstat.h:117:34: warning: array subscript is above array bounds [-Warray-bounds]
8 ../include/linux/vmstat.h:116:35: warning: array subscript is above array bounds [-Warray-bounds]
2 ../net/rxrpc/peer_object.c:57:15: warning: 'p' may be used uninitialized in this function [-Wmaybe-uninitialized]
2 ../include/linux/prefetch.h:42:22: warning: array subscript is above array bounds [-Warray-bounds]
2 ../include/linux/dynamic_debug.h:134:3: warning: 'carrier_offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 ../include/linux/kernel.h:743:17: warning: comparison of distinct pointer types lacks a cast
1 ../drivers/misc/genwqe/card_base.c:1155:6: warning: unused variable 'bars' [-Wunused-variable]
1 ../drivers/misc/genwqe/card_base.c:1143:2: warning: 'bars' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 ../drivers/base/node.c:127:31: warning: passing argument 1 of 'node_page_state' makes pointer from integer without a cast [-Wint-conversion]
1 ../drivers/base/node.c:127:31: warning: passing argument 1 of 'node_page_state' makes pointer from integer without a cast
1 ../arch/x86/include/asm/atomic64_64.h:45:2: warning: array subscript is above array bounds [-Warray-bounds]
===============================================================================
Detailed per-defconfig build reports below:
-------------------------------------------------------------------------------
arm64-allmodconfig : FAIL, 0 errors, 6 warnings, 0 section mismatches
Warnings:
../drivers/base/node.c:127:31: warning: passing argument 1 of 'node_page_state' makes pointer from integer without a cast [-Wint-conversion]
../include/linux/kernel.h:743:17: warning: comparison of distinct pointer types lacks a cast
../net/rxrpc/peer_object.c:57:15: warning: 'p' may be used uninitialized in this function [-Wmaybe-uninitialized]
../drivers/misc/genwqe/card_base.c:1155:6: warning: unused variable 'bars' [-Wunused-variable]
../drivers/misc/genwqe/card_base.c:1143:2: warning: 'bars' may be used uninitialized in this function [-Wmaybe-uninitialized]
../include/linux/dynamic_debug.h:134:3: warning: 'carrier_offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
arm-multi_v5_defconfig : PASS, 0 errors, 16 warnings, 0 section mismatches
Warnings:
../include/linux/vmstat.h:116:35: warning: array subscript is above array bounds [-Warray-bounds]
../include/linux/vmstat.h:116:35: warning: array subscript is above array bounds [-Warray-bounds]
../include/linux/vmstat.h:117:34: warning: array subscript is above array bounds [-Warray-bounds]
../include/linux/vmstat.h:117:34: warning: array subscript is above array bounds [-Warray-bounds]
../include/linux/vmstat.h:116:35: warning: array subscript is above array bounds [-Warray-bounds]
../include/linux/vmstat.h:116:35: warning: array subscript is above array bounds [-Warray-bounds]
../include/linux/vmstat.h:117:34: warning: array subscript is above array bounds [-Warray-bounds]
../include/linux/vmstat.h:117:34: warning: array subscript is above array bounds [-Warray-bounds]
../include/linux/vmstat.h:116:35: warning: array subscript is above array bounds [-Warray-bounds]
../include/linux/vmstat.h:116:35: warning: array subscript is above array bounds [-Warray-bounds]
../include/linux/vmstat.h:117:34: warning: array subscript is above array bounds [-Warray-bounds]
../include/linux/vmstat.h:117:34: warning: array subscript is above array bounds [-Warray-bounds]
../include/linux/vmstat.h:116:35: warning: array subscript is above array bounds [-Warray-bounds]
../include/linux/vmstat.h:116:35: warning: array subscript is above array bounds [-Warray-bounds]
../include/linux/vmstat.h:117:34: warning: array subscript is above array bounds [-Warray-bounds]
../include/linux/vmstat.h:117:34: warning: array subscript is above array bounds [-Warray-bounds]
-------------------------------------------------------------------------------
x86_64-defconfig : PASS, 0 errors, 1 warnings, 0 section mismatches
Warnings:
../drivers/base/node.c:127:31: warning: passing argument 1 of 'node_page_state' makes pointer from integer without a cast
-------------------------------------------------------------------------------
arm-allmodconfig : FAIL, 3 errors, 68 warnings, 0 section mismatches
Errors:
../include/linux/compiler-gcc.h:248:38: error: impossible constraint in 'asm'
../include/linux/compiler-gcc.h:248:38: error: impossible constraint in 'asm'
../include/linux/compiler-gcc.h:248:38: error: impossible constraint in 'asm'
Warnings:
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../include/linux/compiler-gcc.h:248:38: warning: asm operand 0 probably doesn't match constraints
../net/rxrpc/peer_object.c:57:15: warning: 'p' may be used uninitialized in this function [-Wmaybe-uninitialized]
../include/linux/dynamic_debug.h:134:3: warning: 'carrier_offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
arm-allnoconfig : PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
../include/linux/prefetch.h:42:22: warning: array subscript is above array bounds [-Warray-bounds]
../include/linux/prefetch.h:42:22: warning: array subscript is above array bounds [-Warray-bounds]
-------------------------------------------------------------------------------
x86_64-allnoconfig : PASS, 0 errors, 1 warnings, 0 section mismatches
Warnings:
../arch/x86/include/asm/atomic64_64.h:45:2: warning: array subscript is above array bounds [-Warray-bounds]
-------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
arm64-allnoconfig
arm-multi_v7_defconfig
arm64-defconfig
^ permalink raw reply
* linux-next: Tree for Jun 23
From: Stephen Rothwell @ 2016-06-23 7:03 UTC (permalink / raw)
To: linux-next; +Cc: linux-kernel
Hi all,
Changes since 20160622:
The pci tree gained a conflict against Linus' tree.
The sunxi tree gained a conflict against the drm-misc tree.
The audit tree gained a conflict against the security tree.
Non-merge commits (relative to Linus' tree): 5152
4945 files changed, 228135 insertions(+), 97006 deletions(-)
----------------------------------------------------------------------------
I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
(patches at http://www.kernel.org/pub/linux/kernel/next/ ). If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one. You should use "git fetch" and checkout or reset to the new
master.
You can see which trees have been included by looking in the Next/Trees
file in the source. There are also quilt-import.log and merge.log
files in the Next directory. Between each merge, the tree was built
with a ppc64_defconfig for powerpc and an allmodconfig (with
CONFIG_BUILD_DOCSRC=n) for x86_64, a multi_v7_defconfig for arm and a
native build of tools/perf. After the final fixups (if any), I do an
x86_64 modules_install followed by builds for x86_64 allnoconfig,
powerpc allnoconfig (32 and 64 bit), ppc44x_defconfig, allyesconfig
(this fails its final link) and pseries_le_defconfig and i386, sparc
and sparc64 defconfig.
Below is a summary of the state of the merge.
I am currently merging 234 trees (counting Linus' and 34 trees of patches
pending for Linus' tree).
Stats about the size of the tree over time can be seen at
http://neuling.org/linux-next-size.html .
Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next . If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.
Thanks to Randy Dunlap for doing many randconfig builds. And to Paul
Gortmaker for triage and bug fixes.
--
Cheers,
Stephen Rothwell
$ git checkout master
$ git reset --hard stable
Merging origin/master (f9020d17416a Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace)
Merging fixes/master (5edb56491d48 Linux 4.7-rc3)
Merging kbuild-current/rc-fixes (b36fad65d61f kbuild: Initialize exported variables)
Merging arc-current/for-curr (5edb56491d48 Linux 4.7-rc3)
Merging arm-current/fixes (56530f5d2ddc ARM: 8579/1: mm: Fix definition of pmd_mknotpresent)
Merging m68k-current/for-linus (9a6462763b17 m68k/mvme16x: Include generic <linux/rtc.h>)
Merging metag-fixes/fixes (0164a711c97b metag: Fix ioremap_wc/ioremap_cached build errors)
Merging powerpc-fixes/fixes (8550e2fa34f0 powerpc/mm/hash: Use the correct PPP mask when updating HPTE)
Merging powerpc-merge-mpe/fixes (bc0195aad0da Linux 4.2-rc2)
Merging sparc/master (6b15d6650c53 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net)
Merging net/master (acd43fe85b2d Merge branch 'mlx4-fixes')
Merging ipsec/master (d6af1a31cc72 vti: Add pmtu handling to vti_xmit.)
Merging ipvs/master (50219538ffc0 vmxnet3: segCnt can be 1 for LRO packets)
Merging wireless-drivers/master (034fdd4a17ff Merge ath-current from ath.git)
Merging mac80211/master (3d5fdff46c4b wext: Fix 32 bit iwpriv compatibility issue with 64 bit Kernel)
Merging sound-current/for-linus (c9058d43d994 ALSA: hda/tegra: iomem fixups for sparse warnings)
Merging pci-current/for-linus (ef0dab4aae14 PCI: Fix unaligned accesses in VC code)
Merging driver-core.current/driver-core-linus (e80dac114c63 Merge tag 'usb-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb)
Merging tty.current/tty-linus (33688abb2802 Linux 4.7-rc4)
Merging usb.current/usb-linus (33688abb2802 Linux 4.7-rc4)
Merging usb-gadget-fixes/fixes (50c763f8c1ba usb: dwc3: Set the ClearPendIN bit on Clear Stall EP command)
Merging usb-serial-fixes/usb-linus (33688abb2802 Linux 4.7-rc4)
Merging usb-chipidea-fixes/ci-for-usb-stable (ea1d39a31d3b usb: common: otg-fsm: add license to usb-otg-fsm)
Merging staging.current/staging-linus (df013212a1b6 Merge tag 'iio-fixes-for-4.7b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus)
Merging char-misc.current/char-misc-linus (e80dac114c63 Merge tag 'usb-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb)
Merging input-current/for-linus (30172936eefb MAINTAINERS: add Pali Rohár as reviewer of ALPS PS/2 touchpad driver)
Merging crypto-current/master (19ced623db2f crypto: ux500 - memmove the right size)
Merging ide/master (1993b176a822 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide)
Merging rr-fixes/fixes (8244062ef1e5 modules: fix longstanding /proc/kallsyms vs module insertion race.)
Merging vfio-fixes/for-linus (ce7585f3c4d7 vfio/pci: Allow VPD short read)
Merging kselftest-fixes/fixes (f80eb4289491 selftests/exec: Makefile is a run-time dependency, add it to the install list)
Merging backlight-fixes/for-backlight-fixes (68feaca0b13e backlight: pwm: Handle EPROBE_DEFER while requesting the PWM)
Merging ftrace-fixes/for-next-urgent (6224beb12e19 tracing: Have branch tracer use recursive field of task struct)
Merging mfd-fixes/for-mfd-fixes (59461c018204 mfd: max77620: Fix FPS switch statements)
Merging drm-intel-fixes/for-linux-next-fixes (1e3fa0acfec6 drm/i915/fbc: Disable on HSW by default for now)
Merging asm-generic/master (b0da6d44157a asm-generic: Drop renameat syscall from default list)
Merging arc/for-next (5edb56491d48 Linux 4.7-rc3)
Merging arm/for-next (f07617e99523 Merge branches 'component', 'fixes' and 'misc' into for-next)
Merging arm-perf/for-next/perf (4ba2578fa7b5 arm64: perf: don't expose CHAIN event in sysfs)
Merging arm-soc/for-next (ea371ddc86ff ARM: SoC: Document merges)
Merging amlogic/for-next (00b3dbd4ccce Merge branch 'v4.7/deps/external' into tmp/aml-reset)
Merging at91/at91-next (0f59c948faed Merge tag 'at91-ab-4.8-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into at91-next)
Merging bcm2835/for-next (aa5c0a1e15c2 Merge branch anholt/bcm2835-dt-64-next into for-next)
Merging berlin/berlin/for-next (1a695a905c18 Linux 4.7-rc1)
Merging cortex-m/for-next (f719a0d6a854 ARM: efm32: switch to vendor,device compatible strings)
Merging imx-mxs/for-next (b2f6951491c7 Merge branch 'imx/defconfig' into for-next)
Merging keystone/next (eef6bb9fc17a Merge branch 'for_4.8/keystone' into next)
Merging mvebu/for-next (56454a34f5d6 Merge branch 'mvebu/defconfig64' into mvebu/for-next)
Merging omap/for-next (6d319b7e94e9 Merge branch 'omap-for-v4.8/soc' into for-next)
Merging omap-pending/for-next (c20c8f750d9f ARM: OMAP2+: hwmod: fix _idle() hwmod state sanity check sequence)
Merging qcom/for-next (275804c07f41 firmware: qcom: scm: Peripheral Authentication Service)
Merging renesas/next (58ad5755a31c Merge branch 'heads/arm64-dt-for-v4.8' into next)
Merging rockchip/for-next (3c77879bcab7 Merge branch 'v4.8-armsoc/dts64' into for-next)
Merging rpi/for-rpi-next (bc0195aad0da Linux 4.2-rc2)
Merging samsung/for-next (92e963f50fc7 Linux 4.5-rc1)
Merging samsung-krzk/for-next (87c76faf017f Merge branch 'next/drivers' into for-next)
CONFLICT (content): Merge conflict in arch/arm/boot/dts/exynos5420.dtsi
Merging tegra/for-next (7c7a0b23a909 Merge branch for-4.8/arm64 into for-next)
Merging arm64/for-next/core (d770b5a04790 Revert "arm64: Add support ARCH_SUPPORTS_INT128")
Merging blackfin/for-linus (391e74a51ea2 eth: bf609 eth clock: add pclk clock for stmmac driver probe)
CONFLICT (content): Merge conflict in arch/blackfin/mach-common/pm.c
Merging c6x/for-linux-next (ca3060d39ae7 c6x: Use generic clkdev.h header)
Merging cris/for-next (f9f3f864b5e8 cris: Fix section mismatches in architecture startup code)
Merging h8300/h8300-next (58c57526711f h8300: Add missing include file to asm/io.h)
Merging hexagon/linux-next (02cc2ccfe771 Revert "Hexagon: fix signal.c compile error")
Merging ia64/next (70f4f9352317 ia64: efi: use timespec64 for persistent clock)
Merging m68k/for-next (9a6462763b17 m68k/mvme16x: Include generic <linux/rtc.h>)
Merging m68knommu/for-next (33688abb2802 Linux 4.7-rc4)
Merging metag/for-next (592ddeeff8cb metag: Fix typos)
Merging microblaze/next (52e9e6e05617 microblaze: pci: export isa_io_base to fix link errors)
Merging mips/mips-for-linux-next (847e858f3d0e SSB: Change bare unsigned to unsigned int to suit coding style)
Merging nios2/for-next (9fa78f63a892 nios2: Add order-only DTC dependency to %.dtb target)
Merging parisc-hd/for-next (5975b2c0c10a Merge branch 'parisc-4.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux)
Merging powerpc/next (9497a1c1c5b4 powerpc/powernv: Print correct PHB type names)
Merging powerpc-mpe/next (bc0195aad0da Linux 4.2-rc2)
Merging fsl/next (1eef33bec12d powerpc/86xx: Fix PCI interrupt map definition)
Merging mpc5xxx/next (39e69f55f857 powerpc: Introduce the use of the managed version of kzalloc)
Merging s390/features (63bf903583d7 Revert "s390/kdump: Clear subchannel ID to signal non-CCW/SCSI IPL")
Merging sparc-next/master (9f935675d41a Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input)
Merging tile/master (ca768667d873 tile 32-bit big-endian: fix bugs in syscall argument order)
Merging uml/linux-next (a78ff1112263 um: add extended processor state save/restore support)
Merging unicore32/unicore32 (c83d8b2fc986 unicore32: mm: Add missing parameter to arch_vma_access_permitted)
Merging xtensa/for_next (9da8320bb977 xtensa: add test_kc705_hifi variant)
Merging btrfs/next (c315ef8d9db7 Merge branch 'for-chris-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/fdmanana/linux into for-linus-4.7)
Merging btrfs-kdave/for-next (8f4aa7bf64af Merge branch 'for-next-next-4.7-20160617' into for-next-20160617)
Merging ceph/master (f6973c09490c ceph: use i_version to check validity of fscache)
Merging cifs/for-next (3bdc426e2497 cifs: dynamic allocation of ntlmssp blob)
Merging configfs/for-next (96c22a329351 configfs: fix CONFIGFS_BIN_ATTR_[RW]O definitions)
Merging ecryptfs/next (40f0fd372a62 ecryptfs: fix spelling mistakes)
Merging ext3/for_next (e008bb6134a6 quota: use time64_t internally)
Merging ext4/dev (12735f881952 ext4: pre-zero allocated blocks for DAX IO)
Merging f2fs/dev (a2481adac819 f2fs: avoid latency-critical readahead of node pages)
Merging fscache/fscache (b00c2ae2ed3c FS-Cache: Don't override netfs's primary_index if registering failed)
Merging fuse/for-next (507c552aa58f fuse: improve aio directIO write performance for size extending writes)
Merging gfs2/for-next (1e875f5a95a2 gfs2: Initialize iopen glock holder for new inodes)
Merging jfs/jfs-next (6ed71e9819ac jfs: Coalesce some formats)
Merging nfs/linux-next (2e96ce77ba0a Merge branch 'writeback')
Merging nfsd/nfsd-next (ee8f2a36a99c nfsd: allow nfsd to advertise multiple layout types)
Merging orangefs/for-next (2dcd0af568b0 Linux 4.6)
Merging overlayfs/overlayfs-next (f920c41f047a ovl: move some common code in a function)
Merging v9fs/for-next (a333e4bf2556 fs/9p: use fscache mutex rather than spinlock)
Merging ubifs/linux-next (4ac1c17b2044 UBIFS: Implement ->migratepage())
Merging xfs/for-next (f477cedc4e79 Merge branch 'xfs-4.8-misc-fixes-2' into for-next)
Merging file-locks/linux-next (5af9c2e19da6 Merge branch 'akpm' (patches from Andrew))
Merging vfs/for-next (1eb82bc8e712 Merge branch 'for-linus' into for-next)
Merging pci/next (c8a6cb73aefa Merge branch 'pci/resource' into next)
CONFLICT (content): Merge conflict in drivers/nvme/host/pci.c
Merging pstore/for-next/pstore (35da60941e44 pstore/ram: add Device Tree bindings)
Merging hid/for-next (02dc1efc8e62 Merge branch 'for-4.8/i2c-hid' into for-next)
Merging i2c/i2c/for-next (d86a4c24d68e Merge branch 'i2c/for-current' into i2c/for-next)
Merging jdelvare-hwmon/master (18c358ac5e32 Documentation/hwmon: Update links in max34440)
Merging dmi/master (c3db05ecf8ac firmware: dmi_scan: Save SMBIOS Type 9 System Slots)
Merging hwmon-staging/hwmon-next (d4db8217f4b7 hwmon: (dell-smm) In debug mode log duration of SMM calls)
Merging v4l-dvb/master (2ed52999aaf3 Merge branch 'patchwork' into to_next)
Merging pm/linux-next (8251efc372e0 Merge branch 'acpi-thermal' into linux-next)
Merging idle/next (f55532a0c0b8 Linux 4.6-rc1)
Merging thermal/next (2c5ce98e1e83 thermal: sysfs: add comments describing locking strategy)
Merging thermal-soc/next (ddc8fdc6e2f0 Merge branch 'work-fixes' into work-next)
CONFLICT (add/add): Merge conflict in drivers/thermal/tango_thermal.c
CONFLICT (content): Merge conflict in drivers/thermal/rockchip_thermal.c
Merging ieee1394/for-next (384fbb96f926 firewire: nosy: Replace timeval with timespec64)
Merging dlm/next (82c7d823cc31 dlm: config: Fix ENOMEM failures in make_cluster())
Merging swiotlb/linux-next (386744425e35 swiotlb: Make linux/swiotlb.h standalone includible)
Merging slave-dma/next (73a14400c949 Merge branch 'topic/xilinx' into next)
Merging net-next/master (b95e5928fcc7 openvswitch: Add packet len info to upcall.)
CONFLICT (content): Merge conflict in tools/virtio/ringtest/Makefile
CONFLICT (content): Merge conflict in net/rds/tcp_listen.c
CONFLICT (content): Merge conflict in net/rds/tcp_connect.c
CONFLICT (content): Merge conflict in drivers/net/ethernet/qlogic/qed/qed_hsi.h
CONFLICT (content): Merge conflict in arch/arm64/boot/dts/broadcom/ns2.dtsi
CONFLICT (content): Merge conflict in arch/arm64/boot/dts/broadcom/ns2-svk.dts
Merging ipsec-next/master (cb866e3298cd xfrm: Increment statistic counter on inner mode error)
Merging ipvs-next/master (625b44fc15f8 ipvs: count pre-established TCP states as active)
Merging wireless-drivers-next/master (1bb57c8a5e33 Merge ath-next from ath.git)
Merging bluetooth/master (0e9390ebf1fe Merge branch 'mlxsw-next')
Merging mac80211-next/master (e69f73bfecb0 Merge branch 'remove-qdisc-throttle')
Merging rdma/for-next (61c78eea9516 IB/IPoIB: Don't update neigh validity for unresolved entries)
Merging rdma-leon/rdma-next (33688abb2802 Linux 4.7-rc4)
Merging rdma-leon-test/testing/rdma-next (8d5a226336a1 Merge branch 'topic/xrq-api' into testing/rdma-next)
Merging mtd/master (becc7ae544c6 MAINTAINERS: Add file patterns for mtd device tree bindings)
Merging l2-mtd/master (95193796256c mtd: m25p80: read in spi_max_transfer_size chunks)
Merging nand/nand/next (ba6f6d603b45 mtd: nandbiterrs: Support for NAND biterrors test on platforms without raw write)
Merging crypto/master (01ac94580ac2 crypto: drbg - fix an error code in drbg_init_sym_kernel())
Merging drm/drm-next (a0877f520352 Merge tag 'topic/drm-misc-2016-06-15' of git://anongit.freedesktop.org/drm-intel into drm-next)
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_display.c
Merging drm-panel/drm/panel/for-next (f103b93d90c2 drm/dsi: Add uevent callback)
Merging drm-intel/for-linux-next (64989ca4b27a drm/i915: Refresh cached DP port register value on resume)
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_fbc.c
Merging drm-tegra/drm/tegra/for-next (057eab2013ec MAINTAINERS: Remove Terje Bergström as Tegra DRM maintainer)
Merging drm-misc/topic/drm-misc (f510f34c12f6 drm/vc4: Remove unused connector)
CONFLICT (content): Merge conflict in drivers/gpu/drm/sti/sti_drv.c
Merging drm-exynos/exynos-drm/for-next (25364a9e54fb Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid)
Merging drm-msm/msm-next (2b669875332f drm/msm: Drop load/unload drm_driver ops)
Merging hdlcd/for-upstream/hdlcd (f6c68b4bd4a9 drm: hdlcd: Add information about the underlying framebuffers in debugfs)
Merging mali-dp/for-upstream/mali-dp (59ba2422b430 MAINTAINERS: Add entry for Mali-DP driver)
Merging sunxi/sunxi/for-next (b7e7559f439c Merge branches 'sunxi/clk-fixes-for-4.7', 'sunxi/dt-for-4.8' and 'sunxi/fixes-for-4.7' into sunxi/for-next)
CONFLICT (content): Merge conflict in drivers/gpu/drm/sun4i/sun4i_drv.c
Merging kbuild/for-next (7e01dad0469b Merge branch 'kbuild/kbuild' into kbuild/for-next)
Applying: gcc-plugins: disable under COMPILE_TEST
Merging kspp/for-next/kspp (20f0992c935f latent_entropy: Add the extra_latent_entropy kernel parameter)
Merging kconfig/for-next (5bcba792bb30 localmodconfig: Fix whitespace repeat count after "tristate")
Merging regmap/for-next (e568f95409ca Merge remote-tracking branches 'regmap/topic/i2c', 'regmap/topic/irq' and 'regmap/topic/maintainers' into regmap-next)
Merging sound/for-next (3915bf294652 ALSA: seq_timer: use monotonic times internally)
Merging sound-asoc/for-next (429d6433f544 Merge remote-tracking branch 'asoc/topic/wm8985' into asoc-next)
Merging modules/modules-next (e2d1248432c4 module: Disable MODULE_FORCE_LOAD when MODULE_SIG_FORCE is enabled)
Merging input/next (9096a45d99d0 Input: psmouse - use same format for secondary devices as for primary)
Merging block/for-next (3cee5575153a Merge branch 'for-4.8/core' into for-next)
CONFLICT (content): Merge conflict in fs/f2fs/segment.c
CONFLICT (content): Merge conflict in fs/f2fs/data.c
CONFLICT (content): Merge conflict in fs/btrfs/extent_io.c
CONFLICT (content): Merge conflict in block/blk-lib.c
Merging lightnvm/for-next (2a65aee4011b lightnvm: reserved space calculation incorrect)
Merging device-mapper/for-next (0fe0a864be7f Merge branch 'dm-4.7' into for-next)
Merging pcmcia/master (e8e68fd86d22 pcmcia: do not break rsrc_nonstatic when handling anonymous cards)
Merging mmc-uh/next (14c5283a54a5 mmc: sdhci: use pr_err for sdhci_dumpregs)
Merging md/for-next (d787be4092e2 md: reduce the number of synchronize_rcu() calls when multiple devices fail.)
CONFLICT (content): Merge conflict in drivers/md/raid10.c
CONFLICT (content): Merge conflict in drivers/md/raid1.c
Merging mfd/for-mfd-next (1cf9326d4c07 mfd: max14577: Allow driver to be built as a module)
Merging backlight/for-backlight-next (4db8c9572ce1 backlight: lp855x: Add enable regulator)
Merging battery/master (2e05b518c897 power_supply: bq27xxx_battery: Group register mappings into one table)
Merging omap_dss2/for-next (ab366b40b851 fbdev: Use IS_ENABLED() instead of checking for built-in or module)
Merging regulator/for-next (2ba439344fde Merge remote-tracking branches 'regulator/topic/qcom-smd' and 'regulator/topic/twl' into regulator-next)
Merging security/next (26703c636c1f um/ptrace: run seccomp after ptrace)
Merging integrity/next (848b134bf8e7 ima: extend the measurement entry specific pcr)
Merging keys/keys-next (75aeddd12f20 MAINTAINERS: Update keyrings record and add asymmetric keys record)
Merging selinux/next (309c5fad5de4 selinux: fix type mismatch)
Merging tpmdd/next (3051e8c00764 tpm_crb: fix address space of the return pointer in crb_map_res())
CONFLICT (content): Merge conflict in Documentation/devicetree/bindings/vendor-prefixes.txt
Merging watchdog/master (1a695a905c18 Linux 4.7-rc1)
Merging iommu/next (8d16cf6b773d Merge branches 'iommu/fixes', 'x86/amd', 'x86/vt-d' and 'arm/exynos' into next)
Merging dwmw2-iommu/master (2566278551d3 Merge git://git.infradead.org/intel-iommu)
Merging vfio/next (f70552809419 vfio_pci: Test for extended capabilities if config space > 256 bytes)
Merging jc_docs/docs-next (8569de68e79e docs: kernel-doc: Add "example" and "note" to the magic section types)
Merging trivial/for-next (dcc381e8330e fat: fix typo s/supeblock/superblock/)
Merging audit/next (bba696c2c083 s390: ensure that syscall arguments are properly masked on s390)
CONFLICT (content): Merge conflict in arch/s390/kernel/ptrace.c
Merging devicetree/for-next (06dfeef88573 drivers: of: add definition of early_init_dt_alloc_reserved_memory_arch)
Merging mailbox/mailbox-for-next (9ef3c5112139 mailbox: mailbox-test: set tdev->signal to NULL after freeing)
Merging spi/for-next (32b805cdb668 Merge remote-tracking branches 'spi/topic/pxa2xx', 'spi/topic/rockchip', 'spi/topic/sh-msiof' and 'spi/topic/sunxi' into spi-next)
Merging tip/auto-latest (f6e78bb49b4b Merge branch 'perf/core')
Merging clockevents/clockevents/next (5a634113ad0e Merge branch 'clockevents/compile-test' into clockevents/next)
CONFLICT (content): Merge conflict in arch/arm/mach-mxs/Kconfig
CONFLICT (content): Merge conflict in arch/arm/Kconfig
Merging edac/linux_next (12f0721c5a70 sb_edac: correctly fetch DIMM width on Ivy Bridge and Haswell)
Merging edac-amd/for-next (bba142957e04 EDAC: Correct channel count limit)
Merging irqchip/irqchip/for-next (d46fe981bead Merge branch 'irqchip/aspeed' into irqchip/for-next)
Merging ftrace/for-next (97f8827a8c79 ftracetest: Use proper logic to find process PID)
Merging rcu/rcu/next (2f939e1fc208 rcu: Use rcu_gp_kthread_wake() to wake up grace period kthreads again)
CONFLICT (content): Merge conflict in kernel/rcu/tree.c
Applying: rcu: merge fix for kernel/rcu/tree_exp.h
Merging kvm/linux-next (8ff7b956471f Merge tag 'kvm-s390-next-4.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD)
CONFLICT (content): Merge conflict in arch/s390/hypfs/hypfs_diag.c
Applying: s390: fix merge conflict in arch/s390/kvm/kvm-s390.c
Applying: s390: merge fix up for __diag204 move
Merging kvm-arm/next (35a2d58588f0 KVM: arm/arm64: vgic-new: Synchronize changes to active state)
Merging kvm-ppc/kvm-ppc-next (c63517c2e381 KVM: PPC: Book3S: correct width in XER handling)
Merging kvm-ppc-paulus/kvm-ppc-next (b1a4286b8f33 KVM: PPC: Book3S HV: Re-enable XICS fast path for irqfd-generated interrupts)
Merging kvms390/next (a411edf1320e KVM: s390: vsie: add module parameter "nested")
Merging xen-tip/linux-next (bdadcaf2a7c1 xen: remove incorrect forward declaration)
Merging percpu/for-next (6710e594f71c percpu: fix synchronization between synchronous map extension and chunk destruction)
Merging workqueues/for-next (d945b5e9f0e3 workqueue: Fix setting affinity of unbound worker threads)
Merging drivers-x86/for-next (ab9bb11ccbaa dell-wmi: Add a WMI event code for display on/off)
Merging chrome-platform/for-next (31b764171cb5 Revert "platform/chrome: chromeos_laptop: Add Leon Touch")
Merging hsi/for-next (ea12c45f1b36 hsi: Only descend into hsi directory when CONFIG_HSI is set)
Merging leds/for-next (a8b8c8d67557 leds: Only descend into leds directory when CONFIG_NEW_LEDS is set)
Merging ipmi/for-next (4e80ad011c9c ipmi: Remove smi_msg from waiting_rcv_msgs list before handle_one_recv_msg())
Merging driver-core/driver-core-next (5edb56491d48 Linux 4.7-rc3)
Merging tty/tty-next (33688abb2802 Linux 4.7-rc4)
Merging usb/usb-next (aa5e94a2e133 Revert "usb: ohci-at91: Forcibly suspend ports while USB suspend")
Merging usb-gadget/next (1d23d16a88e6 usb: gadget: pch_udc: reorder spin_[un]lock to avoid deadlock)
Merging usb-serial/usb-next (33688abb2802 Linux 4.7-rc4)
Merging usb-chipidea-next/ci-for-usb-next (ebfad91c5da3 dt-bindings: ci-hdrc-usb2: s/gadget-itc-setting/itc-setting in example)
Merging staging/staging-next (9936913e549b staging: lustre: quiet lockdep recursive lock warning)
CONFLICT (modify/delete): drivers/staging/lustre/lustre/llite/lloop.c deleted in staging/staging-next and modified in HEAD. Version HEAD of drivers/staging/lustre/lustre/llite/lloop.c left in tree.
CONFLICT (modify/delete): drivers/staging/android/sync.h deleted in staging/staging-next and modified in HEAD. Version HEAD of drivers/staging/android/sync.h left in tree.
$ git rm -f drivers/staging/lustre/lustre/llite/lloop.c drivers/staging/android/sync.h
Applying: staging/android: merge fix up for sync.h renaming
Merging char-misc/char-misc-next (c0ff9019ee64 mei: drop wr_msg from the mei_dev structure)
Merging extcon/extcon-next (70a7da458712 Merge branch 'ib-extcon-powersupply-4.8' into extcon-next)
Merging cgroup/for-next (ba4b8079e034 Merge branch 'for-4.8' into for-next)
Merging scsi/for-next (09aa8c2f3963 Merge branch 'misc' into for-next)
Merging target-updates/for-next (8f0dfb3d8b11 iscsi-target: Fix early sk_data_ready LOGIN_FLAGS_READY race)
Merging target-merge/for-next-merge (2994a7518317 cxgb4: update Kconfig and Makefile)
Merging libata/for-next (da780c64d2b6 Merge branch 'for-4.7-fixes' into for-next)
Merging pinctrl/for-next (3ee9dbbdd06b Merge branch 'devel' into for-next)
Merging vhost/linux-next (139ab4d4e68b tools/virtio: add noring tool)
Merging remoteproc/for-next (7a6271a80cae remoteproc/wkup_m3: Use MODULE_DEVICE_TABLE to export alias)
Merging rpmsg/for-next (ef583d362047 Merge branch 'rproc-next' into for-next)
Merging gpio/for-next (c35285cb1570 Merge branch 'devel' into for-next)
Merging dma-mapping/dma-mapping-next (d770e558e219 Linux 4.2-rc1)
Merging pwm/for-next (318480569156 pwm: lpss: pci: Enable PWM module on Intel Edison)
CONFLICT (content): Merge conflict in Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt
Merging dma-buf/for-next (194cad44c4e1 dma-buf/sync_file: improve Kconfig description for Sync Files)
Merging userns/for-next (f2ca379642d7 namei: permit linking with CAP_FOWNER in userns)
Merging ktest/for-next (2dcd0af568b0 Linux 4.6)
Merging clk/clk-next (b6f4f1f2c6da Merge tag 'clk-samsung-4.8' of git://linuxtv.org/snawrocki/samsung into clk-next)
Merging aio/master (b562e44f507e Linux 4.5)
Merging kselftest/next (1a695a905c18 Linux 4.7-rc1)
Merging y2038/y2038 (4b277763c5b3 vfs: Add support to document max and min inode times)
Merging luto-misc/next (6436d4c1a83c x86/vdso: Fail the build if the vdso image has no dynamic section)
Merging borntraeger/linux-next (b562e44f507e Linux 4.5)
Merging livepatching/for-next (6d9122078097 Merge branch 'for-4.7/core' into for-next)
Merging coresight/next (7c8cd269d93e coresight: Add better messages for coresight_timeout)
Merging rtc/rtc-next (c361db5c2c64 x86: include linux/ratelimit.h in nmi.c)
Merging hwspinlock/for-next (bd5717a4632c hwspinlock: qcom: Correct msb in regmap_field)
Merging nvdimm/libnvdimm-for-next (36092ee8ba69 Merge branch 'for-4.7/dax' into libnvdimm-for-next)
Merging dax-misc/dax-misc (4d9a2c874667 dax: Remove i_mmap_lock protection)
Merging akpm-current/current (262ebac6fd7b ipc/msg.c: use freezable blocking call)
CONFLICT (content): Merge conflict in mm/page_alloc.c
CONFLICT (content): Merge conflict in ipc/sem.c
CONFLICT (content): Merge conflict in arch/arm64/mm/dma-mapping.c
CONFLICT (modify/delete): arch/arm/configs/bcm_defconfig deleted in HEAD and modified in akpm-current/current. Version akpm-current/current of arch/arm/configs/bcm_defconfig left in tree.
$ git rm -f arch/arm/configs/bcm_defconfig
$ git checkout -b akpm remotes/origin/akpm/master
Applying: drivers/net/wireless/intel/iwlwifi/dvm/calib.c: simplfy min() expression
Applying: drivers/fpga/Kconfig: fix build failure
Applying: tree-wide: replace config_enabled() with IS_ENABLED()
Applying: include/linux/bitmap.h: cleanup
Merging akpm/master (7d11873f1dc2 include/linux/bitmap.h: cleanup)
^ permalink raw reply
* linux-next: build warning after merge of the akpm-current tree
From: Stephen Rothwell @ 2016-06-23 6:53 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-next, linux-kernel, Mel Gorman
Hi Andrew,
After merging the akpm-current tree, today's linux-next build (powerpc
ppc64_defconfig and x86_64 allmodconfig) produced this warning:
drivers/base/node.c: In function 'node_read_meminfo':
drivers/base/node.c:127:31: warning: passing argument 1 of 'node_page_state' makes pointer from integer without a cast [-Wint-conversion]
nid, node_page_state(nid, NR_KERNEL_STACK) *
^
In file included from include/linux/mm.h:999:0,
from drivers/base/node.c:7:
include/linux/vmstat.h:200:22: note: expected 'struct pglist_data *' but argument is of type 'int'
extern unsigned long node_page_state(struct pglist_data *pgdat,
^
Introduced by commit
2bfac6c1ec44 ("mm, vmstat: add infrastructure for per-node vmstats")
--
Cheers,
Stephen Rothwell
^ permalink raw reply
* Re: linux-next: manual merge of the audit tree with the security tree
From: Heiko Carstens @ 2016-06-23 6:01 UTC (permalink / raw)
To: Stephen Rothwell
Cc: Paul Moore, James Morris, linux-next, linux-kernel, Kees Cook,
Martin Schwidefsky
In-Reply-To: <20160623141814.5512ffd1@canb.auug.org.au>
On Thu, Jun 23, 2016 at 02:18:14PM +1000, Stephen Rothwell wrote:
> Hi Paul,
>
> Today's linux-next merge of the audit tree got a conflict in:
>
> arch/s390/kernel/ptrace.c
>
> between commit:
>
> 0208b9445bc0 ("s390/ptrace: run seccomp after ptrace")
>
> from the security tree and commit:
>
> bba696c2c083 ("s390: ensure that syscall arguments are properly masked on s390")
>
> from the audit tree.
Hmm, I haven't seen that commit, therefore I'm just commenting on the
result ;)
> diff --cc arch/s390/kernel/ptrace.c
> index cea17010448f,ac1dc74632b0..000000000000
> --- a/arch/s390/kernel/ptrace.c
> +++ b/arch/s390/kernel/ptrace.c
> @@@ -821,6 -821,16 +821,8 @@@ long compat_arch_ptrace(struct task_str
>
> asmlinkage long do_syscall_trace_enter(struct pt_regs *regs)
> {
> - long ret = 0;
> + unsigned long mask = -1UL;
> +
> - /* Do the secure computing check first. */
> - if (secure_computing()) {
> - /* seccomp failures shouldn't expose any additional code. */
> - ret = -1;
> - goto out;
> - }
> -
> /*
> * The sysc_tracesys code in entry.S stored the system
> * call number to gprs[2].
> @@@ -846,11 -850,15 +848,14 @@@
> if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT)))
> trace_sys_enter(regs, regs->gprs[2]);
>
> - audit_syscall_entry(regs->gprs[2], regs->orig_gpr2,
> - regs->gprs[3], regs->gprs[4],
> - regs->gprs[5]);
> -
> + #ifdef CONFIG_COMPAT
> + if (test_thread_flag(TIF_31BIT))
> + mask = 0xffffffff;
> + #endif
Better: use is_compat_task() and avoid yet another ifdef.
> + audit_syscall_entry(regs->gprs[2], regs->orig_gpr2 & mask,
> + regs->gprs[3] & mask, regs->gprs[4] & mask,
> + regs->gprs[5] & mask);
With these masks it is more correct, however these are still not the values
used by the system call itself. This would be still incorrect for
e.g. compat pointers (31 bit on s390).
So it seems like audit_syscall_entry should be called after all sign, zero
and masking has been done?
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox