Linux-Next discussions
 help / color / mirror / Atom feed
* Re: linux-next: manual merge of the usb tree with the usb-gadget-fixes tree
From: Greg KH @ 2017-03-23  6:43 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Felipe Balbi, linux-next, linux-kernel, Gustavo A. R. Silva,
	Romain Perier
In-Reply-To: <20170323131633.44445bd0@canb.auug.org.au>

On Thu, Mar 23, 2017 at 01:16:33PM +1100, Stephen Rothwell wrote:
> Hi Greg,
> 
> Today's linux-next merge of the usb tree got a conflict in:
> 
>   drivers/usb/gadget/udc/pch_udc.c
> 
> between commit:
> 
>   1f459262b0e1 ("usb: gadget: udc: remove pointer dereference after free")
> 
> from the usb-gadget-fixes tree and commit:
> 
>   d293408ef303 ("usb: gadget: pch_udc: Replace PCI pool old API")
> 
> from the usb 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/usb/gadget/udc/pch_udc.c
> index 8a365aad66fe,84dcbcd756f0..000000000000
> --- a/drivers/usb/gadget/udc/pch_udc.c
> +++ b/drivers/usb/gadget/udc/pch_udc.c
> @@@ -1522,7 -1522,8 +1522,7 @@@ static void pch_udc_free_dma_chain(stru
>   		/* do not free first desc., will be done by free for request */
>   		td = phys_to_virt(addr);
>   		addr2 = (dma_addr_t)td->next;
> - 		pci_pool_free(dev->data_requests, td, addr);
> + 		dma_pool_free(dev->data_requests, td, addr);
>  -		td->next = 0x00;
>   		addr = addr2;
>   	}
>   	req->chain_len = 1;

Looks good to me, thanks!

greg k-h

^ permalink raw reply

* next-20170323 build: 2 failures 4 warnings (next-20170323)
From: Build bot for Mark Brown @ 2017-03-23  7:56 UTC (permalink / raw)
  To: kernel-build-reports, linaro-kernel, linux-next

Tree/Branch: next-20170323
Git describe: next-20170323
Commit: 6ec9c2f129 Add linux-next specific files for 20170323

Build Time: 93 min 20 sec

Passed:    8 / 10   ( 80.00 %)
Failed:    2 / 10   ( 20.00 %)

Errors: 3
Warnings: 4
Section Mismatches: 0

Failed defconfigs:
	arm64-allmodconfig
	arm64-defconfig

Errors:

	arm64-allmodconfig
ERROR (phandle_references): Reference to non-existent node or label "pwm_f_clk_pins"
ERROR (phandle_references): Reference to non-existent node or label "pwm_ao_a_3_pins"
ERROR: Input tree has errors, aborting (use -f to force output)
ERROR (phandle_references): Reference to non-existent node or label "pwm_f_clk_pins"
ERROR (phandle_references): Reference to non-existent node or label "pwm_ao_a_3_pins"
ERROR: Input tree has errors, aborting (use -f to force output)

	arm64-defconfig
ERROR (phandle_references): Reference to non-existent node or label "pwm_f_clk_pins"
ERROR (phandle_references): Reference to non-existent node or label "pwm_ao_a_3_pins"
ERROR: Input tree has errors, aborting (use -f to force output)

-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
      2 warnings    0 mismatches  : arm64-allnoconfig
      5 warnings    0 mismatches  : arm64-allmodconfig
      2 warnings    0 mismatches  : arm-multi_v5_defconfig
      2 warnings    0 mismatches  : arm-multi_v7_defconfig
      4 warnings    0 mismatches  : arm-allmodconfig
      1 warnings    0 mismatches  : arm-allnoconfig
      1 warnings    0 mismatches  : arm-multi_v4t_defconfig
      2 warnings    0 mismatches  : arm64-defconfig

-------------------------------------------------------------------------------

Errors summary: 3
	  3 ERROR: Input tree has errors, aborting (use -f to force output)
	  3 ERROR (phandle_references): Reference to non-existent node or label "pwm_f_clk_pins"
	  3 ERROR (phandle_references): Reference to non-existent node or label "pwm_ao_a_3_pins"

Warnings Summary: 4
	 11 <stdin>:1328:2: warning: #warning syscall arch_prctl not implemented [-Wcpp]
	  4 ../include/uapi/linux/byteorder/big_endian.h:32:26: warning: large integer implicitly truncated to unsigned type [-Woverflow]
	  3 <stdin>:1325:2: warning: #warning syscall statx not implemented [-Wcpp]
	  1 ../drivers/misc/aspeed-lpc-ctrl.c:232:17: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'resource_size_t {aka long long unsigned int}' [-Wformat=]



===============================================================================
Detailed per-defconfig build reports below:


-------------------------------------------------------------------------------
arm64-allnoconfig : PASS, 0 errors, 2 warnings, 0 section mismatches

Warnings:
	<stdin>:1325:2: warning: #warning syscall statx not implemented [-Wcpp]
	<stdin>:1328:2: warning: #warning syscall arch_prctl not implemented [-Wcpp]

-------------------------------------------------------------------------------
arm64-allmodconfig : FAIL, 6 errors, 5 warnings, 0 section mismatches

Errors:
	ERROR (phandle_references): Reference to non-existent node or label "pwm_f_clk_pins"
	ERROR (phandle_references): Reference to non-existent node or label "pwm_ao_a_3_pins"
	ERROR: Input tree has errors, aborting (use -f to force output)
	ERROR (phandle_references): Reference to non-existent node or label "pwm_f_clk_pins"
	ERROR (phandle_references): Reference to non-existent node or label "pwm_ao_a_3_pins"
	ERROR: Input tree has errors, aborting (use -f to force output)

Warnings:
	<stdin>:1325:2: warning: #warning syscall statx not implemented [-Wcpp]
	<stdin>:1328:2: warning: #warning syscall arch_prctl not implemented [-Wcpp]
	../drivers/misc/aspeed-lpc-ctrl.c:232:17: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'resource_size_t {aka long long unsigned int}' [-Wformat=]
	../include/uapi/linux/byteorder/big_endian.h:32:26: warning: large integer implicitly truncated to unsigned type [-Woverflow]
	../include/uapi/linux/byteorder/big_endian.h:32:26: warning: large integer implicitly truncated to unsigned type [-Woverflow]

-------------------------------------------------------------------------------
arm-multi_v5_defconfig : PASS, 0 errors, 2 warnings, 0 section mismatches

Warnings:
	<stdin>:1328:2: warning: #warning syscall arch_prctl not implemented [-Wcpp]
	<stdin>:1328:2: warning: #warning syscall arch_prctl not implemented [-Wcpp]

-------------------------------------------------------------------------------
arm-multi_v7_defconfig : PASS, 0 errors, 2 warnings, 0 section mismatches

Warnings:
	<stdin>:1328:2: warning: #warning syscall arch_prctl not implemented [-Wcpp]
	<stdin>:1328:2: warning: #warning syscall arch_prctl not implemented [-Wcpp]

-------------------------------------------------------------------------------
arm-allmodconfig : PASS, 0 errors, 4 warnings, 0 section mismatches

Warnings:
	<stdin>:1328:2: warning: #warning syscall arch_prctl not implemented [-Wcpp]
	../include/uapi/linux/byteorder/big_endian.h:32:26: warning: large integer implicitly truncated to unsigned type [-Woverflow]
	../include/uapi/linux/byteorder/big_endian.h:32:26: warning: large integer implicitly truncated to unsigned type [-Woverflow]
	<stdin>:1328:2: warning: #warning syscall arch_prctl not implemented [-Wcpp]

-------------------------------------------------------------------------------
arm-allnoconfig : PASS, 0 errors, 1 warnings, 0 section mismatches

Warnings:
	<stdin>:1328:2: warning: #warning syscall arch_prctl not implemented [-Wcpp]

-------------------------------------------------------------------------------
arm-multi_v4t_defconfig : PASS, 0 errors, 1 warnings, 0 section mismatches

Warnings:
	<stdin>:1328:2: warning: #warning syscall arch_prctl not implemented [-Wcpp]

-------------------------------------------------------------------------------
arm64-defconfig : FAIL, 3 errors, 2 warnings, 0 section mismatches

Errors:
	ERROR (phandle_references): Reference to non-existent node or label "pwm_f_clk_pins"
	ERROR (phandle_references): Reference to non-existent node or label "pwm_ao_a_3_pins"
	ERROR: Input tree has errors, aborting (use -f to force output)

Warnings:
	<stdin>:1325:2: warning: #warning syscall statx not implemented [-Wcpp]
	<stdin>:1328:2: warning: #warning syscall arch_prctl not implemented [-Wcpp]
-------------------------------------------------------------------------------

Passed with no errors, warnings or mismatches:

x86_64-allnoconfig
x86_64-defconfig

^ permalink raw reply

* Re: linux-next: manual merge of the gpio tree with the input tree
From: Linus Walleij @ 2017-03-23  9:27 UTC (permalink / raw)
  To: Stephen Rothwell, Dmitry Torokhov
  Cc: linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
	Andy Shevchenko, Hans de Goede
In-Reply-To: <20170320150340.6d73c179@canb.auug.org.au>

On Mon, Mar 20, 2017 at 5:03 AM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> Hi Linus,
>
> Today's linux-next merge of the gpio tree got a conflict in:
>
>   drivers/input/misc/soc_button_array.c
>
> between commit:
>
>   a01cd17000a4 ("Input: soc_button_array - use NULL for GPIO connection ID")
>
> from the input tree and commit:
>
>   c5097538c86a ("Input: soc_button_array - Propagate error from gpiod_count()")
>
> from the gpio tree.

Dmitry, I could pick the commit from the input tree and apply
Stephen's solution and put the result in the GPIO tree if you think
it's a good idea.

Yours,
Linus Walleij

^ permalink raw reply

* Re: Please add pinctrl/samsung tree to linux-next
From: Linus Walleij @ 2017-03-23  9:48 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Stephen Rothwell, linux-next@vger.kernel.org, Sylwester Nawrocki,
	Tomasz Figa
In-Reply-To: <20170320170559.xojploiymqgm7dl4@kozik-lap>

On Mon, Mar 20, 2017 at 6:05 PM, Krzysztof Kozlowski <krzk@kernel.org> wrote:

> Hi Stephen,
>
> Could you add the branch "for-next" of repo:
>         git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/samsung.git
> to linux-next?
>
> Contact points for errors:
> 1. Krzysztof Kozlowski <krzk@kernel.org>
> 2. Sylwester Nawrocki <s.nawrocki@samsung.com>
> (shared model)
>
> The pull requests will be sent to Linus Walleij (pinctrl maintainer).

Oh there it is, awesome.

Thanks a lot Krzysztof, much appreciated.

Yours,
Linus Walleij

^ permalink raw reply

* Re: next-20170323 build: 2 failures 4 warnings (next-20170323)
From: Mark Brown @ 2017-03-23 11:02 UTC (permalink / raw)
  To: Martin Blumenstingl, Neil Armstrong, Kevin Hilman
  Cc: kernel-build-reports, linaro-kernel, linux-next, linux-arm-kernel
In-Reply-To: <E1cqxc1-0004Cs-Lx@optimist>

