[driver-core:driver-core-testing] BUILD SUCCESS 049d1693db78144c979b34e2084287ada912cf7f

2021-08-31 Thread kernel test robot
tree/branch: 
https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git 
driver-core-testing
branch HEAD: 049d1693db78144c979b34e2084287ada912cf7f  MAINTAINERS: Add 
dri-devel for component.[hc]

elapsed time: 5699m

configs tested: 95
configs skipped: 4

The following configs have been built successfully.
More configs may be tested in the coming days.

gcc tested configs:
arm defconfig
arm64allyesconfig
arm  allyesconfig
arm  allmodconfig
arm64   defconfig
mips tb0219_defconfig
powerpc mpc8272_ads_defconfig
arm   sunxi_defconfig
openrisc  or1klitex_defconfig
powerpcsocrates_defconfig
sh   se7343_defconfig
ia64 allmodconfig
ia64defconfig
ia64 allyesconfig
m68k allmodconfig
m68kdefconfig
m68k allyesconfig
nios2   defconfig
arc  allyesconfig
nds32 allnoconfig
nios2allyesconfig
cskydefconfig
alpha   defconfig
alphaallyesconfig
nds32   defconfig
xtensa   allyesconfig
h8300allyesconfig
arc defconfig
sh   allmodconfig
parisc  defconfig
s390 allyesconfig
s390 allmodconfig
parisc   allyesconfig
s390defconfig
i386 allyesconfig
sparcallyesconfig
sparc   defconfig
i386defconfig
mips allyesconfig
mips allmodconfig
powerpc  allyesconfig
powerpc  allmodconfig
powerpc   allnoconfig
i386 randconfig-a005-20210831
i386 randconfig-a002-20210831
i386 randconfig-a003-20210831
i386 randconfig-a006-20210831
i386 randconfig-a004-20210831
i386 randconfig-a001-20210831
x86_64   randconfig-a016-20210829
x86_64   randconfig-a014-20210829
x86_64   randconfig-a015-20210829
x86_64   randconfig-a012-20210829
x86_64   randconfig-a013-20210829
x86_64   randconfig-a011-20210829
i386 randconfig-a011-20210829
i386 randconfig-a012-20210829
i386 randconfig-a014-20210829
i386 randconfig-a013-20210829
i386 randconfig-a015-20210829
i386 randconfig-a016-20210829
arc  randconfig-r043-20210829
riscvrandconfig-r042-20210829
s390 randconfig-r044-20210829
arc  randconfig-r043-20210827
riscvrandconfig-r042-20210827
s390 randconfig-r044-20210827
riscvnommu_k210_defconfig
riscvallyesconfig
riscvnommu_virt_defconfig
riscv allnoconfig
riscv   defconfig
riscv  rv32_defconfig
riscvallmodconfig
um   x86_64_defconfig
um i386_defconfig
x86_64   allyesconfig
x86_64rhel-8.3-kselftests
x86_64  defconfig
x86_64   rhel-8.3
x86_64  kexec

clang tested configs:
x86_64   randconfig-a001-20210829
x86_64   randconfig-a006-20210829
x86_64   randconfig-a005-20210829
x86_64   randconfig-a003-20210829
x86_64   randconfig-a004-20210829
x86_64   randconfig-a002-20210829
i386 randconfig-a005-20210830
i386 randconfig-a002-20210830
i386 randconfig-a003-20210830
i386 randconfig-a006-20210830
i386 randconfig-a004-20210830
i386 randconfig-a001-20210830
hexagon  randconfig-r041-20210827
hexagon  randconfig-r045-20210827

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
___
devel mailing list
de...@linuxdriverproject.org
http

Re: [PATCH v2] drm/bridge: anx7625: enable DSI EOTP

2021-08-31 Thread Robert Foss
On Thu, 19 Aug 2021 at 08:01, Xin Ji  wrote:
>
> Enable DSI EOTP feature for fixing some panel screen constant shift issue.
> Removing MIPI flag MIPI_DSI_MODE_NO_EOT_PACKET to enable DSI EOTP.
>
> Reviewed-by: Robert Foss 
> Signed-off-by: Xin Ji 
> ---
>  drivers/gpu/drm/bridge/analogix/anx7625.c | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c 
> b/drivers/gpu/drm/bridge/analogix/anx7625.c
> index abc8db77bfd3..1a871f6b6822 100644
> --- a/drivers/gpu/drm/bridge/analogix/anx7625.c
> +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
> @@ -1335,7 +1335,6 @@ static int anx7625_attach_dsi(struct anx7625_data *ctx)
> dsi->format = MIPI_DSI_FMT_RGB888;
> dsi->mode_flags = MIPI_DSI_MODE_VIDEO   |
> MIPI_DSI_MODE_VIDEO_SYNC_PULSE  |
> -   MIPI_DSI_MODE_NO_EOT_PACKET |
> MIPI_DSI_MODE_VIDEO_HSE;
>
> if (mipi_dsi_attach(dsi) < 0) {

Applied to drm-misc-next
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] binder: make sure fd closes complete

2021-08-31 Thread Martijn Coenen
On Mon, Aug 30, 2021 at 9:51 PM 'Todd Kjos' via kernel-team
 wrote:
>
> During BC_FREE_BUFFER processing, the BINDER_TYPE_FDA object
> cleanup may close 1 or more fds. The close operations are
> completed using the task work mechanism -- which means the thread
> needs to return to userspace or the file object may never be
> dereferenced -- which can lead to hung processes.
>
> Force the binder thread back to userspace if an fd is closed during
> BC_FREE_BUFFER handling.
>
> Signed-off-by: Todd Kjos 
Reviewed-by: Martijn Coenen 

> ---
>  drivers/android/binder.c | 23 +--
>  1 file changed, 17 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/android/binder.c b/drivers/android/binder.c
> index bcec598b89f2..c2823f0d588f 100644
> --- a/drivers/android/binder.c
> +++ b/drivers/android/binder.c
> @@ -1852,6 +1852,7 @@ static void binder_deferred_fd_close(int fd)
>  }
>
>  static void binder_transaction_buffer_release(struct binder_proc *proc,
> + struct binder_thread *thread,
>   struct binder_buffer *buffer,
>   binder_size_t failed_at,
>   bool is_failure)
> @@ -2011,8 +2012,16 @@ static void binder_transaction_buffer_release(struct 
> binder_proc *proc,
> >alloc, , buffer,
> offset, sizeof(fd));
> WARN_ON(err);
> -   if (!err)
> +   if (!err) {
> binder_deferred_fd_close(fd);
> +   /*
> +* Need to make sure the thread goes
> +* back to userspace to complete the
> +* deferred close
> +*/
> +   if (thread)
> +   thread->looper_need_return = 
> true;
> +   }
> }
> } break;
> default:
> @@ -3105,7 +3114,7 @@ static void binder_transaction(struct binder_proc *proc,
>  err_copy_data_failed:
> binder_free_txn_fixups(t);
> trace_binder_transaction_failed_buffer_release(t->buffer);
> -   binder_transaction_buffer_release(target_proc, t->buffer,
> +   binder_transaction_buffer_release(target_proc, NULL, t->buffer,
>   buffer_offset, true);
> if (target_node)
> binder_dec_node_tmpref(target_node);
> @@ -3184,7 +3193,9 @@ static void binder_transaction(struct binder_proc *proc,
>   * Cleanup buffer and free it.
>   */
>  static void
> -binder_free_buf(struct binder_proc *proc, struct binder_buffer *buffer)
> +binder_free_buf(struct binder_proc *proc,
> +   struct binder_thread *thread,
> +   struct binder_buffer *buffer)
>  {
> binder_inner_proc_lock(proc);
> if (buffer->transaction) {
> @@ -3212,7 +3223,7 @@ binder_free_buf(struct binder_proc *proc, struct 
> binder_buffer *buffer)
> binder_node_inner_unlock(buf_node);
> }
> trace_binder_transaction_buffer_release(buffer);
> -   binder_transaction_buffer_release(proc, buffer, 0, false);
> +   binder_transaction_buffer_release(proc, thread, buffer, 0, false);
> binder_alloc_free_buf(>alloc, buffer);
>  }
>
> @@ -3414,7 +3425,7 @@ static int binder_thread_write(struct binder_proc *proc,
>  proc->pid, thread->pid, (u64)data_ptr,
>  buffer->debug_id,
>  buffer->transaction ? "active" : 
> "finished");
> -   binder_free_buf(proc, buffer);
> +   binder_free_buf(proc, thread, buffer);
> break;
> }
>
> @@ -4107,7 +4118,7 @@ static int binder_thread_read(struct binder_proc *proc,
> buffer->transaction = NULL;
> binder_cleanup_transaction(t, "fd fixups failed",
>BR_FAILED_REPLY);
> -   binder_free_buf(proc, buffer);
> +   binder_free_buf(proc, thread, buffer);
> binder_debug(BINDER_DEBUG_FAILED_TRANSACTION,
>  "%d:%d %stransaction %d fd fixups failed 
> %d/%d, line %d\n",
>  proc->pid, thread->pid,
> --
> 2.33.0.259.gc128427fd7-goog
>
>
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] staging: rtl8723bs: fix memory leak error

2021-08-31 Thread Dan Carpenter
On Tue, Aug 31, 2021 at 01:03:55AM +0530, F.A.Sulaiman wrote:
> Smatch reported memory leak bug in rtl8723b_FirmwareDownload function. 
> The problem is pFirmware memory is not released in release_fw1. 
> Instead of redirecting to release_fw1 we can turn it into exit 
> and free the memory.
> 
> Signed-off-by: F.A. SULAIMAN 
> ---
>  drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c 
> b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
> index de8caa6cd418..b59c2aa3a9d8 100644
> --- a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
> +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
> @@ -436,7 +436,7 @@ s32 rtl8723b_FirmwareDownload(struct adapter *padapter, 
> bool  bUsedWoWLANFw)
>   if (pFirmware->fw_length > FW_8723B_SIZE) {
>   rtStatus = _FAIL;
>   DBG_871X_LEVEL(_drv_emerg_, "Firmware size:%u exceed %u\n", 
> pFirmware->fw_length, FW_8723B_SIZE);
> - goto release_fw1;
> + goto exit;
>   }

The current tree doesn't have DBG_871X_LEVEL() so you must be working
against something old.  You need to work against linux-next or staging
next.

Your patch fixes a bug, but it would be better to just re-write the
error handling for this function.  There is another bug that a bunch
of error paths don't call release_firmware(fw).  Use the "Free the Last
Thing" method.

pFirmware = kzalloc(sizeof(struct rt_firmware), GFP_KERNEL);
if (!pFirmware)
return _FAIL;

The last thing we allocated is "pFirmware" so free that if we have an
error.

pBTFirmware = kzalloc(sizeof(struct rt_firmware), GFP_KERNEL);
if (!pBTFirmware) {
rtStatus = _FAIL;
goto free_firmware;
}

Now the last thing is pBTFirmware.

rtStatus = request_firmware(, fwfilepath, device);
if (rtStatus) {
rtStatus = _FAIL;
goto free_bt_firmware;
}

Now the last thing is "fw".  But this is a bit tricky because we're
going to release it as soon as possible and not wait until the end of
the function.  There isn't a reason for this...  We can change that or
keep it as-is.  If we keep it as is, then the we'll just call
release_firmware(fw); before the goto free_bt_firmware;  The current
code leaks fw on a bunch of error paths.

pFirmware->fw_buffer_sz = kmemdup(fw->data, fw->size, GFP_KERNEL);
if (!pFirmware->fw_buffer_sz) {
rtStatus = _FAIL;
release_firmware(fw);
goto free_bt_firmware;
}

Or:

pFirmware->fw_buffer_sz = kmemdup(fw->data, fw->size, GFP_KERNEL);
if (!pFirmware->fw_buffer_sz) {
rtStatus = _FAIL;
goto release_fw;
}

Now the last thing is pFirmware->fw_buffer_sz.  Etc.

Then at the end it's just:

free_fw_buffer:
kfree(pFirmware->fw_buffer_sz);
release_fw:
release_firmware(fw);
free_bt_firmware:
kfree(pBTFirmware);
free_firmware:
kfree(pFirmware);

return rtStatus;
}

regards,
dan carpenter
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] binder: make sure fd closes complete

2021-08-31 Thread Christian Brauner
On Mon, Aug 30, 2021 at 12:51:46PM -0700, Todd Kjos wrote:
> During BC_FREE_BUFFER processing, the BINDER_TYPE_FDA object
> cleanup may close 1 or more fds. The close operations are
> completed using the task work mechanism -- which means the thread
> needs to return to userspace or the file object may never be
> dereferenced -- which can lead to hung processes.
> 
> Force the binder thread back to userspace if an fd is closed during
> BC_FREE_BUFFER handling.
> 
> Signed-off-by: Todd Kjos 
> ---

Looks good. Thanks!
Acked-by: Christian Brauner 
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel