https://bugzilla.kernel.org/show_bug.cgi?id=195285
--- Comment #9 from Anthony (anthony.blood...@gmail.com) ---
patch work fine on 4.12.0-0.rc1 with ql2xmqsupport enabled
--
You are receiving this mail because:
You are watching the assignee of the bug.
Martin,
Please apply this patch set to next 'scsi-fixes' series.
Thanks,
Manish
Arun Easi (1):
qedi: Fix bad pte call trace when iscsiuio is stopped.
Manish Rangankar (5):
qedi: Correctly set firmware max supported BDs.
qedi: Set dma_boundary to 0xfff.
qedi: Fix endpoint NULL panic in
Signed-off-by: Manish Rangankar
---
drivers/scsi/qedi/qedi.h | 1 +
drivers/scsi/qedi/qedi_iscsi.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/drivers/scsi/qedi/qedi.h b/drivers/scsi/qedi/qedi.h
index 269dac6..32632c9 100644
---
From: Arun Easi
munmap done by iscsiuio during a stop of the service triggers a "bad
pte" warning sometimes. munmap kernel path goes through the mmapped
pages and has a validation check for mapcount (in struct page) to be
zero or above. kzalloc, which we had used to
From: Nilesh Javali
max_fin_rt is the maximum re-transmission of FIN packets
as part of the termination flow. After reaching this value
the FW will send a single RESET.
Signed-off-by: Nilesh Javali
Signed-off-by: Manish Rangankar
Signed-off-by: Manish Rangankar
---
drivers/scsi/qedi/qedi.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/qedi/qedi.h b/drivers/scsi/qedi/qedi.h
index 5ca3e8c..269dac6 100644
--- a/drivers/scsi/qedi/qedi.h
+++
RIP: 0010:qedi_set_path+0x114/0x570 [qedi]
Call Trace:
[] iscsi_if_recv_msg+0x623/0x14a0
[] ? rhashtable_lookup_compare+0x36/0x70
[] iscsi_if_rx+0x8e/0x1f0
[] netlink_unicast+0xed/0x1b0
[] netlink_sendmsg+0x330/0x770
[] sock_sendmsg+0xb0/0xf0
[] ? __switch_to+0x17b/0x4b0
[] ?
Signed-off-by: Manish Rangankar
---
drivers/scsi/qedi/qedi_fw.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/scsi/qedi/qedi_fw.c b/drivers/scsi/qedi/qedi_fw.c
index d6978cb..8bc7ee1 100644
--- a/drivers/scsi/qedi/qedi_fw.c
+++
Signed-off-by: Manish Rangankar
---
drivers/scsi/qedi/qedi_main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/scsi/qedi/qedi_main.c b/drivers/scsi/qedi/qedi_main.c
index 997e305..62ba0550 100644
--- a/drivers/scsi/qedi/qedi_main.c
+++
I ran into a series of crashes within scsi_remove_target in SUSE 12 SP1
(3.12.49-11-default). This will happen very easily if there is a lot of disks
with many storage and host FC ports. It occurs when all the ports are timeout
at the same time. 50 disks for each rports (the same 50 LUNs), 4
rdac_failover_get references struct rdac_controller as
ctlr->ms_sdev->handler_data->ctlr for no apparent reason. Besides being
inefficient this also introduces a null-pointer dereference as
send_mode_select() sets ctlr->ms_sdev to NULL before calling
rdac_failover_get():
[ 18.432550]
HELLO!
I am Mr Neil Trotter, the current winner of 108 Euro millions jackpot, if you
have received this email then you are of the lucky fellows to benefit from
me,so do get back to me for a better understanding. Here is the website for
proof
https://bugzilla.kernel.org/show_bug.cgi?id=195285
--- Comment #12 from himanshu.madh...@cavium.com (himanshu.madh...@qlogic.com)
---
(In reply to loberman from comment #11)
> - Original Message -
> > From: "Laurence Oberman"
> > To:
https://bugzilla.kernel.org/show_bug.cgi?id=195285
--- Comment #10 from himanshu.madh...@cavium.com (himanshu.madh...@qlogic.com)
---
Hi Anthony,
(In reply to Anthony from comment #9)
> patch work fine on 4.12.0-0.rc1 with ql2xmqsupport enabled
Thanks for validation. I'll send this patch to
https://bugzilla.kernel.org/show_bug.cgi?id=195285
--- Comment #11 from lober...@redhat.com ---
- Original Message -
> From: "Laurence Oberman"
> To: bugzilla-dae...@bugzilla.kernel.org
> Cc: linux-s...@kernel.org
> Sent: Thursday, May 18, 2017 2:11:43 PM
> Subject:
Since the cdrom driver only supports request queues for which
struct scsi_request is the first member of their private request
data, refuse to register block layer queues for which the private
data is smaller than struct scsi_request.
References: commit 82ed4db499b8 ("block: split scsi_request
The only functional change is that this patch causes scsi_setup_fs_cmnd()
to clear scsi_request.sense_len.
Signed-off-by: Bart Van Assche
Cc: Christoph Hellwig
Cc: Hannes Reinecke
---
drivers/scsi/scsi_lib.c | 4 ++--
1 file changed, 2
Since scsi_req_init() works on a struct scsi_request, change the
argument type into struct scsi_request *.
Signed-off-by: Bart Van Assche
Cc: Christoph Hellwig
Cc: Hannes Reinecke
---
block/scsi_ioctl.c| 10 +++---
Since the pktcdvd driver only supports request queues for which
struct scsi_request is the first member of their private request
data, refuse to register block layer queues for which the private
data is smaller than struct scsi_request.
References: commit 82ed4db499b8 ("block: split scsi_request
Instead of explicitly calling scsi_req_init(), let
blk_get_request() call that function from inside blk_rq_init().
Add an .initialize_rq_fn() callback function to the block drivers
that need it. Merge the IDE .init_rq_fn() function into
.initialize_rq_fn() because it is too small to keep it as a
The storvsc driver is the only SCSI LLD that uses driver-private
command data and that does not zero-initialize that data before
reading it. Make this driver consistent with the other SCSI LLDs
that use driver-private command data.
Signed-off-by: Bart Van Assche
Cc:
Since BSG only supports request queues for which struct scsi_request
is the first member of their private request data, refuse to register
block layer queues for which the private data is smaller than struct
scsi_request.
References: commit bd1599d931ca ("scsi_transport_sas: fix BSG ioctl memory
Initialize struct scsi_cmnd.request from inside scsi_initialize_rq()
instead of every time a request is prepared. Note: moving the tag
initialization into scsi_initialize_rq() is not possible because
the single-queue block layer only assigns a tag to a request after
a request has been started.
Instead of clearing most of struct scsi_cmnd and reinitializing
it, rely on scsi_initialize_rq() for initialization of struct
scsi_cmnd. This patch fixes a bug, namely that it avoids that
jiffies_at_alloc gets overwritten if a request is requeued.
Signed-off-by: Bart Van Assche
This patch is a preparation for the next patch that will zero
the struct scsi_request embedded in struct scsi_cmnd before
calling scsi_req_init().
Signed-off-by: Bart Van Assche
Cc: Christoph Hellwig
Cc: Hannes Reinecke
---
Move the initializations that only have to be performed once and
not every time a request is prepared from scsi_init_command()
into scsi_initialize_rq(). This patch also moves the
jiffies_at_alloc assignment such that it gets back the meaning it
had before commit e9c787e65c0c, namely the value of
Just like for the scsi-mq code path, in the single queue SCSI code
path only add commands to the per-device command list if required
by the SCSI LLD. This patch will make it easier to merge the
single-queue and multiqueue command initialization code.
Signed-off-by: Bart Van Assche
Since using scsi_req() is only allowed against request queues for which
struct scsi_request is the first member of their private request
data, refuse to register block layer queues for which the private
data is smaller than struct scsi_request.
References: commit 82ed4db499b8 ("block: split
This simplifies the memset() call in scsi_initialize_rq() and avoids
that any stale data is left behind in struct scsi_request.
Signed-off-by: Bart Van Assche
Cc: Christoph Hellwig
Cc: Hannes Reinecke
---
drivers/scsi/scsi_lib.c | 6
The two drivers that use the per-device command list, namely aacraid
and dpt_i2o, expect that that list contains only SCSI commands and
no task management functions. Hence only call scsi_add_cmd_to_list()
from the block layer prep callback functions and not from
scsi_ioctl_reset().
Signed-off-by:
Several block drivers need to initialize the driver-private data
after having called blk_get_request() and before .prep_rq_fn() is
called, e.g. when submitting a REQ_OP_SCSI_* request. Avoid that
that initialization code has to be repeated after every
blk_get_request() call by adding a new
A later patch will add a call to a request initialization function
into blk_rq_init(). Hence make sure that all blk_rq_init() calls
specify the request queue pointer. Since TMF callback functions in
SCSI LLD drivers do not use request.q, this patch does not change
the behavior of any SCSI driver.
Hello Martin and James,
The patches in this series unify scsi-mq and scsi-sq request initialization,
significantly simplify request initialization and fix a recently introduced
bug in the request initialization code. Please consider these patches for
kernel v4.13.
Thanks,
Bart.
Bart Van Assche
This function will be used by later patches in this series.
Signed-off-by: Bart Van Assche
Cc: Jens Axboe
Cc: Christoph Hellwig
Cc: Omar Sandoval
Cc: Hannes Reinecke
Cc: linux-bl...@vger.kernel.org
---
Add a regression test for commit 48ae8484e9fc ("scsi: sg: don't return
bogus Sg_requests"). This is a general protection fault triggered by
syzcaller via issuing bogus read(2)s on the /dev/sg devices.
Signed-off-by: Johannes Thumshirn
---
tests/sg/001 | 47
Add the ability to build test cases from C files. This is handy for
things like syzcaller reproducers and all other kinds of test
binaries.
Signed-off-by: Johannes Thumshirn
---
Makefile | 26 +++-
src/.gitignore | 1 +
src/Makefile | 16 +++
src/sg-001.c | 438
Add a test group for tests of the SCSI generic driver and and
functions common to the SCSI generic driver and it's test cases.
Signed-off-by: Johannes Thumshirn
---
common/sg | 41 +
tests/sg/group | 28
Add a test group for the SCSI generic driver and one syzcaller
reproducer for this group.
The reprodcuer is distributed as a C program, so the makefile is
amended to build C files to be used in the test.
Changes to v1:
* Stripped left over TODO comment
* Modified reproducer to accept a device
ACK as far as I'm concerned.--b.
On Fri, May 19, 2017 at 11:30:03AM -0700, Bart Van Assche wrote:
> Since using scsi_req() is only allowed against request queues for which
> struct scsi_request is the first member of their private request
> data, refuse to register block layer queues for which
On 05/19/2017 12:46 AM, Omar Sandoval wrote:
> Looking at this some more, it seems like the syzkaller reproducer always
> bangs on /dev/sg0. How hard would it be to adapt it to run on the sg
> device for every test device instead?
Can't be too hard I guess ;-).
Maybe I can even clean it up a bit
Hi Martin,
This series contains bug fixes and cleanups for the driver that we posted in
4.11.
Patches 1-10 needs to go in 4.12.0-rcX. Rest of the patches can be queued to
for-next branch.
Please let me know if the series is okay to be included in 4.12.0-rcX. if we
are too late
for big
From: Quinn Tran
Remove redundant fc_host_port_name calls to prevent
early access of scsi_host->shost_data buffer. This
prevent null pointer access.
Cc:
Signed-off-by: Quinn Tran
Signed-off-by: Himanshu Madhani
From: Quinn Tran
Add missing memory dump of Exchange Offload and Extended
login into FW dump.
Cc:
Signed-off-by: Quinn Tran
Signed-off-by: Himanshu Madhani
---
drivers/scsi/qla2xxx/qla_dbg.c
From: Quinn Tran
Assign unique id to all traces and logs for debug purpose.
Minor cleanup of indentation and spacing around traces and logs.
Signed-off-by: Quinn Tran
Signed-off-by: Himanshu Madhani
---
From: Sawan Chandak
There is already flag defined PFLG_DISCONNECTED, which is set
for PCI or register disconnect error condition. There is no need to have
flag PCI_ERR, which has same purpose. Remove use of PCI_ERR flag and use
PFLG_DISCONNECTED flag during error
From: Quinn Tran
qla2xxx driver lives in interrupt context. Remove
spin_lock usage to prevent leaving CPU in a strange
state.
Cc:
Signed-off-by: Quinn Tran
Signed-off-by: Himanshu Madhani
---
From: Joe Carnuccio
Cc:
Signed-off-by: Joe Carnuccio
Signed-off-by: Himanshu Madhani
---
drivers/scsi/qla2xxx/qla_tmpl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
From: Quinn Tran
Allow ABTS RX, RIDA to be moved to ATIO Queue only for
ISP83XX and ISP27XX.
Cc:
Signed-off-by: Quinn Tran
Signed-off-by: Himanshu Madhani
---
drivers/scsi/qla2xxx/qla_init.c |
From: Joe Carnuccio
Fixes following signature in the stack trace:
BUG: unable to handle kernel NULL pointer dereference at 0374
IP: [] qla2x00_sp_free_dma+0xeb/0x2a0 [qla2xxx]
Cc:
Signed-off-by: Joe Carnuccio
From: Joe Carnuccio
Retain loop test for fwdump length exceeding buffer length.
Cc:
Signed-off-by: Joe Carnuccio
Signed-off-by: Himanshu Madhani
---
drivers/scsi/qla2xxx/qla_init.c | 8
From: Joe Carnuccio
Cc:
Signed-off-by: Joe Carnuccio
Signed-off-by: Himanshu Madhani
---
drivers/scsi/qla2xxx/qla_dbg.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff
From: Sawan Chandak
when driver is loaded with Multi Queue enabled, it was
noticed that there was one less queue pair created.
Following message would indicate this
"No resources to create additional q pair."
The result of one less queue pair means that system can
From: Joe Carnuccio
Set bit (BIT_15) to send right ECHO payload information
for Diagnostic Echo Test command.
Signed-off-by: Joe Carnuccio
Signed-off-by: Himanshu Madhani
---
drivers/scsi/qla2xxx/qla_bsg.c | 9
From: Quinn Tran
Replace driver parameters ql2xexchoffld & ql_dm_tgt_ex_pct with
ql2xtgtexchg & ql2xiniexchg for readability.
Previously, the ql2xexchoffld module parameter was used to control
the max number of exchanges to be offload onto host memory.
Module parameter
From: Quinn Tran
If the port is moved/changed, current code would trigger
a deletion. If the port is already deleted, then do relogin.
Cc:
Signed-off-by: Quinn Tran
Signed-off-by: Himanshu Madhani
From: Quinn Tran
Convert 32bit LUN field to 64bit LUN.
Signed-off-by: Quinn Tran
Signed-off-by: Himanshu Madhani
---
drivers/scsi/qla2xxx/qla_target.c | 30 +-
Following messages are seen into system logs
qla2xxx [:09:00.0]-00af:9: Performing ISP error recovery -
ha=98315ee3.
qla2xxx [:09:00.0]-504b:9: RISC paused -- HCCR=40, Dumping firmware.
qla2xxx [:09:00.0]-d009:9: Firmware has been previously dumped
(ba488c001000) --
This is the first sweep of mostly minor fixes. There's one security
one: the read past the end of a buffer in qedf, and a panic fix for
lpfc SLI-3 adapters, but the rest are a set of include and build
dependency tidy ups and assorted other small fixes and updates.
The patch is available here:
From: Quinn Tran
Register read is expensive in IO path, remove extra register
read in each interrupt processing to improve performance.
Signed-off-by: Quinn Tran
Signed-off-by: Himanshu Madhani
---
From: Quinn Tran
When driver is unloaded, all sessions are torn down, all
commmands are flushed, chip is reset to ensure there is
no knowledge of target mode in ISP. The irq_cmd_count field
was used to make sure all commands are processed on top of that.
The irq_cmd_count
From: Quinn Tran
Accelerate generation of SCSI busy to let initiators slow
down when target is running low in resources.
Signed-off-by: Quinn Tran
Signed-off-by: Himanshu Madhani
---
drivers/scsi/qla2xxx/qla_init.c |
From: Joe Carnuccio
Signed-off-by: Joe Carnuccio
Signed-off-by: Himanshu Madhani
---
drivers/scsi/qla2xxx/qla_attr.c | 4 +-
drivers/scsi/qla2xxx/qla_bsg.c| 15 +++
drivers/scsi/qla2xxx/qla_gs.c |
On Fri, 2017-05-19 at 09:36 +, Dashi DS1 Cao wrote:
> It seems there is a race of multiple "fc_starget_delete" of the same rport,
> thus of the same SCSI host. The race leads to the race of scsi_remove_target
> and it cannot be prevented by the code snippet alone, even of the most recent
>
From: Quinn Tran
In case of hardware queue full, commands can loop between
TCM stack and tcm_qla2xx shim layers for retry. While command
is waiting for retry, task mgmt can get ahead and abort the
cmmand that encountered queue full condition. Fix this by
dropping the
From: Quinn Tran
Name server login is normally handle by FW. In some
rare case where one of the switches is being updated,
name server login could get affected. Trigger relogin
to name server when driver detects this condition.
Signed-off-by: Quinn Tran
From: Quinn Tran
During ABTS or Abort task, qla2xxx does a pre-search for
the se_cmd, based on command's tag. The same search is
performed by TCM. Remove the extra search from qla2xxx.
Signed-off-by: Quinn Tran
Signed-off-by: Himanshu Madhani
From: Quinn Tran
Current code already destroy all target sessions when
target Mode is stopped. Target core would waits for
all commands that belong to each session to purge.
The extra wait for interrupts to settle down is not
relevant.
stop phase 2 is not using the
On Fri, 2017-05-19 at 14:06 +0200, Artem Savkov wrote:
> rdac_failover_get references struct rdac_controller as
> ctlr->ms_sdev->handler_data->ctlr for no apparent reason. Besides being
> inefficient this also introduces a null-pointer dereference as
> send_mode_select() sets ctlr->ms_sdev to NULL
On Fri, 2017-05-19 at 14:53 -0700, Himanshu Madhani wrote:
> From: Quinn Tran
>
> Remove redundant fc_host_port_name calls to prevent
> early access of scsi_host->shost_data buffer. This
> prevent null pointer access.
>
> Cc:
> Signed-off-by:
On Fri, 2017-05-19 at 14:53 -0700, Himanshu Madhani wrote:
> From: Quinn Tran
>
> Allow ABTS RX, RIDA to be moved to ATIO Queue only for
> ISP83XX and ISP27XX.
Hello Himanshu,
Sorry but this description sounds rather mysterious to me?
Bart.
The lpfc_nvmeio_data() tracing helper always takes a format string and
three additional arguments. The latest caller has a format string with
only two integer arguments, causing this harmless warning:
drivers/scsi/lpfc/lpfc_nvmet.c: In function 'lpfc_nvmet_xmt_fcp_release':
On Fri, 2017-05-19 at 14:53 -0700, Himanshu Madhani wrote:
> From: Quinn Tran
>
> qla2xxx driver lives in interrupt context. Remove
> spin_lock usage to prevent leaving CPU in a strange
> state.
Hello Himanshu and Quinn,
Did you perhaps mean that the command lists can be
On Fri, 2017-05-19 at 14:53 -0700, Himanshu Madhani wrote:
> @@ -1851,17 +1851,13 @@ static int __qlt_24xx_handle_abts(struct
> scsi_qla_host *vha,
> struct se_session *se_sess = sess->se_sess;
> struct qla_tgt_mgmt_cmd *mcmd;
> struct se_cmd *se_cmd;
> - u32 lun = 0;
>
On Fri, 2017-05-19 at 14:53 -0700, Himanshu Madhani wrote:
> [ ... ]
> -int ql2xexchoffld = 0;
> -module_param(ql2xexchoffld, uint, S_IRUGO|S_IWUSR);
> -MODULE_PARM_DESC(ql2xexchoffld,
> - "Number of exchanges to offload. "
> - "0 (Default)- Disabled.");
> +int
On Fri, 2017-05-19 at 14:53 -0700, Himanshu Madhani wrote:
> diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c
> index 7c8d6c54ab70..a7ac81b473a4 100644
> --- a/drivers/scsi/qla2xxx/qla_attr.c
> +++ b/drivers/scsi/qla2xxx/qla_attr.c
> @@ -44,7 +44,7 @@
On Fri, 2017-05-19 at 14:53 -0700, Himanshu Madhani wrote:
> From: Quinn Tran
>
> During ABTS or Abort task, qla2xxx does a pre-search for
> the se_cmd, based on command's tag. The same search is
> performed by TCM. Remove the extra search from qla2xxx.
>
> Signed-off-by:
76 matches
Mail list logo