[-- Attachment #1: Type: text/plain, Size: 640 bytes --]

On Thu, Mar 23, 2017 at 07:56:49AM +0000, Build bot for Mark Brown wrote:

Today's -next fails to build an arm64 allmodconfig and defconfig due to:

> 	arm64-allmodconfig
> 	arm64-defconfig
> ERROR (phandle_references): Reference to non-existent node or label "pwm_f_clk_pins"
> ERROR (phandle_references): Reference to non-existent node or label "pwm_ao_a_3_pins"
> ERROR: Input tree has errors, aborting (use -f to force output)

The offending references are in 3224eaca966088b4cf4f1ca3 (ARM64: dts:
meson-gxl: add support for the Khadas VIM board), there doesn't seem to
be anything providing those phandles in either mainline or -next.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply

* Re: next-20170323 build: 2 failures 4 warnings (next-20170323)
From: Kevin Hilman @ 2017-03-23 15:44 UTC (permalink / raw)
  To: Mark Brown
  Cc: Martin Blumenstingl, Neil Armstrong, kernel-build-reports,
	linaro-kernel, linux-next, linux-arm-kernel
In-Reply-To: <20170323110249.3tf3tjo6c2y5qbkh@sirena.org.uk>

Mark Brown <broonie@kernel.org> writes:

> On Thu, Mar 23, 2017 at 07:56:49AM +0000, Build bot for Mark Brown wrote:
>
> Today's -next fails to build an arm64 allmodconfig and defconfig due to:
>
>> 	arm64-allmodconfig
>> 	arm64-defconfig
>> ERROR (phandle_references): Reference to non-existent node or label "pwm_f_clk_pins"
>> ERROR (phandle_references): Reference to non-existent node or label "pwm_ao_a_3_pins"
>> ERROR: Input tree has errors, aborting (use -f to force output)
>
> The offending references are in 3224eaca966088b4cf4f1ca3 (ARM64: dts:
> meson-gxl: add support for the Khadas VIM board), there doesn't seem to
> be anything providing those phandles in either mainline or -next.

This was my fault, I backed it out soon after I committed, but it was
picked up by -next before I removed it.

Sorry for the noise,

Kevin

^ permalink raw reply

* Re: linux-next: manual merge of the gpio tree with the input tree
From: Dmitry Torokhov @ 2017-03-23 16:30 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Stephen Rothwell, linux-next@vger.kernel.org,
	linux-kernel@vger.kernel.org, Andy Shevchenko, Hans de Goede
In-Reply-To: <CACRpkdaDUUDkEqYRRp4St=uPs5Z2TRX1XT14+yvsdLiitBaCdg@mail.gmail.com>

On Thu, Mar 23, 2017 at 2:27 AM, Linus Walleij <linus.walleij@linaro.org> wrote:
> On Mon, Mar 20, 2017 at 5:03 AM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>> Hi Linus,
>>
>> Today's linux-next merge of the gpio tree got a conflict in:
>>
>>   drivers/input/misc/soc_button_array.c
>>
>> between commit:
>>
>>   a01cd17000a4 ("Input: soc_button_array - use NULL for GPIO connection ID")
>>
>> from the input tree and commit:
>>
>>   c5097538c86a ("Input: soc_button_array - Propagate error from gpiod_count()")
>>
>> from the gpio tree.
>
> Dmitry, I could pick the commit from the input tree and apply
> Stephen's solution and put the result in the GPIO tree if you think
> it's a good idea.

I think the fix is trivial and if it does not both Stephen to carry it
on we'll let the other Linus resolve it in his tree when merging. I
think he prefers to have cross-tree merges only happen when it is
needed for development, not simply to resolve conflicts.

Thanks.

-- 
Dmitry

^ permalink raw reply

* New pinctrl-samsung repo + fixes in my existing ones
From: Krzysztof Kozlowski @ 2017-03-23 18:55 UTC (permalink / raw)
  To: kbuild, fengguang.wu, linux-next; +Cc: Sylwester Nawrocki

[-- Attachment #1: Type: text/plain, Size: 770 bytes --]

Hi,

Could you add a new repo to 0-day build testing service:
	git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/samsung.git

Details:
	Owners: Krzysztof Kozlowski <krzk@kernel.org>
		Sylwester Nawrocki <s.nawrocki@samsung.com>
	integration_testing_branches: for-next
	subsystems:
	- pinctrl
	- exynos

If possible, building coverage for all branches and also push build
notifications after every git push.

I am also the owner of these:
 - Samsung Exynos ARM maintainer tree:
	https://github.com/01org/lkp-tests/blob/master/repo/linux/krzk
 - My personal (work) tree:
	https://github.com/01org/lkp-tests/blob/master/repo/linux/krzk-github
Can you change my email address to krzk@kernel.org (my address
@samsung.com does not work anymore)?

Best regards,
Krzysztof


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

^ permalink raw reply

* Re: linux-next: manual merge of the char-misc tree with the tpmdd tree
From: Jarkko Sakkinen @ 2017-03-23 21:36 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Greg KH, Arnd Bergmann, linux-next, linux-kernel, Logan Gunthorpe,
	James Bottomley, Jason Gunthorpe
In-Reply-To: <20170322131319.6278c15d@canb.auug.org.au>

On Wed, Mar 22, 2017 at 01:13:19PM +1100, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next merge of the char-misc tree got a conflict in:
> 
>   drivers/char/tpm/tpm-chip.c
> 
> between commit:
> 
>   d7a97c3e6592 ("tpm: Use the right clean up after cdev_add completes")

I don't think this fix is critical so I could just drop this from my
tree and send it in a separate PR after security/next is synced with
the change mentioned below.

That said, I dropped it.

>   5f6b4fbc12c8 ("tpm: infrastructure for TPM spaces")
>   1b50e13284d7 ("tpm: expose spaces via a device link /dev/tpmrm<n>")
>   849246e7ce9c ("tpm2: add session handle context saving and restoring to the space code")
> 
> from the tpmdd tree and commits:
> 
>   8dbbf5825181 ("tpm-chip: utilize new cdev_device_add helper function")
> 
> from the char-misc tree.
> 
> I fixed it up (I hope, 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

Thank you. I will keep this in mind.

/Jarkko

> diff --cc drivers/char/tpm/tpm-chip.c
> index 27a76e706cfd,935f0e92ad61..000000000000
> --- a/drivers/char/tpm/tpm-chip.c
> +++ b/drivers/char/tpm/tpm-chip.c
> @@@ -214,22 -186,7 +214,20 @@@ struct tpm_chip *tpm_chip_alloc(struct 
>   		chip->flags |= TPM_CHIP_FLAG_VIRTUAL;
>   
>   	cdev_init(&chip->cdev, &tpm_fops);
>  +	cdev_init(&chip->cdevs, &tpmrm_fops);
>   	chip->cdev.owner = THIS_MODULE;
>  +	chip->cdevs.owner = THIS_MODULE;
> - 	chip->cdev.kobj.parent = &chip->dev.kobj;
> - 	chip->cdevs.kobj.parent = &chip->devs.kobj;
>  +
>  +	chip->work_space.context_buf = kzalloc(PAGE_SIZE, GFP_KERNEL);
>  +	if (!chip->work_space.context_buf) {
>  +		rc = -ENOMEM;
>  +		goto out;
>  +	}
>  +	chip->work_space.session_buf = kzalloc(PAGE_SIZE, GFP_KERNEL);
>  +	if (!chip->work_space.session_buf) {
>  +		rc = -ENOMEM;
>  +		goto out;
>  +	}
>   
>   	return chip;
>   
> @@@ -269,69 -225,17 +267,44 @@@ struct tpm_chip *tpmm_chip_alloc(struc
>   }
>   EXPORT_SYMBOL_GPL(tpmm_chip_alloc);
>   
> - static void tpm_del_char_device(struct tpm_chip *chip, bool with_device)
> ++static void tpm_del_char_device(struct tpm_chip *chip)
>  +{
> - 	cdev_del(&chip->cdev);
> - 	if (with_device) {
> - 		device_del(&chip->dev);
> - 
> - 		/* Make the chip unavailable. */
> - 		mutex_lock(&idr_lock);
> - 		idr_replace(&dev_nums_idr, NULL, chip->dev_num);
> - 		mutex_unlock(&idr_lock);
> - 	}
> ++	cdev_device_del(&chip->cdev, &chip->dev);
> ++
> ++	/* Make the chip unavailable. */
> ++	mutex_lock(&idr_lock);
> ++	idr_replace(&dev_nums_idr, NULL, chip->dev_num);
> ++	mutex_unlock(&idr_lock);
>  +
>  +	/* Make the driver uncallable. */
>  +	down_write(&chip->ops_sem);
>  +	if (chip->flags & TPM_CHIP_FLAG_TPM2)
>  +		tpm2_shutdown(chip, TPM2_SU_CLEAR);
>  +	chip->ops = NULL;
>  +	up_write(&chip->ops_sem);
>  +}
>  +
>   static int tpm_add_char_device(struct tpm_chip *chip)
>   {
>   	int rc;
>   
> - 	rc = cdev_add(&chip->cdev, chip->dev.devt, 1);
> - 	if (rc) {
> - 		dev_err(&chip->dev,
> - 			"unable to cdev_add() %s, major %d, minor %d, err=%d\n",
> - 			dev_name(&chip->dev), MAJOR(chip->dev.devt),
> - 			MINOR(chip->dev.devt), rc);
> - 		return rc;
> - 	}
> - 
> - 	rc = device_add(&chip->dev);
> + 	rc = cdev_device_add(&chip->cdev, &chip->dev);
>   	if (rc) {
>   		dev_err(&chip->dev,
> - 			"unable to device_register() %s, major %d, minor %d, err=%d\n",
> + 			"unable to cdev_device_add() %s, major %d, minor %d, err=%d\n",
>   			dev_name(&chip->dev), MAJOR(chip->dev.devt),
>   			MINOR(chip->dev.devt), rc);
> - 		tpm_del_char_device(chip, false);
>  +		return rc;
>  +	}
>   
>  +	if (chip->flags & TPM_CHIP_FLAG_TPM2)
> - 		rc = cdev_add(&chip->cdevs, chip->devs.devt, 1);
> ++		rc = cdev_device_add(&chip->cdevs, &chip->devs);
>  +	if (rc) {
>  +		dev_err(&chip->dev,
> - 			"unable to cdev_add() %s, major %d, minor %d, err=%d\n",
> ++			"unable to cdev_device_add() %s, major %d, minor %d, err=%d\n",
>  +			dev_name(&chip->devs), MAJOR(chip->devs.devt),
>  +			MINOR(chip->devs.devt), rc);
> - 		tpm_del_char_device(chip, true);
> - 		return rc;
> - 	}
> - 
> - 	if (chip->flags & TPM_CHIP_FLAG_TPM2)
> - 		rc = device_add(&chip->devs);
> - 	if (rc) {
> - 		dev_err(&chip->dev,
> - 			"unable to device_register() %s, major %d, minor %d, err=%d\n",
> - 			dev_name(&chip->devs), MAJOR(chip->devs.devt),
> - 			MINOR(chip->devs.devt), rc);
> - 		cdev_del(&chip->cdevs);
> - 		tpm_del_char_device(chip, true);
> ++		tpm_del_char_device(chip);
>   		return rc;
>   	}
>   
> @@@ -450,10 -371,6 +423,8 @@@ void tpm_chip_unregister(struct tpm_chi
>   {
>   	tpm_del_legacy_sysfs(chip);
>   	tpm_bios_log_teardown(chip);
> - 	if (chip->flags & TPM_CHIP_FLAG_TPM2) {
> - 		cdev_del(&chip->cdevs);
> - 		device_del(&chip->devs);
> - 	}
> - 	tpm_del_char_device(chip, true);
> ++	if (chip->flags & TPM_CHIP_FLAG_TPM2)
> ++		cdev_device_del(&chip->cdevs, &chip->devs);
> + 	tpm_del_char_device(chip);
>   }
>   EXPORT_SYMBOL_GPL(tpm_chip_unregister);

^ permalink raw reply

* Re: linux-next: unable to fetch the watchdog tree
From: Stephen Rothwell @ 2017-03-23 22:13 UTC (permalink / raw)
  To: Wim Van Sebroeck; +Cc: linux-next, linux-kernel
In-Reply-To: <20161205093934.4d5449fa@canb.auug.org.au>

Hi Wim,

On Mon, 5 Dec 2016 09:39:34 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> On Tue, 22 Nov 2016 09:49:19 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >
> > On Mon, 14 Nov 2016 16:26:16 +0100 Wim Van Sebroeck <wim@iguana.be> wrote:  
> > >
> > > This has been fixed. Thanks for notifying me about it.
> > >     
> > > > For the past few days (nearly a week, sorry) fetching the watchdog tree
> > > > (git://www.linux-watchdog.org/linux-watchdog-next.git#master) has
> > > > resulted in a hung connection.    
> > 
> > It's happening again :-(  
> 
> And again.  Have you considered moving your tree somewhere more
> reliable like kernel.org?

And again.  It connects and then just hangs :-(

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply

* Re: linux-next: manual merge of the gpio tree with the input tree
From: Stephen Rothwell @ 2017-03-23 22:49 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: Linus Walleij, linux-next@vger.kernel.org,
	linux-kernel@vger.kernel.org, Andy Shevchenko, Hans de Goede
In-Reply-To: <CAKdAkRS8QsxUVzg8DH67nbSNHu0fy_jWJStLGt-4fcxy34R30w@mail.gmail.com>

Hi Dmitry,

On Thu, 23 Mar 2017 09:30:49 -0700 Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote:
>
> I think the fix is trivial and if it does not both Stephen to carry it
> on we'll let the other Linus resolve it in his tree when merging. I
> think he prefers to have cross-tree merges only happen when it is
> needed for development, not simply to resolve conflicts.

I have no problem carrying the merge fix.

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply

* linux-next: manual merge of the net-next tree with Linus' tree
From: Stephen Rothwell @ 2017-03-24  0:05 UTC (permalink / raw)
  To: David Miller, Networking
  Cc: linux-next, linux-kernel, Alexei Starovoitov, Martin KaFai Lau

Hi all,

Today's linux-next merge of the net-next tree got a conflict in:

  kernel/bpf/hashtab.c

between commit:

  8c290e60fa2a ("bpf: fix hashmap extra_elems logic")

from Linus' tree and commit:

  bcc6b1b7ebf8 ("bpf: Add hash of maps support")

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 kernel/bpf/hashtab.c
index 361a69dfe543,343fb5394c95..000000000000
--- a/kernel/bpf/hashtab.c
+++ b/kernel/bpf/hashtab.c
@@@ -582,7 -609,20 +616,15 @@@ static void htab_elem_free_rcu(struct r
  
  static void free_htab_elem(struct bpf_htab *htab, struct htab_elem *l)
  {
+ 	struct bpf_map *map = &htab->map;
+ 
+ 	if (map->ops->map_fd_put_ptr) {
+ 		void *ptr = fd_htab_map_get_ptr(map, l);
+ 
+ 		map->ops->map_fd_put_ptr(ptr);
+ 	}
+ 
 -	if (l->state == HTAB_EXTRA_ELEM_USED) {
 -		l->state = HTAB_EXTRA_ELEM_FREE;
 -		return;
 -	}
 -
 -	if (!(htab->map.map_flags & BPF_F_NO_PREALLOC)) {
 +	if (htab_is_prealloc(htab)) {
  		pcpu_freelist_push(&htab->freelist, &l->fnode);
  	} else {
  		atomic_dec(&htab->count);

^ permalink raw reply

* Re: linux-next: manual merge of the net-next tree with Linus' tree
From: David Miller @ 2017-03-24  0:10 UTC (permalink / raw)
  To: sfr; +Cc: netdev, linux-next, linux-kernel, ast, kafai
In-Reply-To: <20170324110514.0376c46f@canb.auug.org.au>

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 24 Mar 2017 11:05:14 +1100

> Hi all,
> 
> Today's linux-next merge of the net-next tree got a conflict in:
> 
>   kernel/bpf/hashtab.c
> 
> between commit:
> 
>   8c290e60fa2a ("bpf: fix hashmap extra_elems logic")
> 
> from Linus' tree and commit:
> 
>   bcc6b1b7ebf8 ("bpf: Add hash of maps support")
> 
> 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.

I did the same resolution just an hour ago when merging net into
net-next.

Thanks!

^ permalink raw reply

* Re: New pinctrl-samsung repo + fixes in my existing ones
From: Fengguang Wu @ 2017-03-24  1:18 UTC (permalink / raw)
  To: Krzysztof Kozlowski; +Cc: kbuild, linux-next, Sylwester Nawrocki
In-Reply-To: <20170323185531.5xpgzopemxqzu2es@kozik-lap>

Hi Krzysztof,

On Thu, Mar 23, 2017 at 08:55:31PM +0200, Krzysztof Kozlowski wrote:
>Hi,
>
>Could you add a new repo to 0-day build testing service:
>	git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/samsung.git
>
>Details:
>	Owners: Krzysztof Kozlowski <krzk@kernel.org>
>		Sylwester Nawrocki <s.nawrocki@samsung.com>
>	integration_testing_branches: for-next
>	subsystems:
>	- pinctrl
>	- exynos
>
>If possible, building coverage for all branches and also push build
>notifications after every git push.

OK, I just added this accordingly:

https://github.com/fengguang/lkp-tests/blob/master/repo/linux/pinctrl-samsung

>I am also the owner of these:
> - Samsung Exynos ARM maintainer tree:
>	https://github.com/01org/lkp-tests/blob/master/repo/linux/krzk
> - My personal (work) tree:
>	https://github.com/01org/lkp-tests/blob/master/repo/linux/krzk-github
>Can you change my email address to krzk@kernel.org (my address
>@samsung.com does not work anymore)?

Sure, done.

Thanks,
Fengguang

^ permalink raw reply

* Re: linux-next: manual merge of the net-next tree with Linus' tree
From: Alexei Starovoitov @ 2017-03-24  1:24 UTC (permalink / raw)
  To: David Miller, sfr; +Cc: netdev, linux-next, linux-kernel, kafai
In-Reply-To: <20170323.171035.27948034948873194.davem@davemloft.net>

On 3/23/17 5:10 PM, David Miller wrote:
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Fri, 24 Mar 2017 11:05:14 +1100
>
>> Hi all,
>>
>> Today's linux-next merge of the net-next tree got a conflict in:
>>
>>   kernel/bpf/hashtab.c
>>
>> between commit:
>>
>>   8c290e60fa2a ("bpf: fix hashmap extra_elems logic")
>>
>> from Linus' tree and commit:
>>
>>   bcc6b1b7ebf8 ("bpf: Add hash of maps support")
>>
>> 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.
>
> I did the same resolution just an hour ago when merging net into
> net-next.

yes. that's correct merge conflict resolution.
Just rebuilt and retested. All looks good.
Thanks!

^ permalink raw reply

* linux-next: manual merge of the audit tree with Linus' tree
From: Stephen Rothwell @ 2017-03-24  2:18 UTC (permalink / raw)
  To: Paul Moore
  Cc: linux-next, linux-kernel, Pablo Neira Ayuso, Richard Guy Briggs

Hi Paul,

Today's linux-next merge of the audit tree got a conflict in:

  net/netfilter/xt_AUDIT.c

between commit:

  613dbd95723a ("netfilter: x_tables: move hook state into xt_action_param structure")

from Linus' tree and commit:

  36fe46d172e5 ("audit: normalize NETFILTER_PKT")

from the audit 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.

P.S. You may want to consider a newer base for your tree ...
-- 
Cheers,
Stephen Rothwell

diff --cc net/netfilter/xt_AUDIT.c
index 19247a17e511,582ee54f6664..000000000000
--- a/net/netfilter/xt_AUDIT.c
+++ b/net/netfilter/xt_AUDIT.c
@@@ -131,39 -78,24 +78,24 @@@ audit_tg(struct sk_buff *skb, const str
  	if (ab == NULL)
  		goto errout;
  
- 	audit_log_format(ab, "action=%hhu hook=%u len=%u inif=%s outif=%s",
- 			 info->type, xt_hooknum(par), skb->len,
- 			 xt_in(par) ? xt_inname(par) : "?",
- 			 xt_out(par) ? xt_outname(par) : "?");
- 
- 	if (skb->mark)
- 		audit_log_format(ab, " mark=%#x", skb->mark);
- 
- 	if (skb->dev && skb->dev->type == ARPHRD_ETHER) {
- 		audit_log_format(ab, " smac=%pM dmac=%pM macproto=0x%04x",
- 				 eth_hdr(skb)->h_source, eth_hdr(skb)->h_dest,
- 				 ntohs(eth_hdr(skb)->h_proto));
- 
- 		if (xt_family(par) == NFPROTO_BRIDGE) {
- 			switch (eth_hdr(skb)->h_proto) {
- 			case htons(ETH_P_IP):
- 				audit_ip4(ab, skb);
- 				break;
- 
- 			case htons(ETH_P_IPV6):
- 				audit_ip6(ab, skb);
- 				break;
- 			}
- 		}
- 	}
+ 	audit_log_format(ab, "mark=%#x", skb->mark);
  
 -	switch (par->family) {
 +	switch (xt_family(par)) {
+ 	case NFPROTO_BRIDGE:
+ 		switch (eth_hdr(skb)->h_proto) {
+ 		case htons(ETH_P_IP):
+ 			fam = audit_ip4(ab, skb) ? NFPROTO_IPV4 : -1;
+ 			break;
+ 		case htons(ETH_P_IPV6):
+ 			fam = audit_ip6(ab, skb) ? NFPROTO_IPV6 : -1;
+ 			break;
+ 		}
+ 		break;
  	case NFPROTO_IPV4:
- 		audit_ip4(ab, skb);
+ 		fam = audit_ip4(ab, skb) ? NFPROTO_IPV4 : -1;
  		break;
- 
  	case NFPROTO_IPV6:
- 		audit_ip6(ab, skb);
+ 		fam = audit_ip6(ab, skb) ? NFPROTO_IPV6 : -1;
  		break;
  	}
  

^ permalink raw reply

* linux-next: manual merge of the leds tree with the drivers-x86 tree
From: Stephen Rothwell @ 2017-03-24  2:52 UTC (permalink / raw)
  To: Jacek Anaszewski, Darren Hart
  Cc: linux-next, linux-kernel, Michał Kępień,
	Hans de Goede

Hi Jacek,

Today's linux-next merge of the leds tree got a conflict in:

  drivers/platform/x86/dell-laptop.c

between commit:

  573eedacfba3 ("platform/x86: dell-*: Call new led hw_changed API on kbd brightness change")

from the drivers-x86 tree and commit:

  44319ab7e0ed ("platform/x86: dell-laptop: import dell_micmute_led_set() from drivers/leds/dell-led.c")

from the leds 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/platform/x86/dell-laptop.c
index 1cd258b790e8,2e237bad4995..000000000000
--- a/drivers/platform/x86/dell-laptop.c
+++ b/drivers/platform/x86/dell-laptop.c
@@@ -2026,26 -1981,31 +2029,51 @@@ static void kbd_led_exit(void
  	led_classdev_unregister(&kbd_led);
  }
  
 +static int dell_laptop_notifier_call(struct notifier_block *nb,
 +				     unsigned long action, void *data)
 +{
 +	switch (action) {
 +	case DELL_LAPTOP_KBD_BACKLIGHT_BRIGHTNESS_CHANGED:
 +		if (!kbd_led_present)
 +			break;
 +
 +		led_classdev_notify_brightness_hw_changed(&kbd_led,
 +						kbd_led_level_get(&kbd_led));
 +		break;
 +	}
 +
 +	return NOTIFY_OK;
 +}
 +
 +static struct notifier_block dell_laptop_notifier = {
 +	.notifier_call = dell_laptop_notifier_call,
 +};
 +
+ int dell_micmute_led_set(int state)
+ {
+ 	struct calling_interface_buffer *buffer;
+ 	struct calling_interface_token *token;
+ 
+ 	if (state == 0)
+ 		token = dell_smbios_find_token(GLOBAL_MIC_MUTE_DISABLE);
+ 	else if (state == 1)
+ 		token = dell_smbios_find_token(GLOBAL_MIC_MUTE_ENABLE);
+ 	else
+ 		return -EINVAL;
+ 
+ 	if (!token)
+ 		return -ENODEV;
+ 
+ 	buffer = dell_smbios_get_buffer();
+ 	buffer->input[0] = token->location;
+ 	buffer->input[1] = token->value;
+ 	dell_smbios_send_request(1, 0);
+ 	dell_smbios_release_buffer();
+ 
+ 	return state;
+ }
+ EXPORT_SYMBOL_GPL(dell_micmute_led_set);
+ 
  static int __init dell_init(void)
  {
  	struct calling_interface_buffer *buffer;

^ permalink raw reply

* linux-next: manual merge of the char-misc tree with the tpmdd tree
From: Stephen Rothwell @ 2017-03-24  3:33 UTC (permalink / raw)
  To: Greg KH, Arnd Bergmann, Jarkko Sakkinen
  Cc: linux-next, linux-kernel, Logan Gunthorpe, James Bottomley

Hi all,

Today's linux-next merge of the char-misc tree got a conflict in:

  drivers/char/tpm/tpm-chip.c

between commits:

  67b67480db8b ("tpm: infrastructure for TPM spaces")
  b8e3586e8536 ("tpm: expose spaces via a device link /dev/tpmrm<n>")

from the tpmdd tree and commit:

  8dbbf5825181 ("tpm-chip: utilize new cdev_device_add helper function")

from the char-misc 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/char/tpm/tpm-chip.c
index aade6995f310,935f0e92ad61..000000000000
--- a/drivers/char/tpm/tpm-chip.c
+++ b/drivers/char/tpm/tpm-chip.c
@@@ -214,22 -186,7 +214,20 @@@ struct tpm_chip *tpm_chip_alloc(struct 
  		chip->flags |= TPM_CHIP_FLAG_VIRTUAL;
  
  	cdev_init(&chip->cdev, &tpm_fops);
 +	cdev_init(&chip->cdevs, &tpmrm_fops);
  	chip->cdev.owner = THIS_MODULE;
 +	chip->cdevs.owner = THIS_MODULE;
- 	chip->cdev.kobj.parent = &chip->dev.kobj;
- 	chip->cdevs.kobj.parent = &chip->devs.kobj;
 +
 +	chip->work_space.context_buf = kzalloc(PAGE_SIZE, GFP_KERNEL);
 +	if (!chip->work_space.context_buf) {
 +		rc = -ENOMEM;
 +		goto out;
 +	}
 +	chip->work_space.session_buf = kzalloc(PAGE_SIZE, GFP_KERNEL);
 +	if (!chip->work_space.session_buf) {
 +		rc = -ENOMEM;
 +		goto out;
 +	}
  
  	return chip;
  
@@@ -273,44 -229,13 +271,22 @@@ static int tpm_add_char_device(struct t
  {
  	int rc;
  
- 	rc = cdev_add(&chip->cdev, chip->dev.devt, 1);
+ 	rc = cdev_device_add(&chip->cdev, &chip->dev);
  	if (rc) {
  		dev_err(&chip->dev,
- 			"unable to cdev_add() %s, major %d, minor %d, err=%d\n",
+ 			"unable to cdev_device_add() %s, major %d, minor %d, err=%d\n",
  			dev_name(&chip->dev), MAJOR(chip->dev.devt),
  			MINOR(chip->dev.devt), rc);
 +		return rc;
 +	}
  
- 	rc = device_add(&chip->dev);
- 	if (rc) {
- 		dev_err(&chip->dev,
- 			"unable to device_register() %s, major %d, minor %d, err=%d\n",
- 			dev_name(&chip->dev), MAJOR(chip->dev.devt),
- 			MINOR(chip->dev.devt), rc);
- 
- 		cdev_del(&chip->cdev);
- 		return rc;
- 	}
- 
- 	if (chip->flags & TPM_CHIP_FLAG_TPM2)
- 		rc = cdev_add(&chip->cdevs, chip->devs.devt, 1);
- 	if (rc) {
- 		dev_err(&chip->dev,
- 			"unable to cdev_add() %s, major %d, minor %d, err=%d\n",
- 			dev_name(&chip->devs), MAJOR(chip->devs.devt),
- 			MINOR(chip->devs.devt), rc);
- 		return rc;
- 	}
- 
 +	if (chip->flags & TPM_CHIP_FLAG_TPM2)
- 		rc = device_add(&chip->devs);
++		rc = cdev_device_add(&chip->cdevs, &chip->devs);
 +	if (rc) {
 +		dev_err(&chip->dev,
- 			"unable to device_register() %s, major %d, minor %d, err=%d\n",
++			"unable to cdev_device_add() %s, major %d, minor %d, err=%d\n",
 +			dev_name(&chip->devs), MAJOR(chip->devs.devt),
 +			MINOR(chip->devs.devt), rc);
- 		cdev_del(&chip->cdevs);
  		return rc;
  	}
  
@@@ -447,10 -371,6 +422,8 @@@ void tpm_chip_unregister(struct tpm_chi
  {
  	tpm_del_legacy_sysfs(chip);
  	tpm_bios_log_teardown(chip);
- 	if (chip->flags & TPM_CHIP_FLAG_TPM2) {
- 		cdev_del(&chip->cdevs);
- 		device_del(&chip->devs);
- 	}
++	if (chip->flags & TPM_CHIP_FLAG_TPM2)
++		cdev_device_del(&chip->cdevs, &chip->devs);
  	tpm_del_char_device(chip);
  }
  EXPORT_SYMBOL_GPL(tpm_chip_unregister);

^ permalink raw reply

* linux-next: manual merge of the akpm-current tree with the tip tree
From: Stephen Rothwell @ 2017-03-24  5:25 UTC (permalink / raw)
  To: Andrew Morton, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Peter Zijlstra
  Cc: linux-next, linux-kernel, Dmitry Vyukov

Hi all,

Today's linux-next merge of the akpm-current tree got conflicts in:

  arch/x86/include/asm/atomic.h
  arch/x86/include/asm/atomic64_64.h

between commits:

  a9ebf306f52c ("locking/atomic: Introduce atomic_try_cmpxchg()")
  e6790e4b5d5e ("locking/atomic/x86: Use atomic_try_cmpxchg()")

from the tip tree and commit:

  3f4ca3d25e1a ("asm-generic, x86: wrap atomic operations")

from the akpm-current tree.

I fixed it up (see below - though more work is probably needed) 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.

The below resolution is not quite right so I added this on top:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 24 Mar 2017 16:14:42 +1100
Subject: [PATCH] fix for bad merge fix

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 arch/x86/include/asm/atomic.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/atomic.h b/arch/x86/include/asm/atomic.h
index fc4412567a4a..f717b73182e7 100644
--- a/arch/x86/include/asm/atomic.h
+++ b/arch/x86/include/asm/atomic.h
@@ -217,7 +217,7 @@ static inline void arch_atomic_##op(int i, atomic_t *v)			\
 }
 
 #define ATOMIC_FETCH_OP(op, c_op)					\
-static inline int atomic_fetch_##op(int i, atomic_t *v)			\
+static inline int arch_atomic_fetch_##op(int i, atomic_t *v)		\
 {									\
 	int val = arch_atomic_read(v);					\
 	do {								\
-- 
2.11.0

-- 
Cheers,
Stephen Rothwell

diff --cc arch/x86/include/asm/atomic.h
index caa5798c92f4,95dd167eb3af..000000000000
--- a/arch/x86/include/asm/atomic.h
+++ b/arch/x86/include/asm/atomic.h
@@@ -181,20 -191,14 +191,20 @@@ static __always_inline int arch_atomic_
  	return xadd(&v->counter, -i);
  }
  
- static __always_inline int atomic_cmpxchg(atomic_t *v, int old, int new)
+ static __always_inline int arch_atomic_cmpxchg(atomic_t *v, int old, int new)
  {
- 	return cmpxchg(&v->counter, old, new);
+ 	return arch_cmpxchg(&v->counter, old, new);
  }
  
 +#define atomic_try_cmpxchg atomic_try_cmpxchg
 +static __always_inline bool atomic_try_cmpxchg(atomic_t *v, int *old, int new)
 +{
 +	return try_cmpxchg(&v->counter, old, new);
 +}
 +
- static inline int atomic_xchg(atomic_t *v, int new)
+ static inline int arch_atomic_xchg(atomic_t *v, int new)
  {
- 	return xchg(&v->counter, new);
+ 	return arch_xchg(&v->counter, new);
  }
  
  #define ATOMIC_OP(op)							\
@@@ -207,12 -211,16 +217,12 @@@ static inline void arch_atomic_##op(in
  }
  
  #define ATOMIC_FETCH_OP(op, c_op)					\
 -static inline int arch_atomic_fetch_##op(int i, atomic_t *v)		\
 +static inline int atomic_fetch_##op(int i, atomic_t *v)			\
  {									\
- 	int val = atomic_read(v);					\
 -	int old, val = arch_atomic_read(v);				\
 -	for (;;) {							\
 -		old = arch_atomic_cmpxchg(v, val, val c_op i);		\
 -		if (old == val)						\
 -			break;						\
 -		val = old;						\
 -	}								\
 -	return old;							\
++	int val = arch_atomic_read(v);					\
 +	do {								\
 +	} while (!atomic_try_cmpxchg(v, &val, val c_op i));		\
 +	return val;							\
  }
  
  #define ATOMIC_OPS(op, c_op)						\
@@@ -236,13 -244,18 +246,13 @@@ ATOMIC_OPS(xor, ^
   * Atomically adds @a to @v, so long as @v was not already @u.
   * Returns the old value of @v.
   */
- static __always_inline int __atomic_add_unless(atomic_t *v, int a, int u)
+ static __always_inline int __arch_atomic_add_unless(atomic_t *v, int a, int u)
  {
- 	int c = atomic_read(v);
 -	int c, old;
 -	c = arch_atomic_read(v);
 -	for (;;) {
 -		if (unlikely(c == (u)))
 -			break;
 -		old = arch_atomic_cmpxchg((v), c, c + (a));
 -		if (likely(old == c))
++	int c = arch_atomic_read(v);
 +	do {
 +		if (unlikely(c == u))
  			break;
 -		c = old;
 -	}
 +	} while (!atomic_try_cmpxchg(v, &c, c + a));
  	return c;
  }
  
diff --cc arch/x86/include/asm/atomic64_64.h
index 6189a433c9a9,de9555d35cb0..000000000000
--- a/arch/x86/include/asm/atomic64_64.h
+++ b/arch/x86/include/asm/atomic64_64.h
@@@ -168,23 -168,17 +168,23 @@@ static inline long arch_atomic64_fetch_
  	return xadd(&v->counter, -i);
  }
  
- #define atomic64_inc_return(v)  (atomic64_add_return(1, (v)))
- #define atomic64_dec_return(v)  (atomic64_sub_return(1, (v)))
+ #define arch_atomic64_inc_return(v)  (arch_atomic64_add_return(1, (v)))
+ #define arch_atomic64_dec_return(v)  (arch_atomic64_sub_return(1, (v)))
  
- static inline long atomic64_cmpxchg(atomic64_t *v, long old, long new)
+ static inline long arch_atomic64_cmpxchg(atomic64_t *v, long old, long new)
  {
- 	return cmpxchg(&v->counter, old, new);
+ 	return arch_cmpxchg(&v->counter, old, new);
  }
  
 +#define atomic64_try_cmpxchg atomic64_try_cmpxchg
 +static __always_inline bool atomic64_try_cmpxchg(atomic64_t *v, long *old, long new)
 +{
 +	return try_cmpxchg(&v->counter, old, new);
 +}
 +
- static inline long atomic64_xchg(atomic64_t *v, long new)
+ static inline long arch_atomic64_xchg(atomic64_t *v, long new)
  {
- 	return xchg(&v->counter, new);
+ 	return arch_xchg(&v->counter, new);
  }
  
  /**
@@@ -196,29 -190,35 +196,29 @@@
   * Atomically adds @a to @v, so long as it was not @u.
   * Returns the old value of @v.
   */
- static inline bool atomic64_add_unless(atomic64_t *v, long a, long u)
+ static inline bool arch_atomic64_add_unless(atomic64_t *v, long a, long u)
  {
- 	long c = atomic64_read(v);
 -	long c, old;
 -	c = arch_atomic64_read(v);
 -	for (;;) {
 -		if (unlikely(c == (u)))
 -			break;
 -		old = arch_atomic64_cmpxchg((v), c, c + (a));
 -		if (likely(old == c))
 -			break;
 -		c = old;
 -	}
 -	return c != (u);
++	long c = arch_atomic64_read(v);
 +	do {
 +		if (unlikely(c == u))
 +			return false;
 +	} while (!atomic64_try_cmpxchg(v, &c, c + a));
 +	return true;
  }
  
- #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
+ #define arch_atomic64_inc_not_zero(v) arch_atomic64_add_unless((v), 1, 0)
  
  /*
-  * atomic64_dec_if_positive - decrement by 1 if old value positive
+  * arch_atomic64_dec_if_positive - decrement by 1 if old value positive
   * @v: pointer of type atomic_t
   *
   * The function returns the old value of *v minus 1, even if
   * the atomic variable, v, was not decremented.
   */
- static inline long atomic64_dec_if_positive(atomic64_t *v)
+ static inline long arch_atomic64_dec_if_positive(atomic64_t *v)
  {
- 	long dec, c = atomic64_read(v);
 -	long c, old, dec;
 -	c = arch_atomic64_read(v);
 -	for (;;) {
++	long dec, c = arch_atomic64_read(v);
 +	do {
  		dec = c - 1;
  		if (unlikely(dec < 0))
  			break;
@@@ -236,12 -240,16 +236,12 @@@ static inline void arch_atomic64_##op(l
  }
  
  #define ATOMIC64_FETCH_OP(op, c_op)					\
- static inline long atomic64_fetch_##op(long i, atomic64_t *v)		\
+ static inline long arch_atomic64_fetch_##op(long i, atomic64_t *v)	\
  {									\
- 	long val = atomic64_read(v);					\
 -	long old, val = arch_atomic64_read(v);				\
 -	for (;;) {							\
 -		old = arch_atomic64_cmpxchg(v, val, val c_op i);	\
 -		if (old == val)						\
 -			break;						\
 -		val = old;						\
 -	}								\
 -	return old;							\
++	long val = arch_atomic64_read(v);				\
 +	do {								\
 +	} while (!atomic64_try_cmpxchg(v, &val, val c_op i));		\
 +	return val;							\
  }
  
  #define ATOMIC64_OPS(op, c_op)						\

^ permalink raw reply related

* linux-next: manual merge of the akpm tree with the tip tree
From: Stephen Rothwell @ 2017-03-24  5:40 UTC (permalink / raw)
  To: Andrew Morton, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Peter Zijlstra
  Cc: linux-next, linux-kernel

Hi all,

Today's linux-next merge of the akpm tree got a conflict in:

  arch/x86/include/asm/atomic.h

between commit:

  e6790e4b5d5e ("locking/atomic/x86: Use atomic_try_cmpxchg()")

from the tip tree and patch:

  "x86/atomic: move __arch_atomic_add_unless out of line"

from the akpm 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 --git a/arch/x86/lib/atomic.c b/arch/x86/lib/atomic.c
index 88c8372109f8..4b8f6b842be9 100644
--- a/arch/x86/lib/atomic.c
+++ b/arch/x86/lib/atomic.c
@@ -12,16 +12,11 @@
  */
 int __arch_atomic_add_unless(atomic_t *v, int a, int u)
 {
-	int c, old;
-	c = arch_atomic_read(v);
-	for (;;) {
-		if (unlikely(c == (u)))
+	int c = arch_atomic_read(v);
+	do {
+		if (unlikely(c == u))
 			break;
-		old = arch_atomic_cmpxchg((v), c, c + (a));
-		if (likely(old == c))
-			break;
-		c = old;
-	}
+	} while (!atomic_try_cmpxchg(v, &c, c + a));
 	return c;
 }
 EXPORT_SYMBOL(__arch_atomic_add_unless);

^ permalink raw reply related

* Re: New pinctrl-samsung repo + fixes in my existing ones
From: Krzysztof Kozlowski @ 2017-03-24  6:03 UTC (permalink / raw)
  To: Fengguang Wu; +Cc: kbuild, linux-next, Sylwester Nawrocki
In-Reply-To: <20170324011819.5tsymiaca3m5l7hj@wfg-t540p.sh.intel.com>

On Fri, Mar 24, 2017 at 09:18:19AM +0800, Fengguang Wu wrote:
> Hi Krzysztof,
> 
> On Thu, Mar 23, 2017 at 08:55:31PM +0200, Krzysztof Kozlowski wrote:
> > Hi,
> > 
> > Could you add a new repo to 0-day build testing service:
> > 	git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/samsung.git
> > 
> > Details:
> > 	Owners: Krzysztof Kozlowski <krzk@kernel.org>
> > 		Sylwester Nawrocki <s.nawrocki@samsung.com>
> > 	integration_testing_branches: for-next
> > 	subsystems:
> > 	- pinctrl
> > 	- exynos
> > 
> > If possible, building coverage for all branches and also push build
> > notifications after every git push.
> 
> OK, I just added this accordingly:
> 
> https://github.com/fengguang/lkp-tests/blob/master/repo/linux/pinctrl-samsung
> 
> > I am also the owner of these:
> > - Samsung Exynos ARM maintainer tree:
> > 	https://github.com/01org/lkp-tests/blob/master/repo/linux/krzk
> > - My personal (work) tree:
> > 	https://github.com/01org/lkp-tests/blob/master/repo/linux/krzk-github
> > Can you change my email address to krzk@kernel.org (my address
> > @samsung.com does not work anymore)?
> 
> Sure, done.

Thank you!

Best regards,
Krzysztof

^ permalink raw reply

* linux-next: Tree for Mar 24
From: Stephen Rothwell @ 2017-03-24  6:08 UTC (permalink / raw)
  To: linux-next; +Cc: linux-kernel

Hi all,

Changes since 20170323:

The audit tree gained a conflict against Linus' tree.

The leds tree gained a conflict against the drivers-x86 tree.

The char-misc tree changed its conflict against the tpmdd tree.

The akpm-current tree gained conflicts against the tip tree.

The akpm tree gained a conflict against the tip tree.

Non-merge commits (relative to Linus' tree): 4622
 5222 files changed, 380193 insertions(+), 88208 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
and pseries_le_defconfig and i386, sparc and sparc64 defconfig.

Below is a summary of the state of the merge.

I am currently merging 254 trees (counting Linus' and 37 trees of bug
fix patches pending for the current merge release).

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 (d038e3dcfff6 Merge tag 'sound-4.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound)
Merging fixes/master (97da3854c526 Linux 4.11-rc3)
Merging kbuild-current/fixes (b334e19ae938 Kbuild: use cc-disable-warning consistently for maybe-uninitialized)
Merging arc-current/for-curr (814a585038e3 ARCv2: make unimplemented vectors as no-ops rather than halt core)
Merging arm-current/fixes (a1016e94cce9 ARM: wire up statx syscall)
Merging m68k-current/for-linus (e3b1ebd67387 m68k: Wire up statx)
Merging metag-fixes/fixes (35d04077ad96 metag: Only define atomic_dec_if_positive conditionally)
Merging powerpc-fixes/fixes (cc638a488a52 gcc-plugins: update architecture list in documentation)
Merging sparc/master (f8e6859ea9d0 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc)
Merging fscrypt-current/for-stable (42d97eb0ade3 fscrypt: fix renaming and linking special files)
Merging net/master (d038e3dcfff6 Merge tag 'sound-4.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound)
Merging ipsec/master (72ef9c4125c7 dccp: fix memory leak during tear-down of unsuccessful connection request)
Merging netfilter/master (f83bf8da1135 netfilter: nfnl_cthelper: Fix memory leak)
Merging ipvs/master (5371bbf4b295 net: bcmgenet: Do not suspend PHY if Wake-on-LAN is enabled)
Merging wireless-drivers/master (6be3b6cce1e2 ath10k: fix incorrect wlan_mac_base in qca6174_regs)
Merging mac80211/master (ea90e0dc8cec nl80211: fix dumpit error path RTNL deadlocks)
Merging sound-current/for-linus (3f307834e695 ALSA: hda - Adding a group of pin definition to fix headset problem)
Merging pci-current/for-linus (9abb27c7594a PCI: thunder-pem: Add legacy firmware support for Cavium ThunderX host controller)
Merging driver-core.current/driver-core-linus (966fa72a716c kernfs: Check KERNFS_HAS_RELEASE before calling kernfs_release_file())
Merging tty.current/tty-linus (a4a3e061149f tty: fix data race in tty_ldisc_ref_wait())
Merging usb.current/usb-linus (fd290e7096bd Merge tag 'usb-serial-4.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus)
Merging usb-gadget-fixes/fixes (25cd9721c2b1 usb: gadget: f_hid: fix: Don't access hidg->req without spinlock held)
Merging usb-serial-fixes/usb-linus (436ecf5519d8 USB: serial: qcserial: add Dell DW5811e)
Merging usb-chipidea-fixes/ci-for-usb-stable (c7fbb09b2ea1 usb: chipidea: move the lock initialization to core file)
Merging phy/fixes (1a09b6a7c10e phy: qcom-usb-hs: Add depends on EXTCON)
Merging staging.current/staging-linus (43c49938bf72 Merge tag 'iio-fixes-for-4.11c' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus)
Merging char-misc.current/char-misc-linus (5c1724c42dc1 Merge tag 'extcon-fixes-for-4.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-linus)
Merging input-current/for-linus (47e6fb4212d0 Input: ALPS - fix trackstick button handling on V8 devices)
Merging crypto-current/master (8c75704ebcac hwrng: geode - Revert managed API changes)
Merging ide/master (96297aee8bce ide: palm_bk3710: add __initdata to palm_bk3710_port_info)
Merging vfio-fixes/for-linus (65b1adebfe43 vfio: Rework group release notifier warning)
Merging kselftest-fixes/fixes (c1ae3cfa0e89 Linux 4.11-rc1)
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 (1a41741fd60b mfd: wm8994-core: Don't use managed regulator bulk get API)
Merging v4l-dvb-fixes/fixes (24a47426066c [media] exynos-gsc: Do not swap cb/cr for semi planar formats)
Merging drm-intel-fixes/for-linux-next-fixes (590379aef2e3 drm/i915: make context status notifier head be per engine)
Merging drm-misc-fixes/for-linux-next-fixes (12ffed96d436 drm/fb-helper: Allow var->x/yres(_virtual) < fb->width/height again)
Merging kbuild/for-next (c42342902706 Merge branch 'misc' into for-next)
Merging asm-generic/master (de4be6b87b6b asm-generic: page.h: fix comment typo)
CONFLICT (content): Merge conflict in include/asm-generic/percpu.h
Merging arc/for-next (d5adbfcd5f7b Linux 4.10-rc7)
Merging arm/for-next (2bc6cdda1e32 Merge branches 'fixes' and 'misc' into for-next)
Merging arm-perf/for-next/perf (0c744ea4f77d Linux 4.10-rc2)
Merging arm-soc/for-next (a0dbe84dd5dd ARM: SoC: Document merges)
CONFLICT (content): Merge conflict in arch/arm/boot/dts/r7s72100.dtsi
Merging amlogic/for-next (c5fea9e57900 Merge branch 'v4.12/drivers' into tmp/aml-rebuild)
Merging aspeed/for-next (ab15e12960f1 Merge branches 'defconfig-for-v4.11', 'soc-for-v4.11' and 'dt-for-v4.11' into for-next)
Merging at91/at91-next (982b07d2b5f3 Merge tag 'at91-ab-4.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into at91-next)
Merging bcm2835/for-next (7ea6e490ba7f Merge branch anholt/bcm2835-defconfig-64-next into for-next)
Merging berlin/berlin/for-next (5153351425c9 Merge branch 'berlin/dt' into berlin/for-next)
Merging cortex-m/for-next (f719a0d6a854 ARM: efm32: switch to vendor,device compatible strings)
Merging imx-mxs/for-next (e614bd772486 Merge branch 'zte/drivers' into for-next)
Merging keystone/next (9e07c85a01ec Merge branch 'for_4.11/keystone_dts' into next)
Merging mvebu/for-next (69cbc9086459 Merge branch 'mvebu/dt64' into mvebu/for-next)
Merging omap/for-next (8c8c9d750fc0 Merge branch 'omap-for-v4.12/dt-v2' into for-next)
Merging omap-pending/for-next (c20c8f750d9f ARM: OMAP2+: hwmod: fix _idle() hwmod state sanity check sequence)
Merging qcom/for-next (a844f941617c Merge tag 'qcom-arm64-for-4.11-2' into final-for-4.11)
Merging renesas/next (d6403e9aaf96 Merge branches 'arm64-dt-for-v4.12' and 'dt-for-v4.12' into next)
Merging rockchip/for-next (7beee4accce2 Merge branch 'v4.12-armsoc/dts64-symlinks' into for-next)
Merging rpi/for-rpi-next (bc0195aad0da Linux 4.2-rc2)
Merging samsung/for-next (1001354ca341 Linux 4.9-rc1)
Merging samsung-krzk/for-next (ece32e531453 Merge branch 'next/dt' into for-next)
Merging tegra/for-next (cc516494e180 Merge branch for-4.12/clk into for-next)
Merging arm64/for-next/core (29d981217a5d arm64: drop unnecessary newlines in show_regs())
Merging clk/clk-next (f8ba2d68e54f clk: rockchip: Make uartpll a child of the gpll on rk3036)
Merging c6x/for-linux-next (ca3060d39ae7 c6x: Use generic clkdev.h header)
Merging cris/for-next (8f50f2a1b46a cris: No need to append -O2 and $(LINUXINCLUDE))
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 (fbb0e4da96f4 ia64: salinfo: use a waitqueue instead a sema down/up combo)
Merging m68k/for-next (3dfe33020ca8 m68k/sun3: Remove dead code in paging_init())
Merging m68knommu/for-next (97da3854c526 Linux 4.11-rc3)
Merging metag/for-next (f5d163aad31e metag: perf: fix build on Meta1)
Merging microblaze/next (3400606d8ffd microblaze: Add new fpga families)
Merging mips/mips-for-linux-next (0575bbdbce03 MIPS: math-emu: Fix BC1EQZ and BC1NEZ condition handling)
Merging nios2/for-next (744606c76c4a nios2: add screen_info)
Merging openrisc/for-next (a4d442663580 openrisc: head: Init r0 to 0 on start)
Merging parisc-hd/for-next (c470abd4fde4 Linux 4.10)
Merging powerpc/next (c7e790c5f4c3 powerpc/64s: POWER8 add missing machine check definitions)
Merging fsl/next (75b824727680 powerpc/8xx: Perf events on PPC 8xx)
Merging mpc5xxx/next (39e69f55f857 powerpc: Introduce the use of the managed version of kzalloc)
Merging s390/features (0b7bb6af1d73 s390/facilities: get rid of __ASSEMBLY__ in facility header file)
Merging sparc-next/master (9f935675d41a Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input)
Merging sh/for-next (e61c10e468a4 sh: add device tree source for J2 FPGA on Mimas v2 board)
Merging tile/master (14e73e78ee98 tile: use __ro_after_init instead of tile-specific __write_once)
Merging uml/linux-next (f88f0bdfc32f um: UBD Improvements)
Merging unicore32/unicore32 (bc27113620ca unicore32-oldabi: add oldabi syscall interface)
Merging xtensa/xtensa-for-next (ec59c4ad070d Merge branch 'xtensa-boot' into xtensa-for-next)
Merging fscrypt/master (94840e3c802d fscrypt: eliminate ->prepare_context() operation)
CONFLICT (content): Merge conflict in fs/crypto/keyinfo.c
Merging befs/for-next (c1ae3cfa0e89 Linux 4.11-rc1)
Merging btrfs/next (8b8b08cbfb90 Btrfs: fix delalloc accounting after copy_from_user faults)
Merging btrfs-kdave/for-next (e162345e07e1 Merge branch 'for-next-next-v4.12-20170314' into for-next-20170314)
CONFLICT (content): Merge conflict in fs/btrfs/inode.c
Merging ceph/master (633ee407b9d1 libceph: force GFP_NOIO for socket allocations)
Merging cifs/for-next (70c1da060b51 cifs: remove unused code)
Merging configfs/for-next (e16769d4bca6 fs: configfs: don't return anything from drop_link)
Merging ecryptfs/next (be280b25c328 ecryptfs: remove private bin2hex implementation)
Merging ext3/for_next (ab4949640d66 reiserfs: avoid a -Wmaybe-uninitialized warning)
Merging ext4/dev (14ae5f6a5dbe jbd2: don't leak memory if setting up journal fails)
Merging f2fs/dev (1f0207135830 Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi)
Merging freevxfs/for-next (bf1bb4b460c8 freevxfs: update Kconfig information)
Merging fscache/fscache (d52bd54db8be Merge branch 'akpm' (patches from Andrew))
Merging fuse/for-next (9a87ad3da905 fuse: release: private_data cannot be NULL)
Merging gfs2/for-next (cc963a11b67b GFS2: Temporarily zero i_no_addr when creating a dinode)
Merging jfs/jfs-next (684666e51585 jfs: atomically read inode size)
Merging nfs/linux-next (97da3854c526 Linux 4.11-rc3)
Merging nfsd/nfsd-next (4544f5d6f165 uapi: fix linux/nfsd/cld.h userspace compilation errors)
Merging orangefs/for-next (e98bdb3059cb Merge tag 'v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into for-next)
Merging overlayfs/overlayfs-next (b1eaa950f7e9 ovl: lockdep annotate of nested stacked overlayfs inode lock)
Merging v9fs/for-next (a333e4bf2556 fs/9p: use fscache mutex rather than spinlock)
Merging ubifs/linux-next (1cb51a15b576 ubifs: Fix journal replay wrt. xattr nodes)
Merging xfs/for-next (8d242e932fb7 xfs: remove XFS_ALLOCTYPE_ANY_AG and XFS_ALLOCTYPE_START_AG)
Merging file-locks/linux-next (07d9a380680d Linux 4.9-rc2)
Merging vfs/for-next (9e9c5ba8bd70 Merge branch 'work.statx' into for-next)
CONFLICT (content): Merge conflict in samples/Kconfig
CONFLICT (content): Merge conflict in fs/proc/base.c
CONFLICT (content): Merge conflict in fs/f2fs/f2fs.h
Applying: smc: merge fix for "switch socket ->splice_read() to struct file *"
Merging vfs-jk/vfs (030b533c4fd4 fs: Avoid premature clearing of capabilities)
Merging vfs-miklos/next (0eb8af4916a5 vfs: use helper for calling f_op->fsync())
Merging printk/for-next (d9c23523ed98 printk: drop call_console_drivers() unused param)
Merging pci/next (d0ec4e67c924 Merge branch 'pci/switchtec' into next)
Merging pstore/for-next/pstore (eec50d76a6ee pstore: Drop needless inode lock during population)
Merging hid/for-next (aa4f835b1fa5 Revert "HID: Accutouch: Add driver for ELO Accutouch 2216 USB Touchscreens")
Merging i2c/i2c/for-next (346e400cfceb i2c: thunderx: ACPI support for clock settings)
Merging jdelvare-hwmon/master (08d27eb20666 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs)
Merging dmi/master (0c744ea4f77d Linux 4.10-rc2)
Merging hwmon-staging/hwmon-next (95e15d573eaa hwmon: (dell-smm) Add Dell XPS 15 9560 into DMI list)
Merging jc_docs/docs-next (3f816bac24f0 Documentation: device-mapper: cache.txt: Fix typos)
Merging v4l-dvb/master (8bc4793bd083 [media] soc-camera: fix rectangle adjustment in cropping)
Merging v4l-dvb-next/master (432ac2d4acef Merge branch 'v4l_for_linus' into to_next)
Merging fbdev/fbdev-for-next (6f9655b1b81f drivers/video: Convert remaining uses of pr_warning to pr_warn)
Merging pm/linux-next (00fd799df64a Merge branches 'pm-cpufreq-fixes', 'pm-cpufreq-sched-fixes', 'intel_pstate-fixes' and 'pm-cpuidle-fixes' into linux-next)
Merging idle/next (306899f94804 x86 tsc: Add the Intel Denverton Processor to native_calibrate_tsc())
Merging thermal/next (6fefe19f5836 Merge branches 'thermal-core', 'thermal-soc', 'thermal-intel' and 'ida-conversion' into next)
Merging thermal-soc/next (4f47aff5201c Merge branch 'work-linus' into work-next)
Merging ieee1394/for-next (72f3c27aa646 firewire: net: max MTU off by one)
Merging dlm/next (c0ae14857677 dlm: Fix kernel memory disclosure)
Merging swiotlb/linux-next (69369f52d28a swiotlb-xen: implement xen_swiotlb_get_sgtable callback)
Merging net-next/master (6f359f99b8c2 qedf: fix wrong le16 conversion)
CONFLICT (content): Merge conflict in kernel/bpf/hashtab.c
CONFLICT (content): Merge conflict in drivers/net/hyperv/netvsc.c
CONFLICT (content): Merge conflict in drivers/net/ethernet/broadcom/genet/bcmmii.c
Merging ipsec-next/master (62a9fa01add8 Merge branch 'bcmgenet-add-support-for-GENETv5')
Merging netfilter-next/master (592d42ac7fd3 Merge branch 'qed-IOV-cleanups')
Merging ipvs-next/master (3c679cba588a ipvs: Document sysctl pmtu_disc)
Merging wireless-drivers-next/master (41977e86c984 rt2x00: add support for MT7620)
Merging bluetooth/master (3c66d1c7ed41 Merge branch 'mlxsw-cosmetics')
Merging mac80211-next/master (335d534938d3 nl80211: Use signed function for a signed variable)
Merging rdma/for-next (9294000d6d89 IB/srp: Drain the send queue before destroying a QP)
Merging mtd/master (d91f6cee98b6 mtd: aspeed: remove redundant dev_err call in aspeed_smc_probe())
Merging l2-mtd/master (d91f6cee98b6 mtd: aspeed: remove redundant dev_err call in aspeed_smc_probe())
Merging nand/nand/next (4ca8c1d4979c mtd: nand: hynix: Fix an error code in init)
Merging spi-nor/next (9f3cd4537da0 drivers mtd: spi-nor: add Macronix MX25Ux033E and MX25Ux035 variants)
Merging crypto/master (28845b079b96 MAINTAINERS: Add maintianer entry for crypto/s5p-sss)
Merging drm/drm-next (65d1086c4479 BackMerge tag 'v4.11-rc3' into drm-next)
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_pm.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_csr.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/i915_irq.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/i915_gem_shrinker.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/i915_gem_context.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/i915_gem.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/i915_drv.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/gvt/scheduler.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/gvt/cmd_parser.c
Merging drm-panel/drm/panel/for-next (eaeebffa90f3 drm/panel: simple: Specify bus width and flags for EDT displays)
Merging drm-intel/for-linux-next (2e70b8c6bf00 drm/i915/execlists: Relax the locked clear_bit(IRQ_EXECLIST))
Merging drm-tegra/drm/tegra/for-next (0725ed651da1 drm/tegra: Add tiling FB modifiers)
CONFLICT (content): Merge conflict in drivers/gpu/drm/tegra/drm.c
Merging drm-misc/for-linux-next (e448054b5c63 drm/scdc: declare drm_scdc_get_scrambling_status)
Merging drm-exynos/exynos-drm/for-next (7d1e04231461 Merge tag 'usercopy-v4.8-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux)
Merging drm-msm/msm-next (6247d63e365d drm/msm/hdmi: redefinitions of macros not required)
Merging hdlcd/for-upstream/hdlcd (747e5a5ff2a2 drm: hdlcd: Fix cleanup order)
Merging mali-dp/for-upstream/mali-dp (751c5fae1940 drm: mali-dp: Fix smart layer not going to composition)
Merging sunxi/sunxi/for-next (b76f2725b9b6 Merge branches 'sunxi/dt-for-4.12' and 'sunxi/fixes-for-4.11' into sunxi/for-next)
Merging kspp/for-next/kspp (9b5e50a16f07 security/Kconfig: further restrict HARDENED_USERCOPY)
Merging kconfig/for-next (5bcba792bb30 localmodconfig: Fix whitespace repeat count after "tristate")
Merging regmap/for-next (bbbed1951704 Merge remote-tracking branches 'regmap/topic/doc' and 'regmap/topic/rbtree' into regmap-next)
Merging sound/for-next (a16fbb85c78a ALSA: hda/ca0132: Remove double parentheses)
Merging sound-asoc/for-next (702f4e84ff59 Merge remote-tracking branches 'asoc/topic/wm8903' and 'asoc/topic/zte-tdm' into asoc-next)
Merging modules/modules-next (5bd933fe4481 module: set .init_array alignment to 8)
Merging input/next (996b9eedd061 Input: synaptics - do not mix logical and bitwise operations)
Merging block/for-next (7a88fa191944 block: make nr_iovecs unsigned in bio_alloc_bioset())
Merging lightnvm/for-next (e57ef816cf77 Merge branch 'for-4.11/block' into for-next)
Merging device-mapper/for-next (bc48c6d5690c Merge branch 'dm-4.11' into dm-next)
Merging pcmcia/master (e8e68fd86d22 pcmcia: do not break rsrc_nonstatic when handling anonymous cards)
Merging mmc/next (1af805093f92 mmc: sdio: improve mmc_io_rw_extended)
Merging kgdb/kgdb-next (7a6653fca500 kdb: Fix handling of kallsyms_symbol_next() return value)
Merging md/for-next (4ad23a976413 MD: use per-cpu counter for writes_pending)
Merging mfd/for-mfd-next (02fe7875ecf0 mfd: tc6393xb: Make use of raw_spinlock variants)
Merging backlight/for-backlight-next (80e5d455339a MAINTAINERS: Rework entry for Backlight)
Merging battery/for-next (5782dcb20370 power: supply: bq24190_charger: Don't spam the logs on charger plug / unplug)
Merging omap_dss2/for-next (c456a2f30de5 video: smscufx: remove unused variable)
Merging regulator/for-next (a6a01bd92b39 Merge remote-tracking branch 'regulator/topic/pfuze100' into regulator-next)
Merging security/next (ca97d939db11 security: mark LSM hooks as __ro_after_init)
Merging integrity/next (3dd0c8d06511 ima: provide ">" and "<" operators for fowner/uid/euid rules.)
Merging keys/keys-next (ed51e44e914c Merge branch 'keys-asym-keyctl' into keys-next)
Merging selinux/next (9c312e79d6af selinux: Delete an unnecessary variable initialisation in range_read())
Merging tpmdd/next (8c0fb8db7c48 tpm: make check_locality return bool)
Merging watchdog/master (00ea1ceebe0d ipv6: release dst on error in ip6_dst_lookup_tail)
Merging iommu/next (41346dad4de0 Merge branches 'x86/vt-d', 'arm/core', 'core' and 'iommu/fixes' into next)
Merging dwmw2-iommu/master (910170442944 iommu/vt-d: Fix PASID table allocation)
Merging vfio/next (d9d84780f17c vfio: fix a typo in comment of function vfio_pin_pages)
Merging trivial/for-next (74dcba3589fc NTB: correct ntb_spad_count comment typo)
Merging audit/next (36fe46d172e5 audit: normalize NETFILTER_PKT)
CONFLICT (content): Merge conflict in net/netfilter/xt_AUDIT.c
Merging devicetree/for-next (0634c2958927 of: Add function for generating a DT modalias with a newline)
Merging mailbox/mailbox-for-next (db4d22c07e3e mailbox: mailbox-test: allow reserved areas in SRAM)
Merging spi/for-next (fff0ab49f2a4 Merge remote-tracking branches 'spi/topic/spidev', 'spi/topic/spidev-test', 'spi/topic/sunxi', 'spi/topic/test' and 'spi/topic/xlp' into spi-next)
Merging tip/auto-latest (8dd40ffe52a2 Merge branch 'x86/vdso')
Merging clockevents/clockevents/next (f947ee147e08 clocksource/drivers/arm_arch_timer: Map frame with of_io_request_and_map())
Merging edac/linux_next (345fb0a9a634 Merge tag 'edac_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp)
Merging edac-amd/for-next (cd1be315ac97 EDAC, pnd2_edac: Fix !EDAC_DEBUG build)
Merging irqchip/irqchip/for-next (c1ae3cfa0e89 Linux 4.11-rc1)
Merging ftrace/for-next (65a50c656276 ftrace/graph: Add ftrace_graph_max_depth kernel parameter)
Merging rcu/rcu/next (a4b037286900 srcu: Merge ->srcu_state into ->srcu_gp_seq)
Applying: drm/i915: merge fix for "mm: Rename SLAB_DESTROY_BY_RCU to SLAB_TYPESAFE_BY_RCU"
Merging kvm/linux-next (97da3854c526 Linux 4.11-rc3)
Merging kvm-arm/next (7b6b46311a85 KVM: arm/arm64: Emulate the EL1 phys timer registers)
Merging kvm-mips/next (12ed1faece3f KVM: MIPS: Allow multiple VCPUs to be created)
Merging kvm-ppc/kvm-ppc-next (bcd3bb63dbc8 KVM: PPC: Book3S HV: Disable HPT resizing on POWER9 for now)
Merging kvms390/next (4e0b1ab72b8a KVM: s390: gs support for kvm guests)
Merging xen-tip/linux-next (d825adb48cf9 xenbus: Remove duplicate inclusion of linux/init.h)
Merging percpu/for-next (8a1df543de8a percpu: remove unused chunk_alloc parameter from pcpu_get_pages())
Merging workqueues/for-next (bacb71fc9187 Merge branch 'for-4.12' into for-next)
Merging drivers-x86/for-next (b68049014a82 platform/x86: silead_dmi: Add entry for Insyde 7W tablets)
Merging chrome-platform/for-next (31b764171cb5 Revert "platform/chrome: chromeos_laptop: Add Leon Touch")
Merging hsi/for-next (7ac5d7b1a125 HSI: hsi_char.h: use __u32 from linux/types.h)
Merging leds/for-next (f4363d810767 leds: lp3952: Use 'if (ret)' pattern)
CONFLICT (content): Merge conflict in drivers/platform/x86/dell-laptop.c
Merging ipmi/for-next (ea6200e84182 Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip)
Merging driver-core/driver-core-next (7e040726850a eventpoll.h: add missing epoll event masks)
Merging usb/usb-next (5370860a1f0e USB: usblp: refactor endpoint retrieval)
CONFLICT (content): Merge conflict in drivers/usb/gadget/udc/pch_udc.c
Merging usb-gadget/next (c1ae3cfa0e89 Linux 4.11-rc1)
Merging usb-serial/usb-next (2ac8fc51ddf1 USB: serial: whiteheat: simplify endpoint check)
Merging usb-chipidea-next/ci-for-usb-next (4f4555cfe704 usb: chipidea: udc: update gadget state after bus resume)
Merging phy-next/next (fe0134d07127 phy: phy-exynos-pcie: make it explicitly non-modular)
Merging tty/tty-next (acbdad8dd1ab serial: 8250_dw: simplify optional reset handling)
CONFLICT (content): Merge conflict in drivers/tty/tty_ldisc.c
Merging char-misc/char-misc-next (392910cf3f8a drivers, firewire: convert fw_node.ref_count from atomic_t to refcount_t)
CONFLICT (content): Merge conflict in drivers/char/tpm/tpm-chip.c
Merging extcon/extcon-next (0ac6cbe27be3 extcon: palmas: Don't miss GPIO events during suspend/resume)
Merging staging/staging-next (b0fe8f7b9b5a staging: rtl8192e: Fix issues reported by checkpatch.pl)
Merging mux/for-next (9920ed1461bb mux: core: fix error handling in devm_mux_chip_alloc)
Merging slave-dma/next (4bc9bf4ef86e Merge branch 'topic/xilinx' into next)
Merging cgroup/for-next (b4eba5f81324 Merge branch 'for-4.11-fixes' into for-next)
Merging scsi/for-next (ebb5a94667b4 Merge branch 'fixes' into for-next)
Merging scsi-mkp/for-next (33bd712be7d2 scsi: esas2r: Remove redundant NULL check on buffer)
Merging target-updates/for-next (98fec7793703 iscsi-target: Propigate queue_data_in + queue_status errors)
Merging target-merge/for-next-merge (2994a7518317 cxgb4: update Kconfig and Makefile)
Merging target-bva/for-next (762b6f00a995 uapi: fix linux/target_core_user.h userspace compilation errors)
Merging libata/for-next (9332bd9ef480 Merge branch 'for-4.12' into for-next)
Merging binfmt_misc/for-next (4af75df6a410 binfmt_misc: add F option description to documentation)
Merging vhost/linux-next (80363894995b virtio_mmio: expose header to userspace)
Merging rpmsg/for-next (5e78de7eee74 Merge branches 'hwspinlock-next', 'rpmsg-next' and 'rproc-next' into for-next)
Merging gpio/for-next (acac0e697c5e Merge branch 'devel' into for-next)
CONFLICT (content): Merge conflict in drivers/input/misc/soc_button_array.c
Merging pinctrl/for-next (fec6696b0769 Merge branch 'devel' into for-next)
Merging pinctrl-samsung/for-next (786b1f7c95d7 Merge branch 'pinctrl-next' into for-next)
Merging dma-mapping/dma-mapping-next (1001354ca341 Linux 4.9-rc1)
Merging pwm/for-next (38b0a526ec33 Merge branch 'for-4.11/drivers' into for-next)
Merging dma-buf/for-next (194cad44c4e1 dma-buf/sync_file: improve Kconfig description for Sync Files)
CONFLICT (content): Merge conflict in drivers/dma-buf/Kconfig
Merging userns/for-next (040757f738e1 ucount: Remove the atomicity from ucount->count)
Merging ktest/for-next (f7c6401ff84a ktest: Make sure wait_for_input does honor the timeout)
Merging random/dev (db61ffe3a71c random: move random_min_urandom_seed into CONFIG_SYSCTL ifdef block)
Merging aio/master (b562e44f507e Linux 4.5)
Merging kselftest/next (c1ae3cfa0e89 Linux 4.11-rc1)
Merging y2038/y2038 (69973b830859 Linux 4.9)
Merging luto-misc/next (2dcd0af568b0 Linux 4.6)
Merging borntraeger/linux-next (e76d21c40bd6 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net)
Merging livepatching/for-next (10517429b5ac livepatch: make klp_mutex proper part of API)
CONFLICT (content): Merge conflict in arch/x86/include/asm/thread_info.h
CONFLICT (content): Merge conflict in arch/s390/kernel/entry.S
CONFLICT (content): Merge conflict in arch/s390/include/asm/thread_info.h
Merging coresight/next (6de8ad2f92ea coresight: Fixes coresight DT parse to get correct output port ID.)
Merging rtc/rtc-next (65e9e65cebbe rtc: cpcap: kfreeing devm allocated memory)
Merging hwspinlock/for-next (bd5717a4632c hwspinlock: qcom: Correct msb in regmap_field)
Merging nvdimm/libnvdimm-for-next (52084f89b38c device-dax: fix debug output typo)
Merging dax-misc/dax-misc (4d9a2c874667 dax: Remove i_mmap_lock protection)
Merging idr/idr-4.11 (f0f3f2d0a3e0 radix tree test suite: Specify -m32 in LDFLAGS too)
Merging akpm-current/current (20518a1747d5 initramfs: use vfs_stat/lstat directly)
CONFLICT (content): Merge conflict in arch/x86/include/asm/atomic64_64.h
CONFLICT (content): Merge conflict in arch/x86/include/asm/atomic.h
Applying: linux-next-rejects
Applying: fix for bad merge fix
$ git checkout -b akpm remotes/origin/akpm/master
Applying: mm: introduce kv[mz]alloc helpers
Applying: mm: introduce kv[mz]alloc helpers - f2fs fix up
Applying: mm: support __GFP_REPEAT in kvmalloc_node for >32kB
Applying: lib/rhashtable.c: simplify a strange allocation pattern
Applying: net/ipv6/ila/ila_xlat.c: simplify a strange allocation pattern
Applying: fs/xattr.c: zero out memory copied to userspace in getxattr
Applying: treewide: use kv[mz]alloc* rather than opencoded variants
Applying: net: use kvmalloc with __GFP_REPEAT rather than open coded variant
Applying: drivers/md/dm-ioctl.c: use kvmalloc rather than opencoded variant
Applying: drivers/md/bcache/super.c: use kvmalloc
Applying: mm, vmalloc: use __GFP_HIGHMEM implicitly
Applying: scripts/spelling.txt: add "memory" pattern and fix typos
Applying: scripts/spelling.txt: Add regsiter -> register spelling mistake
Applying: scripts/spelling.txt: add "intialise(d)" pattern and fix typo instances
Applying: treewide: move set_memory_* functions away from cacheflush.h
Applying: arm: use set_memory.h header
Applying: arm64: use set_memory.h header
Applying: s390: use set_memory.h header
Applying: x86: use set_memory.h header
Applying: agp: use set_memory.h header
Applying: drm: use set_memory.h header
Applying: drm-use-set_memoryh-header-fix
Applying: drivers/hwtracing/intel_th/msu.c: use set_memory.h header
Applying: drivers/watchdog/hpwdt.c: use set_memory.h header
Applying: include/linux/filter.h: use set_memory.h header
Applying: kernel/module.c: use set_memory.h header
Applying: kernel/power/snapshot.c: use set_memory.h header
Applying: alsa: use set_memory.h header
Applying: drivers/misc/sram-exec.c: use set_memory.h header
Applying: drivers/video/fbdev/vermilion/vermilion.c: use set_memory.h header
Applying: drivers/staging/media/atomisp/pci/atomisp2: use set_memory.h
Applying: treewide: decouple cacheflush.h and set_memory.h
Applying: x86/atomic: move __arch_atomic_add_unless out of line
CONFLICT (content): Merge conflict in arch/x86/include/asm/atomic.h
Applying: x86-atomic-move-__atomic_add_unless-out-of-line-fix
Applying: kernel/sched/fair.c: uninline __update_load_avg()
Applying: kref: remove WARN_ON for NULL release functions
Applying: drivers/scsi/megaraid: remove expensive inline from megasas_return_cmd
Applying: include/linux/uaccess.h: remove expensive WARN_ON in pagefault_disabled_dec
Applying: tracing: move trace_handle_return() out of line
Merging akpm/master (ff4eb5d0c322 tracing: move trace_handle_return() out of line)

^ permalink raw reply

* Re: linux-next: manual merge of the audit tree with Linus' tree
From: Richard Guy Briggs @ 2017-03-24  6:33 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: Paul Moore, linux-next, linux-kernel, Pablo Neira Ayuso
In-Reply-To: <20170324131810.0b70ebbf@canb.auug.org.au>

On 2017-03-24 13:18, Stephen Rothwell wrote:
> Hi Paul,

Hi Stephen,

> Today's linux-next merge of the audit tree got a conflict in:
> 
>   net/netfilter/xt_AUDIT.c
> 
> between commit:
> 
>   613dbd95723a ("netfilter: x_tables: move hook state into xt_action_param structure")
> 
> from Linus' tree and commit:
> 
>   36fe46d172e5 ("audit: normalize NETFILTER_PKT")
> 
> from the audit tree.

Lovely.  The fix looks fine to me.  Thanks!

> 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.
> 
> P.S. You may want to consider a newer base for your tree ...
> -- 
> Cheers,
> Stephen Rothwell
> 
> diff --cc net/netfilter/xt_AUDIT.c
> index 19247a17e511,582ee54f6664..000000000000
> --- a/net/netfilter/xt_AUDIT.c
> +++ b/net/netfilter/xt_AUDIT.c
> @@@ -131,39 -78,24 +78,24 @@@ audit_tg(struct sk_buff *skb, const str
>   	if (ab == NULL)
>   		goto errout;
>   
> - 	audit_log_format(ab, "action=%hhu hook=%u len=%u inif=%s outif=%s",
> - 			 info->type, xt_hooknum(par), skb->len,
> - 			 xt_in(par) ? xt_inname(par) : "?",
> - 			 xt_out(par) ? xt_outname(par) : "?");
> - 
> - 	if (skb->mark)
> - 		audit_log_format(ab, " mark=%#x", skb->mark);
> - 
> - 	if (skb->dev && skb->dev->type == ARPHRD_ETHER) {
> - 		audit_log_format(ab, " smac=%pM dmac=%pM macproto=0x%04x",
> - 				 eth_hdr(skb)->h_source, eth_hdr(skb)->h_dest,
> - 				 ntohs(eth_hdr(skb)->h_proto));
> - 
> - 		if (xt_family(par) == NFPROTO_BRIDGE) {
> - 			switch (eth_hdr(skb)->h_proto) {
> - 			case htons(ETH_P_IP):
> - 				audit_ip4(ab, skb);
> - 				break;
> - 
> - 			case htons(ETH_P_IPV6):
> - 				audit_ip6(ab, skb);
> - 				break;
> - 			}
> - 		}
> - 	}
> + 	audit_log_format(ab, "mark=%#x", skb->mark);
>   
>  -	switch (par->family) {
>  +	switch (xt_family(par)) {
> + 	case NFPROTO_BRIDGE:
> + 		switch (eth_hdr(skb)->h_proto) {
> + 		case htons(ETH_P_IP):
> + 			fam = audit_ip4(ab, skb) ? NFPROTO_IPV4 : -1;
> + 			break;
> + 		case htons(ETH_P_IPV6):
> + 			fam = audit_ip6(ab, skb) ? NFPROTO_IPV6 : -1;
> + 			break;
> + 		}
> + 		break;
>   	case NFPROTO_IPV4:
> - 		audit_ip4(ab, skb);
> + 		fam = audit_ip4(ab, skb) ? NFPROTO_IPV4 : -1;
>   		break;
> - 
>   	case NFPROTO_IPV6:
> - 		audit_ip6(ab, skb);
> + 		fam = audit_ip6(ab, skb) ? NFPROTO_IPV6 : -1;
>   		break;
>   	}
>   

- RGB

--
Richard Guy Briggs <rgb@redhat.com>
Kernel Security Engineering, Base Operating Systems, Red Hat
Remote, Ottawa, Canada
Voice: +1.647.777.2635, Internal: (81) 32635

^ permalink raw reply

* Re: linux-next: manual merge of the char-misc tree with the tpmdd tree
From: Greg KH @ 2017-03-24  6:55 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Arnd Bergmann, Jarkko Sakkinen, linux-next, linux-kernel,
	Logan Gunthorpe, James Bottomley
In-Reply-To: <20170324143302.33eed1a6@canb.auug.org.au>

On Fri, Mar 24, 2017 at 02:33:02PM +1100, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next merge of the char-misc tree got a conflict in:
> 
>   drivers/char/tpm/tpm-chip.c
> 
> between commits:
> 
>   67b67480db8b ("tpm: infrastructure for TPM spaces")
>   b8e3586e8536 ("tpm: expose spaces via a device link /dev/tpmrm<n>")
> 
> from the tpmdd tree and commit:
> 
>   8dbbf5825181 ("tpm-chip: utilize new cdev_device_add helper function")
> 
> from the char-misc 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/char/tpm/tpm-chip.c
> index aade6995f310,935f0e92ad61..000000000000
> --- a/drivers/char/tpm/tpm-chip.c
> +++ b/drivers/char/tpm/tpm-chip.c
> @@@ -214,22 -186,7 +214,20 @@@ struct tpm_chip *tpm_chip_alloc(struct 
>   		chip->flags |= TPM_CHIP_FLAG_VIRTUAL;
>   
>   	cdev_init(&chip->cdev, &tpm_fops);
>  +	cdev_init(&chip->cdevs, &tpmrm_fops);
>   	chip->cdev.owner = THIS_MODULE;
>  +	chip->cdevs.owner = THIS_MODULE;
> - 	chip->cdev.kobj.parent = &chip->dev.kobj;
> - 	chip->cdevs.kobj.parent = &chip->devs.kobj;
>  +
>  +	chip->work_space.context_buf = kzalloc(PAGE_SIZE, GFP_KERNEL);
>  +	if (!chip->work_space.context_buf) {
>  +		rc = -ENOMEM;
>  +		goto out;
>  +	}
>  +	chip->work_space.session_buf = kzalloc(PAGE_SIZE, GFP_KERNEL);
>  +	if (!chip->work_space.session_buf) {
>  +		rc = -ENOMEM;
>  +		goto out;
>  +	}
>   
>   	return chip;
>   
> @@@ -273,44 -229,13 +271,22 @@@ static int tpm_add_char_device(struct t
>   {
>   	int rc;
>   
> - 	rc = cdev_add(&chip->cdev, chip->dev.devt, 1);
> + 	rc = cdev_device_add(&chip->cdev, &chip->dev);
>   	if (rc) {
>   		dev_err(&chip->dev,
> - 			"unable to cdev_add() %s, major %d, minor %d, err=%d\n",
> + 			"unable to cdev_device_add() %s, major %d, minor %d, err=%d\n",
>   			dev_name(&chip->dev), MAJOR(chip->dev.devt),
>   			MINOR(chip->dev.devt), rc);
>  +		return rc;
>  +	}
>   
> - 	rc = device_add(&chip->dev);
> - 	if (rc) {
> - 		dev_err(&chip->dev,
> - 			"unable to device_register() %s, major %d, minor %d, err=%d\n",
> - 			dev_name(&chip->dev), MAJOR(chip->dev.devt),
> - 			MINOR(chip->dev.devt), rc);
> - 
> - 		cdev_del(&chip->cdev);
> - 		return rc;
> - 	}
> - 
> - 	if (chip->flags & TPM_CHIP_FLAG_TPM2)
> - 		rc = cdev_add(&chip->cdevs, chip->devs.devt, 1);
> - 	if (rc) {
> - 		dev_err(&chip->dev,
> - 			"unable to cdev_add() %s, major %d, minor %d, err=%d\n",
> - 			dev_name(&chip->devs), MAJOR(chip->devs.devt),
> - 			MINOR(chip->devs.devt), rc);
> - 		return rc;
> - 	}
> - 
>  +	if (chip->flags & TPM_CHIP_FLAG_TPM2)
> - 		rc = device_add(&chip->devs);
> ++		rc = cdev_device_add(&chip->cdevs, &chip->devs);
>  +	if (rc) {
>  +		dev_err(&chip->dev,
> - 			"unable to device_register() %s, major %d, minor %d, err=%d\n",
> ++			"unable to cdev_device_add() %s, major %d, minor %d, err=%d\n",
>  +			dev_name(&chip->devs), MAJOR(chip->devs.devt),
>  +			MINOR(chip->devs.devt), rc);
> - 		cdev_del(&chip->cdevs);
>   		return rc;
>   	}
>   
> @@@ -447,10 -371,6 +422,8 @@@ void tpm_chip_unregister(struct tpm_chi
>   {
>   	tpm_del_legacy_sysfs(chip);
>   	tpm_bios_log_teardown(chip);
> - 	if (chip->flags & TPM_CHIP_FLAG_TPM2) {
> - 		cdev_del(&chip->cdevs);
> - 		device_del(&chip->devs);
> - 	}
> ++	if (chip->flags & TPM_CHIP_FLAG_TPM2)
> ++		cdev_device_del(&chip->cdevs, &chip->devs);
>   	tpm_del_char_device(chip);
>   }
>   EXPORT_SYMBOL_GPL(tpm_chip_unregister);

Looks good to me, thanks!

greg k-h

^ permalink raw reply

* Re: linux-next: manual merge of the akpm tree with the tip tree
From: Peter Zijlstra @ 2017-03-24  8:05 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Andrew Morton, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	linux-next, linux-kernel
In-Reply-To: <20170324164026.4f305846@canb.auug.org.au>

On Fri, Mar 24, 2017 at 04:40:26PM +1100, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next merge of the akpm tree got a conflict in:
> 
>   arch/x86/include/asm/atomic.h
> 
> between commit:
> 
>   e6790e4b5d5e ("locking/atomic/x86: Use atomic_try_cmpxchg()")
> 
> from the tip tree and patch:
> 
>   "x86/atomic: move __arch_atomic_add_unless out of line"
> 
> from the akpm tree.

Urgh, that patch shouldn't be in mm in any case. Also with the
try_cmpxchg() change, the text gain is reduced (about half).

Furthermore, micro-benchmarks show that turning cmpxchg loops like this
into a function makes them more expensive; see:

  https://lkml.kernel.org/r/20170322165144.dtidvvbxey7w5pbd@hirez.programming.kicks-ass.net

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox